예제 #1
0
파일: test_options.py 프로젝트: tanty/grilo
    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"))
예제 #2
0
파일: test_options.py 프로젝트: tanty/grilo
 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))
예제 #3
0
파일: test_options.py 프로젝트: tanty/grilo
    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))
예제 #4
0
파일: test_options.py 프로젝트: tanty/grilo
    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))
예제 #5
0
파일: test_options.py 프로젝트: tanty/grilo
 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)
예제 #6
0
파일: test_options.py 프로젝트: tanty/grilo
 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)
예제 #7
0
파일: test_options.py 프로젝트: tanty/grilo
 def test_creation(self):
     caps = Grl.Caps()
     self.assertFalse(caps is None)