summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Dahlin <johan@src.gnome.org>2006-04-02 15:35:51 +0000
committerJohan Dahlin <johan@src.gnome.org>2006-04-02 15:35:51 +0000
commitadb4406c37c8d1cb5b17926849067c67260472b3 (patch)
treeca1fad1f447b29c2db6ad5601478a33648c9ea84
parentd142c5cb7ff5ddbb097f273f1983aca0243eff10 (diff)
downloadpygtk-adb4406c37c8d1cb5b17926849067c67260472b3.tar.gz
Set default markup accel marker to \x00, add tests, Fixes #329658 (Johan
* pango.override: * tests/Makefile.am: * tests/test_pango.py: Set default markup accel marker to \x00, add tests, Fixes #329658 (Johan Svedberg)
-rw-r--r--ChangeLog9
-rw-r--r--pango.override18
-rw-r--r--tests/Makefile.am2
-rw-r--r--tests/test_pango.py9
4 files changed, 31 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index aa3533d8..467b33b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-04-02 Johan Dahlin <johan@gnome.org>
+
+ * pango.override:
+ * tests/Makefile.am:
+ * tests/test_pango.py:
+
+ Set default markup accel marker to \x00, add tests,
+ Fixes #329658 (Johan Svedberg)
+
2006-04-02 Ben Caradoc-Davies <ben@wintersun.org>
reviewed by: Johan
diff --git a/pango.override b/pango.override
index 37e17adf..4ebc46b9 100644
--- a/pango.override
+++ b/pango.override
@@ -1324,7 +1324,7 @@ _wrap_pango_parse_markup(PyObject *self, PyObject *args, PyObject *kwargs)
static char *kwlist[] = { "markup_text", "accel_marker", NULL };
char *markup_text, *text = NULL;
gint length;
- Py_UNICODE *py_accel_marker, py_accel_char;
+ Py_UNICODE *py_accel_marker = NULL, py_accel_char;
gint py_accel_marker_len;
gunichar accel_marker, accel_char = 0;
PangoAttrList *attr_list = NULL;
@@ -1332,15 +1332,19 @@ _wrap_pango_parse_markup(PyObject *self, PyObject *args, PyObject *kwargs)
gboolean ret;
PyObject *py_ret;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#u#:pango.parse_markup",
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s#|u#:pango.parse_markup",
kwlist, &markup_text, &length,
&py_accel_marker, &py_accel_marker_len))
return NULL;
- if (py_accel_marker_len != 1) {
- PyErr_SetString(PyExc_TypeError, "accel_mark must be one character");
- return NULL;
- }
- accel_marker = py_accel_marker[0];
+ if (py_accel_marker != NULL) {
+ if (py_accel_marker_len != 1) {
+ PyErr_SetString(PyExc_TypeError, "accel_mark must be one character");
+ return NULL;
+ }
+ accel_marker = py_accel_marker[0];
+ } else
+ accel_marker = 0;
+
ret = pango_parse_markup(markup_text, length, accel_marker,
&attr_list, &text, &accel_char, &error);
if (pyg_error_check(&error))
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 7b450ad3..56dd262d 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -6,7 +6,9 @@ tests = \
test_dialog.py \
test_enum.py \
test_gdk.py \
+ test_pango.py \
test_radiobutton.py \
+ test_style.py \
test_textview.py
check-local: $(top_srcdir)/gtk/__init__.py
diff --git a/tests/test_pango.py b/tests/test_pango.py
new file mode 100644
index 00000000..6d48dd52
--- /dev/null
+++ b/tests/test_pango.py
@@ -0,0 +1,9 @@
+import unittest
+
+from common import pango
+
+class MarkupTest(unittest.TestCase):
+ def testMarkupAccelMarker(self):
+ self.assertRaises(TypeError, pango.parse_markup, 'test', 0)
+ self.assertEqual(pango.parse_markup('test')[2], u'\x00')
+ self.assertEqual(pango.parse_markup('test', u't')[2], u'e')