1
2from PyObjCTools.TestSupport import *
3from Quartz.QuartzComposer import *
4
5try:
6    unicode
7except NameError:
8    unicode = str
9
10class TestQCPlugIn (TestCase):
11    @min_os_level('10.5')
12    def testConstants10_5(self):
13        self.assertIsInstance(QCPlugInAttributeNameKey, unicode)
14        self.assertIsInstance(QCPlugInAttributeDescriptionKey, unicode)
15        self.assertIsInstance(QCPlugInAttributeCopyrightKey, unicode)
16
17        self.assertIsInstance(QCPortAttributeDefaultValueKey, unicode)
18        self.assertIsInstance(QCPortAttributeMenuItemsKey, unicode)
19        self.assertIsInstance(QCPlugInPixelFormatARGB8, unicode)
20        self.assertIsInstance(QCPlugInPixelFormatBGRA8, unicode)
21        self.assertIsInstance(QCPlugInPixelFormatRGBAf, unicode)
22        self.assertIsInstance(QCPlugInPixelFormatI8, unicode)
23        self.assertIsInstance(QCPlugInPixelFormatIf, unicode)
24        self.assertIsInstance(QCPlugInExecutionArgumentEventKey, unicode)
25        self.assertIsInstance(QCPlugInExecutionArgumentMouseLocationKey, unicode)
26
27        self.assertEqual(kQCPlugInExecutionModeProvider, 1)
28        self.assertEqual(kQCPlugInExecutionModeProcessor, 2)
29        self.assertEqual(kQCPlugInExecutionModeConsumer, 3)
30
31        self.assertEqual(kQCPlugInTimeModeNone, 0)
32        self.assertEqual(kQCPlugInTimeModeIdle, 1)
33        self.assertEqual(kQCPlugInTimeModeTimeBase, 2)
34
35    @min_os_level('10.7')
36    def testConstants10_7(self):
37        self.assertIsInstance(QCPlugInAttributeCategoriesKey, unicode)
38        self.assertIsInstance(QCPlugInAttributeExamplesKey, unicode)
39
40
41    def testConstants(self):
42        self.assertIsInstance(QCPortAttributeTypeKey, unicode)
43        self.assertIsInstance(QCPortAttributeNameKey, unicode)
44        self.assertIsInstance(QCPortAttributeMinimumValueKey, unicode)
45        self.assertIsInstance(QCPortAttributeMaximumValueKey, unicode)
46        self.assertIsInstance(QCPortTypeBoolean, unicode)
47        self.assertIsInstance(QCPortTypeIndex, unicode)
48        self.assertIsInstance(QCPortTypeNumber, unicode)
49        self.assertIsInstance(QCPortTypeString, unicode)
50        self.assertIsInstance(QCPortTypeColor, unicode)
51        self.assertIsInstance(QCPortTypeImage, unicode)
52        self.assertIsInstance(QCPortTypeStructure, unicode)
53
54
55    @min_os_level('10.5')
56    def testMethods(self):
57        self.assertResultIsBOOL(QCPlugIn.startExecution_)
58        self.assertResultIsBOOL(QCPlugIn.execute_atTime_withArguments_)
59        self.assertResultIsBOOL(QCPlugIn.didValueForInputKeyChange_)
60        self.assertResultIsBOOL(QCPlugIn.setValue_forOutputKey_)
61        self.assertResultIsBOOL(QCPlugIn.loadPlugInAtPath_)
62
63    @expectedFailure
64    def testProtocols(self):
65        self.fail("Test interface for QCPlugInContext")
66
67if __name__ == "__main__":
68    main()
69