diff options
author | Guillaume Emont <guijemont@igalia.com> | 2011-12-14 18:16:18 +0100 |
---|---|---|
committer | Juan A. Suarez Romero <jasuarez@igalia.com> | 2012-06-19 09:06:59 +0200 |
commit | a617a92863b724c887820decd8ac3324b5291519 (patch) | |
tree | f030c8d2b01e3a91949f7d1ecbdce8eaa1cf509c /tests | |
parent | 8fd23c30b38198a26be6857c1286015d66e55fff (diff) | |
download | grilo-a617a92863b724c887820decd8ac3324b5291519.tar.gz |
tests: added tests of type filtering for caps
Diffstat (limited to 'tests')
-rw-r--r-- | tests/python/test_options.py | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/python/test_options.py b/tests/python/test_options.py index 12c0c60..71f9e2c 100644 --- a/tests/python/test_options.py +++ b/tests/python/test_options.py @@ -16,6 +16,7 @@ except TypeError: # (e.g. by using a GDateTime) from gi.repository import GLib +OPTION_TYPE_FILTER = "type-filter" class TestCaps(unittest.TestCase): def test_creation(self): @@ -29,6 +30,22 @@ class TestCaps(unittest.TestCase): self.assertTrue(caps.test_option(key, 0), "test_option() returned False for %s" % key) + def test_type_filter(self): + caps = Grl.Caps() + # test default value + self.assertEqual(caps.get_type_filter(), Grl.TypeFilter.NONE) + + self.assertTrue(caps.test_option(OPTION_TYPE_FILTER, Grl.TypeFilter.NONE)) + self.assertFalse(caps.test_option(OPTION_TYPE_FILTER, Grl.TypeFilter.AUDIO)) + + caps.set_type_filter(Grl.TypeFilter.VIDEO) + self.assertEqual(caps.get_type_filter(), Grl.TypeFilter.VIDEO) + self.assertTrue(caps.test_option(OPTION_TYPE_FILTER, Grl.TypeFilter.NONE)) + self.assertTrue(caps.test_option(OPTION_TYPE_FILTER, Grl.TypeFilter.VIDEO)) + self.assertFalse(caps.test_option(OPTION_TYPE_FILTER, Grl.TypeFilter.AUDIO)) + self.assertFalse(caps.test_option(OPTION_TYPE_FILTER, + Grl.TypeFilter.AUDIO | Grl.TypeFilter.VIDEO)) + class TestOptions(unittest.TestCase): def test_creation(self): @@ -44,6 +61,7 @@ class TestOptions(unittest.TestCase): self.assertEqual(options.get_count(), Grl.COUNT_INFINITY) self.assertEqual(options.get_flags(), Grl.MetadataResolutionFlags.NORMAL) + self.assertEqual(options.get_type_filter(), Grl.TypeFilter.ALL) def test_value_setting_no_caps(self): @@ -60,6 +78,49 @@ class TestOptions(unittest.TestCase): options.set_flags(flags) self.assertEqual(options.get_flags(), flags) + fltr = Grl.TypeFilter.AUDIO | Grl.TypeFilter.VIDEO + options.set_type_filter(fltr) + self.assertEqual(options.get_type_filter(), fltr) + + def test_caps(self): + caps = Grl.Caps() + caps.set_type_filter(Grl.TypeFilter.VIDEO) + options = Grl.OperationOptions.new(caps) + self.assertTrue(options.set_type_filter(Grl.TypeFilter.VIDEO)) + self.assertFalse(options.set_type_filter(Grl.TypeFilter.AUDIO)) + self.assertFalse(options.set_type_filter(Grl.TypeFilter.IMAGE)) + + # now with other caps, test obey_caps() + caps2 = Grl.Caps() + caps2.set_type_filter(Grl.TypeFilter.AUDIO) + ret, supported, unsupported = options.obey_caps(caps2) + self.assertFalse(ret) + self.assertFalse(supported.key_is_set(Grl.OPERATION_OPTION_SKIP)) + self.assertFalse(supported.key_is_set(Grl.OPERATION_OPTION_COUNT)) + self.assertFalse(supported.key_is_set(Grl.OPERATION_OPTION_FLAGS)) + self.assertFalse(supported.key_is_set(OPTION_TYPE_FILTER)) + + self.assertFalse(unsupported.key_is_set(Grl.OPERATION_OPTION_SKIP)) + self.assertFalse(unsupported.key_is_set(Grl.OPERATION_OPTION_COUNT)) + self.assertFalse(unsupported.key_is_set(Grl.OPERATION_OPTION_FLAGS)) + self.assertTrue(unsupported.key_is_set(OPTION_TYPE_FILTER)) + self.assertEqual(unsupported.get_type_filter(), Grl.TypeFilter.VIDEO) + + caps3 = Grl.Caps() + caps3.set_type_filter(Grl.TypeFilter.VIDEO) + ret, supported, unsupported = options.obey_caps(caps3) + self.assertTrue(ret) + self.assertFalse(supported.key_is_set(Grl.OPERATION_OPTION_SKIP)) + self.assertFalse(supported.key_is_set(Grl.OPERATION_OPTION_COUNT)) + self.assertFalse(supported.key_is_set(Grl.OPERATION_OPTION_FLAGS)) + self.assertTrue(supported.key_is_set(OPTION_TYPE_FILTER)) + self.assertEqual(supported.get_type_filter(), Grl.TypeFilter.VIDEO) + + self.assertFalse(unsupported.key_is_set(Grl.OPERATION_OPTION_SKIP)) + self.assertFalse(unsupported.key_is_set(Grl.OPERATION_OPTION_COUNT)) + self.assertFalse(unsupported.key_is_set(Grl.OPERATION_OPTION_FLAGS)) + self.assertFalse(unsupported.key_is_set(OPTION_TYPE_FILTER)) + class TestFileSystem(unittest.TestCase): def __init__(self, method_name): |