def test_key_filters_with_caps(self): caps = Grl.Caps() release_date = GLib.DateTime.new_utc(1994, 1, 1, 12, 0, 0) caps.set_key_filter( [Grl.METADATA_KEY_ARTIST, Grl.METADATA_KEY_CREATION_DATE]) options = Grl.OperationOptions.new(caps) self.assertTrue( options.set_key_filter_value(Grl.METADATA_KEY_ARTIST, "NOFX")) self.assertFalse( options.set_key_filter_value(Grl.METADATA_KEY_ALBUM, "Punk in Drublic")) self.assertTrue( options.set_key_filter_value(Grl.METADATA_KEY_CREATION_DATE, release_date)) filter_list = options.get_key_filter_list() filter_list.sort() expected_filters = [ Grl.METADATA_KEY_ARTIST, Grl.METADATA_KEY_CREATION_DATE ] expected_filters.sort() self.assertEqual(filter_list, expected_filters) self.assertEqual(options.get_key_filter(Grl.METADATA_KEY_ARTIST), "NOFX") self.assertEqual(options.get_key_filter(Grl.METADATA_KEY_ALBUM), None) filter_date = options.get_key_filter(Grl.METADATA_KEY_CREATION_DATE) self.assertTrue(filter_date is not None) self.assertEqual(filter_date.format("%FT%H:%M:%S:%Z"), release_date.format("%FT%H:%M:%S:%Z"))
def test_key_filter(self): caps = Grl.Caps() self.assertEqual(caps.get_key_filter(), []) keys = [Grl.METADATA_KEY_ARTIST, Grl.METADATA_KEY_ALBUM] caps.set_key_filter(keys) self.assertEqual(caps.get_key_filter(), keys) self.assertTrue(caps.is_key_filter(Grl.METADATA_KEY_ARTIST)) self.assertTrue(caps.is_key_filter(Grl.METADATA_KEY_ALBUM)) self.assertFalse(caps.is_key_filter(Grl.METADATA_KEY_INVALID)) self.assertFalse(caps.is_key_filter( Grl.METADATA_KEY_MODIFICATION_DATE))
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))
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))
def test_creation(self): caps = Grl.Caps() self.assertFalse(caps is None) options = Grl.OperationOptions.new(caps) self.assertFalse(options is None) self.assertFalse(Grl.OperationOptions() is None)
def test_mandatory_options(self): return None caps = Grl.Caps() for key in ("skip", "count", "flags"): self.assertTrue(caps.test_option(key, 0), "test_option() returned False for %s" % key)
def test_creation(self): caps = Grl.Caps() self.assertFalse(caps is None)