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