[totem-pl-parser] Add test case for bug 602127



commit 0410d8f1dbc9be8d8ad1e09cac4ef17d5099adeb
Author: Bastien Nocera <hadess hadess net>
Date:   Fri Dec 4 13:24:21 2009 +0000

    Add test case for bug 602127

 plparse/tests/602127.qtl |    2 ++
 plparse/tests/parser.c   |   40 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+), 0 deletions(-)
---
diff --git a/plparse/tests/602127.qtl b/plparse/tests/602127.qtl
new file mode 100644
index 0000000..292de67
--- /dev/null
+++ b/plparse/tests/602127.qtl
@@ -0,0 +1,2 @@
+RTSPtext
+rtsp://host.org/video.mp4
diff --git a/plparse/tests/parser.c b/plparse/tests/parser.c
index 6502d39..bf37c5e 100644
--- a/plparse/tests/parser.c
+++ b/plparse/tests/parser.c
@@ -213,6 +213,38 @@ test_parsability (void)
 	}
 }
 
+static void
+entry_parsed_cb (TotemPlParser *parser,
+		 const char *uri,
+		 GHashTable *metadata,
+		 char **ret)
+{
+	if (*ret == NULL)
+		*ret = g_strdup (uri);
+}
+
+static char *
+parser_test_get_parse_result (const char *uri)
+{
+	TotemPlParserResult retval;
+	char *ret = NULL;
+	TotemPlParser *pl = totem_pl_parser_new ();
+
+	g_object_set (pl, "recurse", !option_no_recurse,
+			  "debug", option_debug,
+			  "force", option_force,
+			  "disable-unsafe", option_disable_unsafe,
+			  NULL);
+	g_signal_connect (G_OBJECT (pl), "entry-parsed",
+			  G_CALLBACK (entry_parsed_cb), &ret);
+
+	retval = totem_pl_parser_parse_with_base (pl, uri, option_base_uri, FALSE);
+	g_test_message ("Got retval %d for uri '%s'", retval, uri);
+	g_object_unref (pl);
+
+	return ret;
+}
+
 static TotemPlParserResult
 simple_parser_test (const char *uri)
 {
@@ -233,6 +265,13 @@ simple_parser_test (const char *uri)
 }
 
 static void
+test_parsing_rtsp_text (void)
+{
+	g_test_bug ("602127");
+	g_assert_cmpstr (parser_test_get_parse_result ("file://" TEST_FILE_DIR "602127.qtl"), ==, "rtsp://host.org/video.mp4");
+}
+
+static void
 test_parsing_hadess (void)
 {
 	if (g_strcmp0 (g_get_user_name (), "hadess"))
@@ -441,6 +480,7 @@ main (int argc, char *argv[])
 		g_test_add_func ("/parser/parsing/404_error", test_parsing_404_error);
 		g_test_add_func ("/parser/parsing/xml_head_comments", test_parsing_xml_head_comments);
 		g_test_add_func ("/parser/parsing/xml_comment_whitespace", test_parsing_xml_comment_whitespace);
+		g_test_add_func ("/parser/parsing/multi_line_rtsptext", test_parsing_rtsp_text);
 
 		return g_test_run ();
 	}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]