diff options
author | Johan Dahlin <johan@gnome.org> | 2007-03-17 13:36:48 +0000 |
---|---|---|
committer | Johan Dahlin <johan@gnome.org> | 2007-03-17 13:36:48 +0000 |
commit | 51baae336ca8ad2182131b58c3be0d9933d2cb05 (patch) | |
tree | 9a011e16add803ca78af6fe026b944e5229293cb | |
parent | e8b581108dd40c2eeb2e470f1bb5173ff8e0872b (diff) |
Implement sq_contains and add tests for gst.TagList.
Original commit message from CVS:
* gst/gsttaglist.override (_wrap_gst_tag_list_contains):
* testsuite/test_taglist.py (TestTagList.testKeys):
Implement sq_contains and add tests for gst.TagList.
-rw-r--r-- | ChangeLog | 7 | ||||
m--------- | common | 0 | ||||
-rw-r--r-- | gst/gsttaglist.override | 22 | ||||
-rw-r--r-- | testsuite/Makefile.am | 1 | ||||
-rw-r--r-- | testsuite/test_taglist.py | 45 |
5 files changed, 75 insertions, 0 deletions
@@ -1,3 +1,10 @@ +2007-03-17 Johan Dahlin <jdahlin@async.com.br> + + * gst/gsttaglist.override (_wrap_gst_tag_list_contains): + * testsuite/test_taglist.py (TestTagList.testKeys): + + Implement sq_contains and add tests for TagList. + 2007-03-02 Edward Hervey <edward@fluendo.com> * gst/__init__.py: diff --git a/common b/common -Subproject 9a56e28fc15440eb6852411321c46312e1d1bb7 +Subproject dec151d15512e4cca2dcdd36d9c6c4a2185760e diff --git a/gst/gsttaglist.override b/gst/gsttaglist.override index 51ddccf..04d7e2c 100644 --- a/gst/gsttaglist.override +++ b/gst/gsttaglist.override @@ -117,3 +117,25 @@ static PyMappingMethods _wrap_gst_tag_list_tp_as_mapping = { (binaryfunc)_wrap_gst_tag_list_subscript, /* mp_subscript */ (objobjargproc)_wrap_gst_tag_list_ass_subscript /* mp_ass_subscript */ }; +%% +override-slot GstTagList.tp_as_sequence +static int +_wrap_gst_tag_list_contains(PyGObject *self, PyObject *py_key) +{ + return gst_structure_has_field((GstStructure*)self->obj, + PyString_AsString(py_key)); +} + +static PySequenceMethods _wrap_gst_tag_list_tp_as_sequence = { + (inquiry)NULL, + (binaryfunc)NULL, + (intargfunc)NULL, + (intargfunc)NULL, + (intintargfunc)NULL, + (intobjargproc)NULL, + (intintobjargproc)NULL, + (objobjproc)_wrap_gst_tag_list_contains, + (binaryfunc)NULL, + (intargfunc)NULL, +}; + diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am index d8fd3f6..d313ce9 100644 --- a/testsuite/Makefile.am +++ b/testsuite/Makefile.am @@ -32,6 +32,7 @@ tests = \ test_registry.py \ test_struct.py \ test_segment.py \ + test_taglist.py \ test_xml.py check-local: testhelper.la diff --git a/testsuite/test_taglist.py b/testsuite/test_taglist.py new file mode 100644 index 0000000..c9c0a41 --- /dev/null +++ b/testsuite/test_taglist.py @@ -0,0 +1,45 @@ +# -*- Mode: Python -*- +# vi:si:et:sw=4:sts=4:ts=4 +# +# gst-python - Python bindings for GStreamer +# Copyright (C) 2007 Johan Dahlin +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +from common import gst, TestCase + + +class TestTagList(TestCase): + def testContains(self): + taglist = gst.TagList() + self.failIf('key' in taglist) + taglist['key'] = 'value' + self.failUnless('key' in taglist) + + def testLength(self): + taglist = gst.TagList() + self.assertEqual(len(taglist), 0) + taglist['key1'] = 'value' + taglist['key2'] = 'value' + self.assertEqual(len(taglist), 2) + + def testKeys(self): + taglist = gst.TagList() + self.assertEqual(taglist.keys(), []) + taglist['key1'] = 'value' + taglist['key2'] = 'value' + keys = taglist.keys() + keys.sort() + self.assertEqual(keys, ['key1', 'key2']) |