1from Foundation import *
2from PyObjCTools.TestSupport import *
3
4try:
5    unicode
6except NameError:
7    unicode = str
8
9class TestNSSpellServerHelper (NSObject):
10    def spellServer_findMisspelledWordInString_language_wordCount_countOnly_(self, a, b, c, d, e): return 1
11    def spellServer_suggestGuessesForWord_inLanguage_(self, a, b, c): return 1
12    def spellServer_suggestCompletionsForPartialWordRange_inString_language_(self, a, b, c, d): return 1
13    def spellServer_checkGrammarInString_language_details_(self, a, b, c, d): return 1
14
15    def spellServer_checkString_offset_types_options_orthography_wordCount_(self, a, b, c, d, e, f, g): return 1
16
17
18
19class TestNSSpellServer (TestCase):
20    def testConstants(self):
21        self.assertIsInstance(NSGrammarRange, unicode)
22        self.assertIsInstance(NSGrammarUserDescription, unicode)
23        self.assertIsInstance(NSGrammarCorrections, unicode)
24
25
26    def testMethods(self):
27        self.assertResultIsBOOL(NSSpellServer.registerLanguage_byVendor_)
28        self.assertResultIsBOOL(NSSpellServer.isWordInUserDictionaries_caseSensitive_)
29        self.assertArgIsBOOL(NSSpellServer.isWordInUserDictionaries_caseSensitive_, 1)
30
31    def testDelegate(self):
32        self.assertResultHasType(TestNSSpellServerHelper.spellServer_findMisspelledWordInString_language_wordCount_countOnly_, NSRange.__typestr__)
33        self.assertArgHasType(TestNSSpellServerHelper.spellServer_findMisspelledWordInString_language_wordCount_countOnly_, 3, b'o^' + objc._C_NSInteger)
34        self.assertArgHasType(TestNSSpellServerHelper.spellServer_findMisspelledWordInString_language_wordCount_countOnly_, 4, objc._C_NSBOOL)
35
36        self.assertArgHasType(TestNSSpellServerHelper.spellServer_suggestCompletionsForPartialWordRange_inString_language_, 1, NSRange.__typestr__)
37
38        self.assertResultHasType(TestNSSpellServerHelper.spellServer_checkGrammarInString_language_details_, NSRange.__typestr__)
39        self.assertArgHasType(TestNSSpellServerHelper.spellServer_checkGrammarInString_language_details_, 3, b'o^@')
40
41    @min_os_level('10.6')
42    def testDelegate10_6(self):
43        self.assertArgHasType(TestNSSpellServerHelper.spellServer_checkString_offset_types_options_orthography_wordCount_, 2, objc._C_NSUInteger)
44        self.assertArgHasType(TestNSSpellServerHelper.spellServer_checkString_offset_types_options_orthography_wordCount_, 3, objc._C_NSInteger)
45        self.assertArgHasType(TestNSSpellServerHelper.spellServer_checkString_offset_types_options_orthography_wordCount_, 6, b'o^' + objc._C_NSInteger)
46
47if __name__ == "__main__":
48    main()
49