1 2from PyObjCTools.TestSupport import * 3from AppKit import * 4 5try: 6 unicode 7except NameError: 8 unicode = str 9 10try: 11 unichr 12except NameError: 13 unichr = chr 14 15class TestNSTextHelper (NSObject): 16 def textShouldBeginEditing_(self, t): return 1 17 def textShouldEndEditing_(self, t): return 1 18 19class TestNSText (TestCase): 20 def testConstants(self): 21 self.assertEqual(NSEnterCharacter, unichr(0x0003)) 22 self.assertEqual(NSBackspaceCharacter, unichr(0x0008)) 23 self.assertEqual(NSTabCharacter, unichr(0x0009)) 24 self.assertEqual(NSNewlineCharacter, unichr(0x000a)) 25 self.assertEqual(NSFormFeedCharacter, unichr(0x000c)) 26 self.assertEqual(NSCarriageReturnCharacter, unichr(0x000d)) 27 self.assertEqual(NSBackTabCharacter, unichr(0x0019)) 28 self.assertEqual(NSDeleteCharacter, unichr(0x007f)) 29 self.assertEqual(NSLineSeparatorCharacter, unichr(0x2028)) 30 self.assertEqual(NSParagraphSeparatorCharacter, unichr(0x2029)) 31 self.assertEqual(NSLeftTextAlignment, 0) 32 self.assertEqual(NSRightTextAlignment, 1) 33 self.assertEqual(NSCenterTextAlignment, 2) 34 self.assertEqual(NSJustifiedTextAlignment, 3) 35 self.assertEqual(NSNaturalTextAlignment, 4) 36 37 self.assertEqual(NSWritingDirectionNatural, -1) 38 self.assertEqual(NSWritingDirectionLeftToRight, 0) 39 self.assertEqual(NSWritingDirectionRightToLeft, 1) 40 41 self.assertEqual(NSIllegalTextMovement, 0) 42 self.assertEqual(NSReturnTextMovement, 0x10) 43 self.assertEqual(NSTabTextMovement, 0x11) 44 self.assertEqual(NSBacktabTextMovement, 0x12) 45 self.assertEqual(NSLeftTextMovement, 0x13) 46 self.assertEqual(NSRightTextMovement, 0x14) 47 self.assertEqual(NSUpTextMovement, 0x15) 48 self.assertEqual(NSDownTextMovement, 0x16) 49 self.assertEqual(NSCancelTextMovement, 0x17) 50 self.assertEqual(NSOtherTextMovement, 0) 51 52 self.assertIsInstance(NSTextDidBeginEditingNotification, unicode) 53 self.assertIsInstance(NSTextDidEndEditingNotification, unicode) 54 self.assertIsInstance(NSTextDidChangeNotification, unicode) 55 56 @min_os_level('10.6') 57 def testConstants10_6(self): 58 self.assertEqual(NSTextWritingDirectionEmbedding, 0<<1) 59 self.assertEqual(NSTextWritingDirectionOverride, 1<<1) 60 61 def testMehods(self): 62 self.assertResultIsBOOL(NSText.writeRTFDToFile_atomically_) 63 self.assertArgIsBOOL(NSText.writeRTFDToFile_atomically_, 1) 64 self.assertResultIsBOOL(NSText.readRTFDFromFile_) 65 self.assertResultIsBOOL(NSText.isEditable) 66 self.assertArgIsBOOL(NSText.setEditable_, 0) 67 self.assertResultIsBOOL(NSText.isSelectable) 68 self.assertArgIsBOOL(NSText.setSelectable_, 0) 69 self.assertResultIsBOOL(NSText.isRichText) 70 self.assertArgIsBOOL(NSText.setRichText_, 0) 71 self.assertResultIsBOOL(NSText.importsGraphics) 72 self.assertArgIsBOOL(NSText.setImportsGraphics_, 0) 73 self.assertResultIsBOOL(NSText.isFieldEditor) 74 self.assertArgIsBOOL(NSText.setFieldEditor_, 0) 75 self.assertResultIsBOOL(NSText.usesFontPanel) 76 self.assertArgIsBOOL(NSText.setUsesFontPanel_, 0) 77 self.assertResultIsBOOL(NSText.drawsBackground) 78 self.assertArgIsBOOL(NSText.setDrawsBackground_, 0) 79 self.assertResultIsBOOL(NSText.isRulerVisible) 80 self.assertResultIsBOOL(NSText.isHorizontallyResizable) 81 self.assertArgIsBOOL(NSText.setHorizontallyResizable_, 0) 82 self.assertResultIsBOOL(NSText.isVerticallyResizable) 83 self.assertArgIsBOOL(NSText.setVerticallyResizable_, 0) 84 85 def testProtocols(self): 86 self.assertResultIsBOOL(TestNSTextHelper.textShouldBeginEditing_) 87 self.assertResultIsBOOL(TestNSTextHelper.textShouldEndEditing_) 88 89if __name__ == "__main__": 90 main() 91