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