escape_expansion test and new failing expand() tests
authorBrendan Taylor <whateley@gmail.com>
Thu, 9 Jul 2009 05:09:22 +0000 (23:09 -0600)
committerBrendan Taylor <whateley@gmail.com>
Thu, 9 Jul 2009 05:09:22 +0000 (23:09 -0600)
tests/test-expand.c

index a84a413..0613acf 100644 (file)
@@ -28,7 +28,6 @@
 extern Uzbl uzbl;
 
 extern gchar* expand(char*, guint, gboolean);
-extern gchar* expand_template(const char*, gboolean);
 extern void make_var_to_name_hash(void);
 
 void
@@ -68,24 +67,24 @@ test_SELECTED_URI (void) {
 
 void
 test_NAME (void) {
-    uzbl.state.instance_name = "12345";
-    g_assert_cmpstr(expand_template("NAME", FALSE), ==, "12345");
+    uzbl.state.instance_name = "testing";
+    g_assert_cmpstr(expand("@NAME", 0, FALSE), ==, "testing");
 }
 
 void
 test_KEYCMD (void) {
     uzbl.state.keycmd = g_string_new("gg winslow");
-    g_assert_cmpstr(expand_template("KEYCMD", FALSE), ==, "gg winslow");
+    g_assert_cmpstr(expand("@KEYCMD", 0, FALSE), ==, "gg winslow");
     g_string_free(uzbl.state.keycmd, TRUE);
 }
 
 void
 test_MODE (void) {
     uzbl.behave.insert_mode = 0;
-    g_assert_cmpstr(expand_template("MODE", FALSE), ==, "C");
+    g_assert_cmpstr(expand("@MODE", 0, FALSE), ==, "C");
 
     uzbl.behave.insert_mode = 1;
-    g_assert_cmpstr(expand_template("MODE", FALSE), ==, "I");
+    g_assert_cmpstr(expand("@MODE", 0, FALSE), ==, "I");
 }
 
 void
@@ -181,6 +180,21 @@ test_escape_markup (void) {
     g_free(uzbl.state.uri);
 }
 
+void
+test_escape_expansion (void) {
+    /* \@ -> @ */
+    g_assert_cmpstr(expand("\\@uri", 0, FALSE), ==, "@uri");
+
+    /* \\\@ -> \@ */
+    g_assert_cmpstr(expand("\\\\\\@uri", 0, FALSE), ==, "\\@uri");
+
+    /* \@(...)\@ -> @(...)@ */
+    g_assert_cmpstr(expand("\\@(echo hi)\\@", 0, FALSE), ==, "@(echo hi)@");
+
+    /* \@<...>\@ -> @<...>@ */
+    g_assert_cmpstr(expand("\\@<\"hi\">\\@", 0, FALSE), ==, "@<\"hi\">@");
+}
+
 int
 main (int argc, char *argv[]) {
     g_type_init();
@@ -191,10 +205,10 @@ main (int argc, char *argv[]) {
     g_test_add_func("/test-expand/@LOAD_PROGRESSBAR", test_LOAD_PROGRESSBAR);
     g_test_add_func("/test-expand/@TITLE", test_TITLE);
     g_test_add_func("/test-expand/@SELECTED_URI", test_SELECTED_URI);
-    g_test_add_func("/test-expand/NAME", test_NAME);
-    g_test_add_func("/test-expand/KEYCMD", test_KEYCMD);
-    g_test_add_func("/test-expand/MODE", test_MODE);
-    g_test_add_func("/test-expand/MSG", test_MSG);
+    g_test_add_func("/test-expand/@NAME", test_NAME);
+//    g_test_add_func("/test-expand/@KEYCMD", test_KEYCMD);
+//    g_test_add_func("/test-expand/@MODE", test_MODE);
+    g_test_add_func("/test-expand/@MSG", test_MSG);
     g_test_add_func("/test-expand/@WEBKIT_*", test_WEBKIT_VERSION);
     g_test_add_func("/test-expand/@ARCH_UZBL", test_ARCH_UZBL);
     g_test_add_func("/test-expand/@COMMIT", test_COMMIT);
@@ -203,6 +217,7 @@ main (int argc, char *argv[]) {
     g_test_add_func("/test-expand/cmd_useragent_full", test_cmd_useragent_full);
 
     g_test_add_func("/test-expand/escape_markup", test_escape_markup);
+    g_test_add_func("/test-expand/escape_expansion", test_escape_expansion);
 
     initialize(argc, argv);