[glib/glib-2-32] Fix /contenttype/guess test
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/glib-2-32] Fix /contenttype/guess test
- Date: Sat, 14 Jul 2012 23:22:55 +0000 (UTC)
commit 4b8c6f9d026c343a7381c1004364bfa0175e1281
Author: Martin Pitt <martinpitt gnome org>
Date: Wed Jun 27 16:30:38 2012 +0200
Fix /contenttype/guess test
After fixing bug 674452 this test case now reliably fails, as "ABC abc" is text
and definitively not PowerPoint. It previously worked as g_content_type_guess()
was reading beyond the boundary of the data due to specifying -1 as data
length.
Update that test case to expect a PO template instead, and add two more with a
definitive PO template syntax and some binary data. We do not currently have a
MIME magic for PowerPoint, so we cannot actually detect it with certainty, but
at least make sure that the returned MIME type is correct.
https://bugzilla.gnome.org/show_bug.cgi?id=678941
gio/tests/contenttype.c | 19 ++++++++++++++++++-
1 files changed, 18 insertions(+), 1 deletions(-)
---
diff --git a/gio/tests/contenttype.c b/gio/tests/contenttype.c
index d194704..2226f7d 100644
--- a/gio/tests/contenttype.c
+++ b/gio/tests/contenttype.c
@@ -54,10 +54,27 @@ test_guess (void)
g_free (res);
g_free (expected);
+ /* this is potentially ambiguous: it does not match the PO template format,
+ * but looks like text so it can't be Powerpoint */
res = g_content_type_guess ("test.pot", (guchar *)"ABC abc", 7, &uncertain);
+ expected = g_content_type_from_mime_type ("text/x-gettext-translation-template");
+ g_assert (g_content_type_equals (expected, res));
+ g_assert (!uncertain);
+ g_free (res);
+ g_free (expected);
+
+ res = g_content_type_guess ("test.pot", (guchar *)"msgid \"", 7, &uncertain);
+ expected = g_content_type_from_mime_type ("text/x-gettext-translation-template");
+ g_assert (g_content_type_equals (expected, res));
+ g_assert (!uncertain);
+ g_free (res);
+ g_free (expected);
+
+ res = g_content_type_guess ("test.pot", (guchar *)"\xCF\xD0\xE0\x11", 4, &uncertain);
expected = g_content_type_from_mime_type ("application/vnd.ms-powerpoint");
g_assert (g_content_type_equals (expected, res));
- g_assert (uncertain);
+ /* we cannot reliably detect binary powerpoint files as long as there is no
+ * defined MIME magic, so do not check uncertain here */
g_free (res);
g_free (expected);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]