[PyObjC-svn] r2126 - in trunk/pyobjc/pyobjc-framework-Cocoa: Doc Examples/AppKit/ClassBrowser/ClassBrowser.nib Examples/AppKit/CocoaBindings/ToDos Lib/AppKit Lib/Foundation Modules PyObjCTest
[email protected] Mon, 30 Mar 2009 15:31:20 -0500
Newsgroups
gmane.comp.python.pyobjc.cvs
Message-ID
<[email protected] >
Author: ronaldoussoren
Date: Mon Mar 30 15:31:19 2009
New Revision: 2126
Log:
Improve test coverage for Foundation.
TODO:
* Do the same for CoreFoundation
* Make sure all tests pass, which will require fixes in pyobjc-core as well.
Added:
trunk/pyobjc/pyobjc-framework-Cocoa/Doc/api-notes-Foudation.txt
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscredentialstorage.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdate.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdistributedlock.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgarbagecollector.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsnotification.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsportcoder.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsportmessage.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsportnameserver.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nspropertylist.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsproxy.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsrange.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsrunloop.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsscriptclassdescription.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsscriptcoercionhandler.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsscriptcommand.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsscriptkeyvaluecoding.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsscriptobjectspecifier.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsscriptstandardsuitecommands.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsscriptwhosetests.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nssortdescriptor.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsspellserver.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nstask.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsthread.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nstimezone.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsurlcache.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsurlconnection.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsurlcredential.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsurldownload.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsurlerror.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsurlhandle.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsurlprotectionspace.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsurlprotocol.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsurlresponse.py (contents, props changed)
Modified:
trunk/pyobjc/pyobjc-framework-Cocoa/Doc/api-notes-AppKit.txt
trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/ClassBrowser/ClassBrowser.nib/classes.nib
trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/ClassBrowser/ClassBrowser.nib/info.nib
trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/CocoaBindings/ToDos/ToDosDocument.py
trunk/pyobjc/pyobjc-framework-Cocoa/Lib/AppKit/PyObjC.bridgesupport
trunk/pyobjc/pyobjc-framework-Cocoa/Lib/Foundation/PyObjC.bridgesupport
trunk/pyobjc/pyobjc-framework-Cocoa/Lib/Foundation/__init__.py
trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsbitmap.m
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsappleeventdescriptor.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsappleeventmanager.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsapplescript.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsarchiver.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsarray.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsattributedstring.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbitmapimagerep.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbundle.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscalendar.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscharacterset.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsclassdescription.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscoder.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscomparisonpredicate.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsconnection.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdata.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdateformatter.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdictionary.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdistributednotificationcenter.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nserror.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsexception.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfilehandle.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfilemanager.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsformatter.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgeometry.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshashtable.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshost.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshttpcookie.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsindexpath.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsindexset.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsinvocation.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nskeyedarchiver.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nskeyvaluecoding.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nslayoutmanager.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nslock.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmaptable.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmetadata.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmethodsignature.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsnetservices.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsnumberformatter.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsobjcruntime.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsobject.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsoperation.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nspathutilties.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsport.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nspredicate.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsscanner.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsset.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsstream.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsstring.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nstimer.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nstypesetter.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsundomanager.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsuserdefaults.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsvalue.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsvaluetransformer.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmldocument.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmldtd.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmldtdnode.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlelement.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlnode.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlparser.py
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Doc/api-notes-AppKit.txt
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Doc/api-notes-AppKit.txt (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Doc/api-notes-AppKit.txt Mon Mar 30 15:31:19 2009
@@ -81,3 +81,10 @@
------------
Methods ``-initWithWindowRef:`` and ``-windowRef`` are not supported.
+
+``NSInputStream``
+------------------
+
+* ``getBuffer:length:``
+
+ This method is not supported
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/ClassBrowser/ClassBrowser.nib/classes.nib
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/ClassBrowser/ClassBrowser.nib/classes.nib (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/ClassBrowser/ClassBrowser.nib/classes.nib Mon Mar 30 15:31:19 2009
@@ -1,13 +1,41 @@
-{
- IBClasses = (
- {
- ACTIONS = {browserAction = id; };
- CLASS = ClassBrowserDelegate;
- LANGUAGE = ObjC;
- OUTLETS = {browser = id; pathLabel = id; table = id; };
- SUPERCLASS = NSObject;
- },
- {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }
- );
- IBVersion = 1;
-}
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>IBClasses</key>
+ <array>
+ <dict>
+ <key>ACTIONS</key>
+ <dict>
+ <key>browserAction</key>
+ <string>id</string>
+ </dict>
+ <key>CLASS</key>
+ <string>ClassBrowserDelegate</string>
+ <key>LANGUAGE</key>
+ <string>ObjC</string>
+ <key>OUTLETS</key>
+ <dict>
+ <key>browser</key>
+ <string>id</string>
+ <key>pathLabel</key>
+ <string>id</string>
+ <key>table</key>
+ <string>id</string>
+ </dict>
+ <key>SUPERCLASS</key>
+ <string>NSObject</string>
+ </dict>
+ <dict>
+ <key>CLASS</key>
+ <string>FirstResponder</string>
+ <key>LANGUAGE</key>
+ <string>ObjC</string>
+ <key>SUPERCLASS</key>
+ <string>NSObject</string>
+ </dict>
+ </array>
+ <key>IBVersion</key>
+ <string>1</string>
+</dict>
+</plist>
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/ClassBrowser/ClassBrowser.nib/info.nib
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/ClassBrowser/ClassBrowser.nib/info.nib (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/ClassBrowser/ClassBrowser.nib/info.nib Mon Mar 30 15:31:19 2009
@@ -1,22 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
- <key>IBDocumentLocation</key>
- <string>61 25 356 240 0 0 1152 746 </string>
- <key>IBEditorPositions</key>
- <dict>
- <key>29</key>
- <string>45 156 318 44 0 0 1152 746 </string>
- </dict>
<key>IBFramework Version</key>
- <string>291.0</string>
+ <string>677</string>
+ <key>IBOldestOS</key>
+ <integer>5</integer>
<key>IBOpenObjects</key>
<array>
<integer>21</integer>
<integer>29</integer>
</array>
<key>IBSystem Version</key>
- <string>6L60</string>
+ <string>9G55</string>
+ <key>targetFramework</key>
+ <string>IBCocoaFramework</string>
</dict>
</plist>
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/CocoaBindings/ToDos/ToDosDocument.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/CocoaBindings/ToDos/ToDosDocument.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Examples/AppKit/CocoaBindings/ToDos/ToDosDocument.py Mon Mar 30 15:31:19 2009
@@ -7,20 +7,15 @@
# The original version was written in Objective-C by Malcolm Crawford
# at http://homepage.mac.com/mmalc/CocoaExamples/controllers.html
-import objc
-from PyObjCTools import NibClassBuilder
-from Foundation import *
+from AppKit import *
from Category import Category
from PriorityToColourTransformer import PriorityToColourTransformer
from OverdueTransformer import OverdueTransformer
-NibClassBuilder.extractClasses("ToDosDocument")
-
-class ToDosDocument(NibClassBuilder.AutoBaseClass):
- # the actual base class is NSDocument
- # The following outlets are added to the class: nix
- toDos = objc.ivar('toDos')
+class ToDosDocument(NSDocument):
+ nix = objc.IBOutlet()
+ toDos = objc.ivar()
def init(self):
self = super(ToDosDocument, self).init()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Lib/AppKit/PyObjC.bridgesupport
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Lib/AppKit/PyObjC.bridgesupport (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Lib/AppKit/PyObjC.bridgesupport Mon Mar 30 15:31:19 2009
@@ -2867,7 +2867,7 @@
<arg c_array_length_in_arg='0' index='1' type_modifier='o' type='o^S'/>
<arg c_array_length_in_arg='0' index='2' type_modifier='o' type='o^I' type64='o^Q' />
<arg c_array_length_in_arg='0' index='3' type_modifier='o' />
- <arg index='4' type='^B' />
+ <arg index='4' type='^B' c_array_length_in_arg='0' type_modifier='o' />
</method>
<method selector='getLineFragmentRect:usedRect:forParagraphSeparatorGlyphRange:atProposedOrigin:'>
<retval type='v' />
@@ -4398,7 +4398,7 @@
</method>
<method selector='getPixel:atX:y:'>
<retval type='v' />
- <arg index='0' type_modifier='o' />
+ <arg index='0' type_modifier='o' c_array_of_variable_length='true' />
<arg index='1' type='i' type64='q' />
<arg index='2' type='i' type64='q' />
</method>
@@ -10529,7 +10529,7 @@
<arg c_array_length_in_arg='0' index='1' type_modifier='o' />
<arg c_array_length_in_arg='0' index='2' type_modifier='o' />
<arg c_array_length_in_arg='0' index='3' type_modifier='o' />
- <arg index='4' type='^B' />
+ <arg index='4' type='^B' c_array_length_in_arg='0' type_modifier='o' />
</method>
<method selector='getGlyphsInRange:glyphs:characterIndexes:glyphInscriptions:elasticBits:bidiLevels:'>
<retval type='I' type64='Q' />
@@ -10537,8 +10537,8 @@
<arg c_array_length_in_arg='0' index='1' type_modifier='o' />
<arg c_array_length_in_arg='0' index='2' type_modifier='o' />
<arg c_array_length_in_arg='0' index='3' type_modifier='o' />
- <arg index='4' type='^B' />
- <arg c_array_length_in_arg='0' index='5' type='^z' type_modifier='o' />
+ <arg index='4' type='^B' type_modifier='o' c_array_length_in_arg='0' />
+ <arg c_array_length_in_arg='0' index='5' type='^C' type_modifier='o' />
</method>
<method selector='getLineFragmentInsertionPointsForCharacterAtIndex:alternatePositions:inDisplayOrder:positions:characterIndexes:'>
<retval type='I' type64='Q' />
@@ -10555,7 +10555,7 @@
<method selector='glyphAtIndex:isValidIndex:'>
<retval type='I' />
<arg index='0' type='I' type64='Q' />
- <arg index='1' type='^B' />
+ <arg index='1' type='^B' type_modifier='o' />
</method>
<method selector='glyphGenerator'>
<retval type='@' />
@@ -22149,8 +22149,8 @@
<arg c_array_length_in_arg='0' index='1' type_modifier='o' />
<arg c_array_length_in_arg='0' index='2' type_modifier='o' />
<arg c_array_length_in_arg='0' index='3' type_modifier='o' />
- <arg index='4' type='^B' />
- <arg c_array_length_in_arg='0' index='5' type='^z' type_modifier='o' />
+ <arg index='4' type='^B' type_modifier='o' c_array_length_in_arg='0' />
+ <arg c_array_length_in_arg='0' index='5' type='^C' type_modifier='o' />
</method>
<method selector='getLineFragmentRect:usedRect:forParagraphSeparatorGlyphRange:atProposedOrigin:'>
<retval type='v' />
@@ -22161,9 +22161,9 @@
</method>
<method selector='getLineFragmentRect:usedRect:remainingRect:forStartingGlyphAtIndex:proposedRect:lineSpacing:paragraphSpacingBefore:paragraphSpacingAfter:'>
<retval type='v' />
- <arg index='0' type_modifier='N' />
- <arg index='1' type_modifier='N' />
- <arg index='2' type_modifier='N' />
+ <arg index='0' type_modifier='N' type='^{_NSRect={_NSPoint=ff}{_NSSize=ff}}' type64='^{CGRect={CGPoint=dd}{CGSize=dd}}' />
+ <arg index='1' type_modifier='N' type='^{_NSRect={_NSPoint=ff}{_NSSize=ff}}' type64='^{CGRect={CGPoint=dd}{CGSize=dd}}'/>
+ <arg index='2' type_modifier='N' type='^{_NSRect={_NSPoint=ff}{_NSSize=ff}}' type64='^{CGRect={CGPoint=dd}{CGSize=dd}}'/>
<arg index='3' type='I' type64='Q' />
<arg index='4' type='{_NSRect={_NSPoint=ff}{_NSSize=ff}}' type64='{CGRect={CGPoint=dd}{CGSize=dd}}' />
<arg index='5' type='f' type64='d' />
@@ -22357,10 +22357,10 @@
</method>
<method selector='willSetLineFragmentRect:forGlyphRange:usedRect:baselineOffset:'>
<retval type='v' />
- <arg index='0' type_modifier='N' />
+ <arg index='0' type_modifier='N' type='^{_NSRect={_NSPoint=ff}{_NSSize=ff}}' type64='^{CGRect={CGPoint=dd}{CGSize=dd}}' />
<arg index='1' type='{_NSRange=II}' type64='{_NSRange=QQ}' />
- <arg index='2' type_modifier='N' />
- <arg index='3' type_modifier='N' />
+ <arg index='2' type_modifier='N' type='^{_NSRect={_NSPoint=ff}{_NSSize=ff}}' type64='^{CGRect={CGPoint=dd}{CGSize=dd}}' />
+ <arg index='3' type_modifier='N' type='^f' type64='^d' />
</method>
</class>
<class name='NSURL'>
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Lib/Foundation/PyObjC.bridgesupport
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Lib/Foundation/PyObjC.bridgesupport (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Lib/Foundation/PyObjC.bridgesupport Mon Mar 30 15:31:19 2009
@@ -301,6 +301,7 @@
<constant name='NSZeroPoint' type='{_NSPoint=ff}' type64='{CGPoint=dd}' />
<constant name='NSZeroRect' type='{_NSRect={_NSPoint=ff}{_NSSize=ff}}' type64='{CGRect={CGPoint=dd}{CGSize=dd}}' />
<constant name='NSZeroSize' type='{_NSSize=ff}' type64='{CGSize=dd}' />
+ <enum name='NSProprietaryStringEncoding' value='65536' />
<enum name='NSASCIIStringEncoding' value='1' />
<enum name='NSAdminApplicationDirectory' value='4' />
<enum name='NSAggregateExpressionType' value='14' />
@@ -5486,7 +5487,9 @@
<retval type='i' />
<arg index='0' type='@' />
</method>
- <method selector='getIndexes:' suggestion='use -indexAtPosition:' />
+ <method selector='getIndexes:' >
+ <arg index='0' c_array_of_variable_length='true' type_modifier='o' />
+ </method>
<method selector='indexAtPosition:'>
<retval type='I' type64='Q' />
<arg index='0' type='I' type64='Q' />
@@ -5545,7 +5548,7 @@
</method>
<method selector='getIndexes:maxCount:inIndexRange:'>
<retval type='I' type64='Q' />
- <arg c_array_length_in_arg='2' index='0' null_accepted='false' type_modifier='o' />
+ <arg c_array_length_in_arg='1' index='0' null_accepted='false' type_modifier='o' c_array_length_in_result='true' />
<arg index='1' type='I' type64='Q' />
<arg index='2' null_accepted='false' type_modifier='N' />
</method>
@@ -7277,6 +7280,15 @@
<method selector='hasThousandSeparators'>
<retval type='B' />
</method>
+ <method selector='isLenient'>
+ <retval type='B' />
+ </method>
+ <method selector='usesSignificantDigits'>
+ <retval type='B' />
+ </method>
+ <method selector='isPartialStringValidationEnabled'>
+ <retval type='B' />
+ </method>
<method selector='init'>
<retval type='@' />
</method>
@@ -7972,6 +7984,7 @@
</method>
<method selector='copyWithZone:'>
<retval type='@' />
+ <arg index='0' type='^{_NSZone=}' />
</method>
<method class_method='true' selector='copyWithZone:'>
<retval type='@' />
@@ -9010,7 +9023,7 @@
</method>
<method class_method='true' selector='outputStreamToBuffer:capacity:'>
<retval type='@' />
- <arg c_array_length_in_arg='1' index='0' type_modifier='o' />
+ <arg c_array_length_in_arg='1' index='0' type_modifier='o' type='^v'/>
<arg index='1' type='I' type64='Q' />
</method>
<method class_method='true' selector='outputStreamToFileAtPath:append:'>
@@ -10716,7 +10729,7 @@
<retval type='B' />
</method>
<method selector='cStringUsingEncoding:'>
- <retval c_array_delimited_by_null='true' type='^t' />
+ <retval c_array_delimited_by_null='true' type='^v' />
<arg index='0' type='I' />
</method>
<method selector='canBeConvertedToEncoding:'>
@@ -10809,6 +10822,9 @@
<method selector='floatValue'>
<retval type='f' />
</method>
+ <method selector='availableStringEncodings'>
+ <retval c_array_delimited_by_null='true' />
+ </method>
<method selector='getBytes:maxLength:usedLength:encoding:options:range:remainingRange:'>
<retval type='B' />
<arg c_array_length_in_arg='1,2' index='0' type_modifier='o' />
@@ -10819,20 +10835,39 @@
<arg index='5' type='{_NSRange=II}' type64='{_NSRange=QQ}' />
<arg index='6' type_modifier='o' />
</method>
+ <method selector='cString'>
+ <retval type='^t' c_array_delimited_by_null='true' />
+ </method>
+ <method selector='lossyCString'>
+ <retval type='^t' c_array_delimited_by_null='true' />
+ </method>
<method selector='getCString:' suggestion='use -cString' />
- <method selector='getCString:maxLength:' suggestion='use -cString' />
- <method selector='getCString:maxLength:encoding:' suggestion='use -cStringUsingEncoding:' />
- <method selector='getCString:maxLength:range:remainingRange:' suggestion='use -cStringUsingEncoding:' />
+ <method selector='getCString:maxLength:' >
+ <retval type='B' />
+ <arg index='0' type='^v' type_modifier='o' c_array_length_in_arg='1' />
+ </method>
+ <method selector='getCString:maxLength:encoding:' >
+ <retval type='B' />
+ <arg index='0' type='^v' type_modifier='o' c_array_length_in_arg='1' />
+ </method>
+ <method selector='getCString:maxLength:range:remainingRange:' >
+ <retval type='B' />
+ <arg index='0' type='^v' type_modifier='o' c_array_length_in_arg='1' />
+ <arg index='3' type_modifier='o' />
+ </method>
<method selector='getCharacters:'>
<retval type='v' />
- <arg c_array_of_variable_length='true' index='0' type='r^T' />
+ <arg c_array_of_variable_length='true' index='0' type='^T' type_modifier='o' />
</method>
<method selector='getCharacters:range:'>
<retval type='v' />
- <arg c_array_length_in_arg='1' index='0' type='r^T' />
+ <arg c_array_length_in_arg='1' index='0' type='^T' type_modifier='o' />
<arg index='1' type='{_NSRange=II}' type64='{_NSRange=QQ}' />
</method>
- <method selector='getFileSystemRepresentation:maxLength:' suggestion='use -fileSystemRepresentation' />
+ <method selector='getFileSystemRepresentation:maxLength:' >
+ <retval type='B' />
+ <arg index='0' c_array_length_in_arg='1' type_modifier='o' type='^t' />
+ </method>
<method selector='getLineStart:end:contentsEnd:forRange:'>
<retval type='v' />
<arg index='0' type_modifier='o' />
@@ -10876,7 +10911,7 @@
</method>
<method selector='initWithCString:'>
<retval type='@' />
- <arg c_array_delimited_by_null='true' index='0' type='^t' type_modifier='n' />
+ <arg c_array_delimited_by_null='true' index='0' type='^v' type_modifier='n' />
</method>
<method selector='initWithCString:encoding:'>
<retval type='@' />
@@ -10885,23 +10920,23 @@
</method>
<method selector='initWithCString:length:'>
<retval type='@' />
- <arg c_array_length_in_arg='1' index='0' type='^t' type_modifier='n' />
+ <arg c_array_length_in_arg='1' index='0' type='^v' type_modifier='n' />
<arg index='1' type='I' type64='Q' />
</method>
<method selector='initWithCStringNoCopy:length:freeWhenDone:'>
<retval type='@' />
- <arg c_array_length_in_arg='1' index='0' type='^t' type_modifier='n' />
+ <arg c_array_length_in_arg='1' index='0' type='^v' type_modifier='n' />
<arg index='1' type='I' type64='Q' />
<arg index='2' type='B' />
</method>
<method selector='initWithCharacters:length:'>
<retval type='@' />
- <arg index='0' type='r^T' />
+ <arg index='0' type='^T' type_modifier='n' c_array_length_in_arg='1' />
<arg index='1' type='I' type64='Q' />
</method>
<method selector='initWithCharactersNoCopy:length:freeWhenDone:'>
<retval type='@' />
- <arg c_array_length_in_arg='1' index='0' type='r^T' type_modifier='n' />
+ <arg c_array_length_in_arg='1' index='0' type='^T' type_modifier='n' />
<arg index='1' type='I' type64='Q' />
<arg index='2' type='B' />
</method>
@@ -10959,7 +10994,7 @@
</method>
<method selector='initWithUTF8String:'>
<retval type='@' />
- <arg c_array_delimited_by_null='true' index='0' type='^t' />
+ <arg c_array_delimited_by_null='true' index='0' type='^t' type_modifier='n' />
</method>
<method selector='intValue'>
<retval type='i' />
@@ -11167,7 +11202,7 @@
</method>
<method class_method='true' selector='stringWithCString:'>
<retval type='@' />
- <arg c_array_delimited_by_null='true' index='0' type='^t' type_modifier='n' />
+ <arg c_array_delimited_by_null='true' index='0' type='^v' type_modifier='n' />
</method>
<method class_method='true' selector='stringWithCString:encoding:'>
<retval type='@' />
@@ -11176,7 +11211,7 @@
</method>
<method class_method='true' selector='stringWithCString:length:'>
<retval type='@' />
- <arg c_array_delimited_by_null='true' index='0' type='^t' type_modifier='n' />
+ <arg c_array_length_in_arg='1' index='0' type='^v' type_modifier='n' />
<arg index='1' type='I' type64='Q' />
</method>
<method class_method='true' selector='stringWithCharacters:length:'>
@@ -11218,7 +11253,7 @@
</method>
<method class_method='true' selector='stringWithFormat:' variadic='true'>
<retval type='@' />
- <arg index='0' type='@' />
+ <arg index='0' type='@' printf_format='true' />
</method>
<method class_method='true' selector='stringWithString:'>
<retval type='@' />
@@ -11226,7 +11261,7 @@
</method>
<method class_method='true' selector='stringWithUTF8String:'>
<retval type='@' />
- <arg c_array_delimited_by_null='true' index='0' type='^t' type_modifier='o' />
+ <arg c_array_delimited_by_null='true' index='0' type='^t' type_modifier='n' />
</method>
<method selector='stringsByAppendingPaths:'>
<retval type='@' />
@@ -12536,7 +12571,7 @@
<method selector='getValue:' suggestion='use another method' />
<method selector='initWithBytes:objCType:'>
<retval type='@' />
- <arg c_array_of_variable_length='true' index='0' />
+ <arg c_array_of_variable_length='true' index='0' type_modifier='n' />
<arg c_array_delimited_by_null='true' index='1' type='^t' type_modifier='n' />
</method>
<method selector='isEqualToValue:'>
@@ -12563,12 +12598,12 @@
</method>
<method class_method='true' selector='value:withObjCType:'>
<retval type='@' />
- <arg index='0' type='^v' />
+ <arg index='0' type='^v' type_modifier='n' c_array_of_variable_length='true' />
<arg c_array_delimited_by_null='true' index='1' type='^t' type_modifier='n' />
</method>
<method class_method='true' selector='valueWithBytes:objCType:'>
<retval type='@' />
- <arg index='0' type='^v' />
+ <arg index='0' type='^v' type_modifier='n' c_array_of_variable_length='true' />
<arg c_array_delimited_by_null='true' index='1' type='^t' type_modifier='n' />
</method>
<method class_method='true' selector='valueWithNonretainedObject:'>
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Lib/Foundation/__init__.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Lib/Foundation/__init__.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Lib/Foundation/__init__.py Mon Mar 30 15:31:19 2009
@@ -29,6 +29,7 @@
from Foundation._string import *
import Foundation._nsobject
+import Foundation._nsindexset
YES = objc.YES
NO = objc.NO
@@ -47,3 +48,6 @@
ABS = abs
+import sys
+NSMaximumStringLength = sys.maxint - 1
+del sys
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsbitmap.m
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsbitmap.m (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsbitmap.m Mon Mar 30 15:31:19 2009
@@ -6,12 +6,23 @@
call_NSBitmapImageRep_getTIFFCompressionTypes_count_(
PyObject* method, PyObject* self, PyObject* arguments)
{
+ PyObject* a1;
+ PyObject* a2;
PyObject* result;
struct objc_super super;
NSTIFFCompression* list;
int numTypes;
- if (!PyArg_ParseTuple(arguments, "")) {
+ if (!PyArg_ParseTuple(arguments, "OO", &a1, &a2)) {
+ return NULL;
+ }
+
+ if (a1 != Py_None) {
+ PyErr_SetString(PyExc_ValueError, "buffer must be None");
+ return NULL;
+ }
+ if (a2 != Py_None) {
+ PyErr_SetString(PyExc_ValueError, "length must be None");
return NULL;
}
@@ -60,6 +71,81 @@
return result;
}
+#if 0
+static PyObject*
+call_NSBitmapImageRep_initWithBitmapDataPlanes_bitmapFormat(
+ PyObject* method, PyObject* self, PyObject* arguments)
+{
+ PyObject* py_planes;
+ unsigned char** planes;
+ Py_ssize_t nr_planes;
+ PyObject* py_width;
+ NSInteger width;
+ PyObject* py_height;
+ NSInteger height;
+ long bitsPerSample;
+ long samplesPerPixel;
+ PyObject* py_hasAlpha;
+ BOOL hasAlpha;
+ PyObject* py_isPlanar;
+ BOOL isPlanar;
+ PyObject* py_colorSpaceName;
+ NSString* colorSpaceName;
+ long bitmapFormat;
+ PyObject* py_bytesPerRow;
+ NSInteger bytesPerRow;
+ PyObject* py_bitsPerPixel;
+ NSInteger bitsPerPixel;
+
+ if (!PyArg_Parse(args, "OOOiiOOOiOO",
+ &py_planes, &py_width, &py_height, &bitsPerSample,
+ &samplesPerPixel, &py_hasAlpha, &py_isPlanar,
+ &bitmapFormat, &py_bytesPerRow, &py_bitsPerPixel)) {
+
+ return NULL;
+ }
+
+ if (PyObjC_PythonToObjC(@encode(NSInteger), py_width, &width) == -1) {
+ return NULL;
+ }
+ if (PyObjC_PythonToObjC(@encode(NSInteger), py_height, &height) == -1) {
+ return NULL;
+ }
+ hasAlpha = PyObject_IsTrue(py_hasAlpha);
+ isPlanar = PyObject_IsTrue(py_isPlanar);
+ if (PyObjC_PythonToObjC(@encode(NSInteger), py_bytesPerRow, &bytesPerRow) == -1) {
+ return NULL;
+ }
+ if (PyObjC_PythonToObjC(@encode(NSInteger), py_bitsPerPixel, &bitsPerPixel) == -1) {
+ return NULL;
+ }
+
+ if (py_planes == Py_None) {
+ planes = NULL;
+ nr_planes = -1;
+ } else {
+ PyObject* seq = PySequence_Fast(py_planes,
+ "Planes must be sequence");
+ if (seq == NULL) {
+ return NULL;
+ }
+ nr_planes = PySequence_Fast_GET_SIZE(seq);
+
+ planes = malloc(sizeof(unsigned char*) * nr_planes);
+ if (planes == NULL) {
+ PyErr_NoMemory();
+ Py_DECREF(seq);
+ return NULL;
+ }
+
+ Py_ssize_t i;
+ for (i = 0; i < nr_planes; i++) {
+
+ }
+ }
+}
+#endif
+
/* XXX: Needs looking into, argument parsing seems awfully complex */
static PyObject*
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsappleeventdescriptor.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsappleeventdescriptor.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsappleeventdescriptor.py Mon Mar 30 15:31:19 2009
@@ -3,16 +3,19 @@
class TestAED (TestCase):
def testCreateWithBytes(self):
- self.fail("+ (NSAppleEventDescriptor *)descriptorWithDescriptorType:(DescType)descriptorType bytes:(const void *)bytes length:(NSUInteger)byteCount;")
- self.fail("- (id)initWithDescriptorType:(DescType)descriptorType bytes:(const void *)bytes length:(NSUInteger)byteCount;")
+ self.failUnlessArgSizeInArg(NSAppleEventDescriptor.descriptorWithDescriptorType_bytes_length_, 1, 2)
+ self.failUnlessArgIsIn(NSAppleEventDescriptor.descriptorWithDescriptorType_bytes_length_, 1)
- def testInitWithAEDescNoCopy(self):
- # The object will call AEDisposeDesc, meaning MacPython shouldn't
- self.fail("Test for 'initWithAEDescNoCopy'")
+ self.failUnlessArgSizeInArg(NSAppleEventDescriptor.initWithDescriptorType_bytes_length_, 1, 2)
+ self.failUnlessArgIsIn(NSAppleEventDescriptor.initWithDescriptorType_bytes_length_, 1)
- def testAccess(self):
- # Ensure Python doesn't call AEDisposeDesc
- self.fail('-aeDesc')
+# def testInitWithAEDescNoCopy(self):
+# # The object will call AEDisposeDesc, meaning MacPython shouldn't
+# self.fail("Test for 'initWithAEDescNoCopy'")
+#
+# def testAccess(self):
+# # Ensure Python doesn't call AEDisposeDesc
+# self.fail('-aeDesc')
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsappleeventmanager.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsappleeventmanager.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsappleeventmanager.py Mon Mar 30 15:31:19 2009
@@ -3,13 +3,6 @@
from PyObjCTools.TestSupport import *
class TestEAManager (TestCase):
- def _testSuspension(self):
- self.fail('- (NSAppleEventManagerSuspensionID)suspendCurrentAppleEvent;')
- self.fail('- (NSAppleEventDescriptor *)appleEventForSuspensionID:(NSAppleEventManagerSuspensionID)suspensionID;')
- self.fail('- (NSAppleEventDescriptor *)replyAppleEventForSuspensionID:(NSAppleEventManagerSuspensionID)suspensionID;')
- self.fail('- (void)setCurrentAppleEventAndReplyEventWithSuspensionID:(NSAppleEventManagerSuspensionID)suspensionID;')
- self.fail('- (void)resumeWithSuspensionID:(NSAppleEventManagerSuspensionID)suspensionID;')
-
def testContants(self):
self.failUnless( isinstance(NSAppleEventManagerWillProcessFirstEventNotification, unicode) )
self.failUnless( isinstance(NSAppleEventTimeOutDefault, float) )
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsapplescript.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsapplescript.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsapplescript.py Mon Mar 30 15:31:19 2009
@@ -16,20 +16,14 @@
self.failUnless(ok is False)
self.failUnless(isinstance(error, NSDictionary))
- obj = NSAppleScript.alloc().initWithSource_(
- 'tell application "Terminal" to do script "ls -l"')
- m = obj.compileAndReturnError_.__metadata__()
- self.failUnless(m['arguments'][2]['type'].startswith('o^'))
-
- m = obj.executeAndReturnError_.__metadata__()
- self.failUnless(m['arguments'][2]['type'].startswith('o^'))
-
- m = obj.executeAppleEvent_error_.__metadata__()
- self.failUnless(m['arguments'][3]['type'].startswith('o^'))
-
- m = obj.initWithContentsOfURL_error_.__metadata__()
- self.failUnless(m['arguments'][3]['type'].startswith('o^'))
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSAppleScript.isCompiled)
+ self.failUnlessResultIsBOOL(NSAppleScript.compileAndReturnError_)
+ self.failUnlessArgIsOut(NSAppleScript.compileAndReturnError_, 0)
+ self.failUnlessArgIsOut(NSAppleScript.executeAndReturnError_, 0)
+ self.failUnlessArgIsOut(NSAppleScript.executeAppleEvent_error_, 1)
+ self.failUnlessArgIsOut(NSAppleScript.initWithContentsOfURL_error_, 1)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsarchiver.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsarchiver.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsarchiver.py Mon Mar 30 15:31:19 2009
@@ -5,6 +5,10 @@
def testConstants(self):
self.failUnless(isinstance(NSInconsistentArchiveException, unicode))
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSArchiver.archiveRootObject_toFile_)
+ self.failUnlessResultIsBOOL(NSUnarchiver.isAtEnd)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsarray.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsarray.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsarray.py Mon Mar 30 15:31:19 2009
@@ -147,8 +147,8 @@
self.assertRaises( IndexError, x.__getitem__, -100)
def test_varargConstruction(self):
- w = NSArray.arrayWithObjects_(1,2,3,4, None)
- x = NSArray.alloc().initWithObjects_(1,2,3,4, None)
+ w = NSArray.arrayWithObjects_(1,2,3,4)
+ x = NSArray.alloc().initWithObjects_(1,2,3,4)
y = NSArray.arrayWithObjects_count_([1,2,3,4,5,6], 4)
z = NSArray.alloc().initWithObjects_count_([1,2,3,4,5,6], 4)
@@ -412,5 +412,34 @@
self.assertEquals(a, [u"foo", u"bar"])
self.assert_(isinstance(a, NSMutableArray))
+class TestNSArray (TestCase):
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSArray.containsObject_)
+ self.failUnlessResultIsBOOL(NSArray.writeToFile_atomically_)
+ self.failUnlessArgIsBOOL(NSArray.writeToFile_atomically_, 1)
+ self.failUnlessResultIsBOOL(NSArray.writeToURL_atomically_)
+ self.failUnlessArgIsBOOL(NSArray.writeToURL_atomically_, 1)
+
+ self.failUnlessArgIsBOOL(NSArray.initWithArray_copyItems_, 1)
+
+ self.failUnlessArgIsIn(NSArray.arrayWithObjects_count_, 0)
+ self.failUnlessArgSizeInArg(NSArray.arrayWithObjects_count_, 0, 1)
+ self.failUnlessArgIsIn(NSArray.initWithObjects_count_, 0)
+ self.failUnlessArgSizeInArg(NSArray.initWithObjects_count_, 0, 1)
+
+ self.failUnlessArgIsIn(NSMutableArray.removeObjectsFromIndices_numIndices_, 0)
+ self.failUnlessArgSizeInArg(NSMutableArray.removeObjectsFromIndices_numIndices_, 0, 1)
+
+ self.failUnlessArgIsFunction(NSArray.sortedArrayUsingFunction_context_, 0, 'I@@@', False)
+ self.failUnlessArgHasType(NSArray.sortedArrayUsingFunction_context_, 1, '@')
+ self.failUnlessArgIsFunction(NSArray.sortedArrayUsingFunction_context_hint_, 0, 'I@@@', False)
+ self.failUnlessArgHasType(NSArray.sortedArrayUsingFunction_context_hint_, 1, '@')
+
+ self.failUnlessArgIsFunction(NSMutableArray.sortUsingFunction_context_, 0, 'I@@@', False)
+ self.failUnlessArgHasType(NSMutableArray.sortUsingFunction_context_, 1, '@')
+
+ self.fail("-arrayWithObjects:")
+ self.fail("-initWithObjects:")
+
if __name__ == '__main__':
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsattributedstring.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsattributedstring.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsattributedstring.py Mon Mar 30 15:31:19 2009
@@ -6,13 +6,12 @@
class TestNSAttributedString (TestCase):
def testOutput(self):
- obj = NSAttributedString.alloc().init()
- m = obj.attributesAtIndex_longestEffectiveRange_inRange_.__metadata__()
- self.failUnless(m['arguments'][3]['type'].startswith('o^'))
-
- m = obj.attribute_atIndex_longestEffectiveRange_inRange_.__metadata__()
- self.failUnless(m['arguments'][4]['type'].startswith('o^'))
+ self.failUnlessArgIsOut(NSAttributedString.attributesAtIndex_effectiveRange_, 1)
+ self.failUnlessArgIsOut(NSAttributedString.attribute_atIndex_effectiveRange_, 2)
+ self.failUnlessArgIsOut(NSAttributedString.attributesAtIndex_longestEffectiveRange_inRange_, 1)
+ self.failUnlessArgIsOut(NSAttributedString.attribute_atIndex_longestEffectiveRange_inRange_, 2)
+ self.failUnlessResultIsBOOL(NSAttributedString.isEqualToAttributedString_)
def testConstantsAppKit(self):
self.failUnlessIsInstance(NSFontAttributeName, unicode)
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbitmapimagerep.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbitmapimagerep.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbitmapimagerep.py Mon Mar 30 15:31:19 2009
@@ -77,6 +77,12 @@
bitmapData = i2.bitmapData()
self.assertEquals(len(bitmapData), len(singlePlane))
self.assertEquals(bitmapData, singlePlane)
+
+ a = array.array('I', [255]*4)
+ self.failUnlessArgIsOut(NSBitmapImageRep.getPixel_atX_y_, 0)
+ d = i2.getPixel_atX_y_(a, 1, 1)
+ self.failUnless(a is d)
+
class TestBadCreation(TestCase):
@@ -146,15 +152,23 @@
self.failUnlessIsInstance(NSImageEXIFData, unicode)
self.failUnlessIsInstance(NSImageFallbackBackgroundColor, unicode)
+ def testTiffCompression(self):
+ lst, nr = NSBitmapImageRep.getTIFFCompressionTypes_count_(None, None)
+ self.failUnlessIsInstance(lst, tuple)
+ self.failUnlessIsInstance(nr, (int, long))
+ self.failUnlessEqual(len(lst), nr)
+ self.failIfEqual(len(lst), 0)
+ self.failUnlessIsInstance(lst[0], (int, long))
+
def testMethods(self):
self.failUnlessResultIsBOOL(NSBitmapImageRep.isPlanar)
self.failUnlessResultIsBOOL(NSBitmapImageRep.canBeCompressedUsing_)
self.failUnlessArgIsBOOL(NSBitmapImageRep.incrementalLoadFromData_complete_, 1)
+
+ self.failUnlessArgIsOut(NSBitmapImageRep.getCompression_factor_, 0)
+ self.failUnlessArgIsOut(NSBitmapImageRep.getCompression_factor_, 1)
+
self.fail("- (id)initWithBitmapDataPlanes:(unsigned char **)planes pixelsWide:(NSInteger)width pixelsHigh:(NSInteger)height bitsPerSample:(NSInteger)bps samplesPerPixel:(NSInteger)spp hasAlpha:(BOOL)alpha isPlanar:(BOOL)isPlanar colorSpaceName:(NSString *)colorSpaceName bitmapFormat:(NSBitmapFormat)bitmapFormat bytesPerRow:(NSInteger)rBytes bitsPerPixel:(NSInteger)pBits;")
- self.fail("- (id)initWithBitmapDataPlanes:(unsigned char **)planes pixelsWide:(NSInteger)width pixelsHigh:(NSInteger)height bitsPerSample:(NSInteger)bps samplesPerPixel:(NSInteger)spp hasAlpha:(BOOL)alpha isPlanar:(BOOL)isPlanar colorSpaceName:(NSString *)colorSpaceName bytesPerRow:(NSInteger)rBytes bitsPerPixel:(NSInteger)pBits;") #XXX See above
- self.fail("- (void)getCompression:(NSTIFFCompression *)compression factor:(float *)factor;")
- self.fail("- (void)setCompression:(NSTIFFCompression)compression factor:(float)factor;")
- self.fail("+ (void)getTIFFCompressionTypes:(const NSTIFFCompression **)list count:(NSInteger *)numTypes;")
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbundle.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbundle.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbundle.py Mon Mar 30 15:31:19 2009
@@ -13,6 +13,21 @@
m = obj.loadAndReturnError_.__metadata__()
self.failUnless(m['arguments'][2]['type'].startswith('o^'))
+ def testMethods(self):
+ b = NSBundle.mainBundle()
+ # Test on an instance because NSBundle has class methods
+ # that interfere with this test
+ self.failUnlessResultIsBOOL(b.load)
+ self.failUnlessResultIsBOOL(b.isLoaded)
+ self.failUnlessResultIsBOOL(b.unload)
+
+ @min_os_level('10.5')
+ def testMethods10_5(self):
+ self.failUnlessResultIsBOOL(NSBundle.preflightAndReturnError_)
+ self.failUnlessArgIsOut(NSBundle.preflightAndReturnError_, 0)
+ self.failUnlessResultIsBOOL(NSBundle.loadAndReturnError_)
+ self.failUnlessArgIsOut(NSBundle.loadAndReturnError_, 0)
+
def testConstants(self):
self.assertEquals(NSBundleExecutableArchitectureI386, 0x00000007)
self.assertEquals(NSBundleExecutableArchitecturePPC, 0x00000012)
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscalendar.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscalendar.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscalendar.py Mon Mar 30 15:31:19 2009
@@ -21,12 +21,13 @@
self.assertEquals( NSUndefinedDateComponent, NSIntegerMax)
- def testOutput(self):
+ @min_os_level('10.5')
+ def testMethods10_5(self):
obj = NSCalendar.currentCalendar()
- m = obj.rangeOfUnit_startDate_interval_forDate_.__metadata__()
- self.failUnless(m['arguments'][3]['type'].startswith('o^'))
- self.failUnless(m['arguments'][4]['type'].startswith('o^'))
+ self.failUnlessResultIsBOOL(NSCalendar.rangeOfUnit_startDate_interval_forDate_)
+ self.failUnlessArgIsOut(NSCalendar.rangeOfUnit_startDate_interval_forDate_, 1)
+ self.failUnlessArgIsOut(NSCalendar.rangeOfUnit_startDate_interval_forDate_, 2)
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscharacterset.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscharacterset.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscharacterset.py Mon Mar 30 15:31:19 2009
@@ -6,5 +6,11 @@
def testConstants(self):
self.assertEquals( NSOpenStepUnicodeReservedBase, 0xF400 )
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSCharacterSet.characterIsMember_)
+ self.failUnlessResultIsBOOL(NSCharacterSet.longCharacterIsMember_)
+ self.failUnlessResultIsBOOL(NSCharacterSet.isSupersetOfSet_)
+ self.failUnlessResultIsBOOL(NSCharacterSet.hasMemberInPlane_)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsclassdescription.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsclassdescription.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsclassdescription.py Mon Mar 30 15:31:19 2009
@@ -7,5 +7,6 @@
self.failUnless(isinstance(NSClassDescriptionNeededForClassNotification, unicode))
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscoder.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscoder.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscoder.py Mon Mar 30 15:31:19 2009
@@ -110,5 +110,16 @@
d = o.fetchArray_(coder)
self.assertEquals(tuple(range(10)), tuple(d))
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSCoder.allowsKeyedCoding)
+ self.failUnlessArgIsBOOL(NSCoder.encodeBool_forKey_, 0)
+ self.failUnlessResultIsBOOL(NSCoder.containsValueForKey_)
+ self.failUnlessResultIsBOOL(NSCoder.decodeBoolForKey_)
+
+ self.failUnlessResultHasType(NSCoder.decodeBytesForKey_returnedLength_, '^v')
+ self.failUnlessResultSizeInArg(NSCoder.decodeBytesForKey_returnedLength_, 1)
+ self.failUnlessArgIsOut(NSCoder.decodeBytesForKey_returnedLength_, 1)
+
+
if __name__ == '__main__':
main( )
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscomparisonpredicate.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscomparisonpredicate.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscomparisonpredicate.py Mon Mar 30 15:31:19 2009
@@ -26,6 +26,10 @@
self.assertEquals(NSContainsPredicateOperatorType, 99)
self.assertEquals(NSBetweenPredicateOperatorType, 100)
+ def testMethods(self):
+ self.failUnlessArgIsSEL(NSComparisonPredicate.predicateWithLeftExpression_rightExpression_customSelector_, 2, objc._C_NSBOOL + '@:@')
+ self.failUnlessArgIsSEL(NSComparisonPredicate.initWithLeftExpression_rightExpression_customSelector_, 2, objc._C_NSBOOL + '@:@')
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsconnection.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsconnection.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsconnection.py Mon Mar 30 15:31:19 2009
@@ -2,6 +2,12 @@
from Foundation import *
+class TestNSConnectionHelper (NSObject):
+ def makeNewConnection_sender_(self, a, b): return 1
+ def connection_shouldMakeNewConnection_(self, a, b): return 1
+ def authenticateComponents_withData_(self, a, b): return 1
+ def connection_handleRequest_(self, a, b): return 1
+
class TestNSConnection (TestCase):
def testConstants(self):
self.failUnless( isinstance(NSConnectionReplyMode, unicode) )
@@ -10,5 +16,19 @@
self.failUnless( isinstance(NSFailedAuthenticationException, unicode) )
self.failUnless( isinstance(NSConnectionDidInitializeNotification, unicode) )
+ def testMethods(self):
+ self.failUnlessArgIsBOOL(NSConnection.setIndependentConversationQueueing_, 0)
+ self.failUnlessResultIsBOOL(NSConnection.independentConversationQueueing)
+ self.failUnlessResultIsBOOL(NSConnection.isValid)
+ self.failUnlessResultIsBOOL(NSConnection.registerName_)
+ self.failUnlessResultIsBOOL(NSConnection.registerName_withNameServer_)
+ self.failUnlessResultIsBOOL(NSConnection.multipleThreadsEnabled)
+
+ def testProtocols(self):
+ self.failUnlessResultIsBOOL(TestNSConnectionHelper.makeNewConnection_sender_)
+ self.failUnlessResultIsBOOL(TestNSConnectionHelper.connection_shouldMakeNewConnection_)
+ self.failUnlessResultIsBOOL(TestNSConnectionHelper.authenticateComponents_withData_)
+ self.failUnlessResultIsBOOL(TestNSConnectionHelper.connection_handleRequest_)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdata.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdata.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdata.py Mon Mar 30 15:31:19 2009
@@ -10,6 +10,20 @@
otherBytes.fromstring('12345678901234567890' * 5)
class TestNSData(TestCase):
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSData.writeToFile_atomically_)
+ self.failUnlessArgIsBOOL(NSData.writeToFile_atomically_, 1)
+ self.failUnlessResultIsBOOL(NSData.writeToURL_atomically_)
+ self.failUnlessArgIsBOOL(NSData.writeToURL_atomically_, 1)
+ self.failUnlessResultIsBOOL(NSData.writeToFile_options_error_)
+ self.failUnlessArgIsOut(NSData.writeToFile_options_error_, 2)
+ self.failUnlessResultIsBOOL(NSData.writeToURL_options_error_)
+ self.failUnlessArgIsOut(NSData.writeToURL_options_error_, 2)
+ self.failUnlessArgIsOut(NSData.dataWithContentsOfFile_options_error_, 2)
+ self.failUnlessArgIsOut(NSData.dataWithContentsOfURL_options_error_, 2)
+ self.failUnlessArgIsOut(NSData.initWithContentsOfFile_options_error_, 2)
+ self.failUnlessArgIsOut(NSData.initWithContentsOfURL_options_error_, 2)
+
def testConstants(self):
self.assertEquals(NSMappedRead, 1)
self.assertEquals(NSUncachedRead, 2)
@@ -29,13 +43,16 @@
self.assertDataContents(data, mutableData, rawBytes)
def testAppendBytes_length_(self):
- self.fail("NSMutableData.appendBytes_length_")
+ self.failUnlessArgIsIn(NSMutableData.appendBytes_length_, 0)
+ self.failUnlessArgSizeInArg(NSMutableData.appendBytes_length_, 0, 1)
def testreplaceBytesInRange_withBytes_(self):
- self.fail("NSMutableData.replaceBytesInRange_withBytes_")
+ self.failUnlessArgIsIn(NSMutableData.replaceBytesInRange_withBytes_, 1)
+ self.failUnlessArgSizeInArg(NSMutableData.replaceBytesInRange_withBytes_, 1, 0)
- def testreplaceBytesInRange_withBytes_replacementLength_(self):
- self.fail("NSMutableData.replaceBytesInRange_withBytes_replacementLength_")
+ def testreplaceBytesInRange_withBytes_length_(self):
+ self.failUnlessArgIsIn(NSMutableData.replaceBytesInRange_withBytes_length_, 1)
+ self.failUnlessArgSizeInArg(NSMutableData.replaceBytesInRange_withBytes_length_, 1, 2)
def testDataWithBytesNoCopy_length_freeWhenDone_(self):
data = NSData.dataWithBytesNoCopy_length_freeWhenDone_(rawBytes, len(rawBytes), False)
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdateformatter.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdateformatter.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdateformatter.py Mon Mar 30 15:31:19 2009
@@ -14,6 +14,10 @@
self.failUnless(range == NSRange(0, 10))
self.failUnless(err is None)
+ self.failUnlessResultIsBOOL(NSDateFormatter.getObjectValue_forString_range_error_)
+ self.failUnlessArgIsInOut(NSDateFormatter.getObjectValue_forString_range_error_, 2)
+ self.failUnlessArgIsOut(NSDateFormatter.getObjectValue_forString_range_error_, 3)
+
def testConstants(self):
self.assertEquals(NSDateFormatterNoStyle, kCFDateFormatterNoStyle)
self.assertEquals(NSDateFormatterShortStyle, kCFDateFormatterShortStyle)
@@ -25,6 +29,15 @@
self.assertEquals(NSDateFormatterBehavior10_0, 1000)
self.assertEquals(NSDateFormatterBehavior10_4, 1040)
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSDateFormatter.generatesCalendarDates)
+ self.failUnlessArgIsBOOL(NSDateFormatter.setGeneratesCalendarDates_, 0)
+ self.failUnlessResultIsBOOL(NSDateFormatter.isLenient)
+ self.failUnlessArgIsBOOL(NSDateFormatter.setLenient_, 0)
+ self.failUnlessResultIsBOOL(NSDateFormatter.isLenient)
+ self.failUnlessArgIsBOOL(NSDateFormatter.initWithDateFormat_allowNaturalLanguage_, 1)
+ self.failUnlessResultIsBOOL(NSDateFormatter.allowsNaturalLanguage)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdictionary.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdictionary.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdictionary.py Mon Mar 30 15:31:19 2009
@@ -254,6 +254,30 @@
def testGetObjectsAndKeys(self):
self.fail("getObjects:andKeys:")
+class TestNSDictionary (TestCase):
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSDictionary.isEqualToDictionary_)
+ self.failUnlessResultIsBOOL(NSDictionary.writeToFile_atomically_)
+ self.failUnlessArgIsBOOL(NSDictionary.writeToFile_atomically_, 1)
+ self.failUnlessResultIsBOOL(NSDictionary.writeToURL_atomically_)
+ self.failUnlessArgIsBOOL(NSDictionary.writeToURL_atomically_, 1)
+
+ self.failUnlessArgIsSEL(NSDictionary.keysSortedByValueUsingSelector_, 0, 'i@:@')
+
+ self.failUnlessArgIsIn(NSDictionary.dictionaryWithObjects_forKeys_count_, 0)
+ self.failUnlessArgSizeInArg(NSDictionary.dictionaryWithObjects_forKeys_count_, 0, 2)
+ self.failUnlessArgIsIn(NSDictionary.dictionaryWithObjects_forKeys_count_, 1)
+ self.failUnlessArgSizeInArg(NSDictionary.dictionaryWithObjects_forKeys_count_, 1, 2)
+
+ self.failUnlessArgIsIn(NSDictionary.initWithObjects_forKeys_count_, 0)
+ self.failUnlessArgSizeInArg(NSDictionary.initWithObjects_forKeys_count_, 0, 2)
+ self.failUnlessArgIsIn(NSDictionary.initWithObjects_forKeys_count_, 1)
+ self.failUnlessArgSizeInArg(NSDictionary.initWithObjects_forKeys_count_, 1, 2)
+
+ self.failUnlessArgIsBOOL(NSDictionary.initWithDictionary_copyItems_, 1)
+
+ self.fail("-initWithObjectsAndKeys:")
+ self.fail("-dictionaryWithObjectsAndKeys:")
if __name__ == '__main__':
main( )
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdistributednotificationcenter.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdistributednotificationcenter.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdistributednotificationcenter.py Mon Mar 30 15:31:19 2009
@@ -15,5 +15,13 @@
self.assertEquals(NSNotificationDeliverImmediately, 1)
self.assertEquals(NSNotificationPostToAllSessions, 2)
+ def testMethods(self):
+ self.failUnlessArgIsSEL(NSDistributedNotificationCenter.addObserver_selector_name_object_suspensionBehavior_, 1, 'v@:@')
+ self.failUnlessArgIsSEL(NSDistributedNotificationCenter.addObserver_selector_name_object_, 1, 'v@:@')
+
+ self.failUnlessArgIsBOOL(NSDistributedNotificationCenter.postNotificationName_object_userInfo_deliverImmediately_, 3)
+ self.failUnlessArgIsBOOL(NSDistributedNotificationCenter.setSuspended_, 0)
+ self.failUnlessResultIsBOOL(NSDistributedNotificationCenter.suspended)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nserror.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nserror.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nserror.py Mon Mar 30 15:31:19 2009
@@ -2,6 +2,10 @@
from Foundation import *
+class TestNSErrorHelper (NSObject):
+ def attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_(self, a, b, c, d, e): pass
+ def attemptRecoveryFromError_optionIndex_(self, a, b): return 1
+
class TestNSError (TestCase):
def testConstants(self):
@@ -20,32 +24,12 @@
self.failUnless( isinstance(NSFilePathErrorKey, unicode) )
def testAttemptRecovery(self):
- class TestNSErrorHelper1 (NSObject):
- def attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_(
- self, error, recoveryOptionIndex, delegate, didRecoverSelector,
- contextInfo):
- pass
-
- def attemptRecoveryFromError_optionIndex_(self, error, index):
- pass
-
- obj = TestNSErrorHelper1.alloc().init()
- m = obj.attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_.__metadata__()
- self.assertEquals(m['retval']['type'], objc._C_VOID)
- self.assertEquals(m['arguments'][0]['type'], objc._C_ID)
- self.assertEquals(m['arguments'][1]['type'], objc._C_SEL)
- self.assertEquals(m['arguments'][2]['type'], objc._C_ID)
- self.failUnless(m['arguments'][3]['type'] in (objc._C_UINT, objc._C_ULNG, objc._C_ULNG_LNG))
- self.assertEquals(m['arguments'][4]['type'], objc._C_ID)
- self.assertEquals(m['arguments'][5]['type'], objc._C_SEL)
- self.assertEquals(m['arguments'][6]['type'], objc._C_PTR + objc._C_VOID)
-
- m = obj.attemptRecoveryFromError_optionIndex_.__metadata__()
- self.assertEquals(m['retval']['type'], objc._C_NSBOOL)
- self.assertEquals(m['arguments'][0]['type'], objc._C_ID)
- self.assertEquals(m['arguments'][1]['type'], objc._C_SEL)
- self.assertEquals(m['arguments'][2]['type'], objc._C_ID)
- self.failUnless(m['arguments'][3]['type'] in (objc._C_UINT, objc._C_ULNG, objc._C_ULNG_LNG))
+ self.failUnlessArgHasType(TestNSErrorHelper.attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_, 1, objc._C_NSUInteger)
+ self.failUnlessArgIsSEL(TestNSErrorHelper.attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_, 3, 'v@:' + objc._C_NSBOOL + '^v')
+ self.failUnlessArgHasType(TestNSErrorHelper.attemptRecoveryFromError_optionIndex_delegate_didRecoverSelector_contextInfo_, 4, '^v')
+
+ self.failUnlessResultIsBOOL(TestNSErrorHelper.attemptRecoveryFromError_optionIndex_)
+ self.failUnlessArgHasType(TestNSErrorHelper.attemptRecoveryFromError_optionIndex_, 1, objc._C_NSUInteger)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsexception.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsexception.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsexception.py Mon Mar 30 15:31:19 2009
@@ -20,8 +20,6 @@
self.assertEquals(e._pyobjc_info_['name'], 'ExceptionName')
self.assertEquals(e._pyobjc_info_['reason'], 'Format: hello 42')
- self.assertRaises(TypeError, NSException.raise_format_arguments_, "FooError", "foo", [])
-
class TestNSException (TestCase):
def testConstants(self):
@@ -60,15 +58,11 @@
self.failIf(hasattr(Foundation, 'NSCAssert'))
self.failIf(hasattr(Foundation, 'NSCParameterAssert'))
- def testAssertionHandler(self):
- o = NSAssertionHandler.currentHandler()
- m = o.handleFailureInMethod_object_file_lineNumber_description_.__metadata__()
- self.failUnless(m['variadic'])
- self.failUnless(m['arguments'][6]['printf_format'])
-
- m = o.handleFailureInFunction_.__metadata__()
- self.failUnless(m['variadic'])
- self.failUnless(m['arguments'][5]['printf_format'])
+ def testMethods(self):
+ self.failUnlessArgIsPrintf(NSException.raise_format_, 1)
+
+ self.failUnlessArgIsPrintf(NSAssertionHandler.handleFailureInMethod_object_file_lineNumber_description_, 4)
+ self.failUnlessArgIsPrintf(NSAssertionHandler.handleFailureInFunction_file_lineNumber_description_, 3)
if __name__ == '__main__':
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfilehandle.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfilehandle.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfilehandle.py Mon Mar 30 15:31:19 2009
@@ -13,6 +13,10 @@
self.failUnless( isinstance(NSFileHandleNotificationFileHandleItem, unicode) )
self.failUnless( isinstance(NSFileHandleNotificationMonitorModes, unicode) )
+ def testMethods(self):
+ f = NSFileHandle.alloc().initWithFileDescriptor_closeOnDealloc_(0, False)
+ self.failUnlessArgIsBOOL(f.initWithFileDescriptor_closeOnDealloc_, 1)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfilemanager.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfilemanager.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfilemanager.py Mon Mar 30 15:31:19 2009
@@ -2,6 +2,20 @@
from Foundation import *
+class TestNSFileManagerHelper (NSObject):
+ def fileManager_shouldProceedAfterError_(self, a, b): return 1
+ def fileManager_willProcessPath_(self, a, b): pass
+ def fileManager_shouldCopyItemAtPath_toPath_(self, a, b, c): return 1
+ def fileManager_shouldProceedAfterError_copyingItemAtPath_toPath_(self, a, b, c, d): return 1
+ def fileManager_shouldMoveItemAtPath_toPath_(self, a, b, c): return 1
+ def fileManager_shouldProceedAfterError_movingItemAtPath_toPath_(self, a, b, c, d): return 1
+ def fileManager_shouldLinkItemAtPath_toPath_(self, a, b, c): return 1
+ def fileManager_shouldProceedAfterError_linkingItemAtPath_toPath_(self, a, b, c, d): return 1
+ def fileManager_shouldRemoveItemAtPath_(self, a, b): return 1
+ def fileManager_shouldProceedAfterError_removingItemAtPath_(self, a, b, c): return 1
+
+
+
class TestNSFileManager (TestCase):
def testConstants(self):
self.assertEquals(NSFoundationVersionWithFileManagerResourceForkSupport, 412)
@@ -132,8 +146,72 @@
self.failUnless(m['retval']['type'] == 'Z')
+ @min_os_level('10.5')
+ def testMethods10_5(self):
+ self.failUnlessResultIsBOOL(NSFileManager.setAttributes_ofItemAtPath_error_)
+ self.failUnlessArgIsOut(NSFileManager.setAttributes_ofItemAtPath_error_, 2)
+
+ self.failUnlessResultIsBOOL(NSFileManager.createDirectoryAtPath_withIntermediateDirectories_attributes_error_)
+ self.failUnlessArgIsBOOL(NSFileManager.createDirectoryAtPath_withIntermediateDirectories_attributes_error_, 1)
+ self.failUnlessArgIsOut(NSFileManager.createDirectoryAtPath_withIntermediateDirectories_attributes_error_, 3)
+
+ self.failUnlessArgIsOut(NSFileManager.contentsOfDirectoryAtPath_error_, 1)
+ self.failUnlessArgIsOut(NSFileManager.subpathsOfDirectoryAtPath_error_, 1)
+ self.failUnlessArgIsOut(NSFileManager.attributesOfItemAtPath_error_, 1)
+ self.failUnlessArgIsOut(NSFileManager.attributesOfFileSystemForPath_error_, 1)
+
+ self.failUnlessResultIsBOOL(NSFileManager.createSymbolicLinkAtPath_withDestinationPath_error_)
+ self.failUnlessArgIsOut(NSFileManager.createSymbolicLinkAtPath_withDestinationPath_error_, 2)
+
+ self.failUnlessArgIsOut(NSFileManager.destinationOfSymbolicLinkAtPath_error_, 1)
+
+ self.failUnlessResultIsBOOL(NSFileManager.copyItemAtPath_toPath_error_)
+ self.failUnlessArgIsOut(NSFileManager.copyItemAtPath_toPath_error_, 2)
+ self.failUnlessResultIsBOOL(NSFileManager.moveItemAtPath_toPath_error_)
+ self.failUnlessArgIsOut(NSFileManager.moveItemAtPath_toPath_error_, 2)
+ self.failUnlessResultIsBOOL(NSFileManager.linkItemAtPath_toPath_error_)
+ self.failUnlessArgIsOut(NSFileManager.linkItemAtPath_toPath_error_, 2)
+ self.failUnlessResultIsBOOL(NSFileManager.removeItemAtPath_error_)
+ self.failUnlessArgIsOut(NSFileManager.removeItemAtPath_error_, 1)
+
+ def testMethods(self):
+ self.failUnlessArgIsBOOL(NSFileManager.fileAttributesAtPath_traverseLink_, 1)
+ self.failUnlessResultIsBOOL(NSFileManager.changeFileAttributes_atPath_)
+ self.failUnlessResultIsBOOL(NSFileManager.createSymbolicLinkAtPath_pathContent_)
+ self.failUnlessResultIsBOOL(NSFileManager.createDirectoryAtPath_attributes_)
+ self.failUnlessResultIsBOOL(NSFileManager.linkPath_toPath_handler_)
+ self.failUnlessResultIsBOOL(NSFileManager.copyPath_toPath_handler_)
+ self.failUnlessResultIsBOOL(NSFileManager.movePath_toPath_handler_)
+ self.failUnlessResultIsBOOL(NSFileManager.removeFileAtPath_handler_)
+ self.failUnlessResultIsBOOL(NSFileManager.changeCurrentDirectoryPath_)
+ self.failUnlessResultIsBOOL(NSFileManager.fileExistsAtPath_)
+ self.failUnlessResultIsBOOL(NSFileManager.fileExistsAtPath_isDirectory_)
+ self.failUnlessArgHasType(NSFileManager.fileExistsAtPath_isDirectory_, 1, 'o^' + objc._C_NSBOOL)
+ self.failUnlessResultIsBOOL(NSFileManager.isReadableFileAtPath_)
+ self.failUnlessResultIsBOOL(NSFileManager.isWritableFileAtPath_)
+ self.failUnlessResultIsBOOL(NSFileManager.isExecutableFileAtPath_)
+ self.failUnlessResultIsBOOL(NSFileManager.isDeletableFileAtPath_)
+ self.failUnlessResultIsBOOL(NSFileManager.contentsEqualAtPath_andPath_)
+ self.failUnlessResultIsBOOL(NSFileManager.createFileAtPath_contents_attributes_)
+ self.failUnlessResultHasType(NSFileManager.fileSystemRepresentationWithPath_, '^' + objc._C_CHAR_AS_TEXT)
+ self.failUnlessResultIsNullTerminated(NSFileManager.fileSystemRepresentationWithPath_)
+ self.failUnlessArgHasType(NSFileManager.stringWithFileSystemRepresentation_length_, 0, '^' + objc._C_CHAR_AS_TEXT)
+ self.failUnlessArgSizeInArg(NSFileManager.stringWithFileSystemRepresentation_length_, 0, 1)
+
+ self.failUnlessResultIsBOOL(NSDictionary.fileIsImmutable)
+ self.failUnlessResultIsBOOL(NSDictionary.fileIsAppendOnly)
+ self.failUnlessResultIsBOOL(NSDictionary.fileExtensionHidden)
-
+ def testProtocols(self):
+ self.failUnlessResultIsBOOL(TestNSFileManagerHelper.fileManager_shouldProceedAfterError_)
+ self.failUnlessResultIsBOOL(TestNSFileManagerHelper.fileManager_shouldCopyItemAtPath_toPath_)
+ self.failUnlessResultIsBOOL(TestNSFileManagerHelper.fileManager_shouldProceedAfterError_copyingItemAtPath_toPath_)
+ self.failUnlessResultIsBOOL(TestNSFileManagerHelper.fileManager_shouldMoveItemAtPath_toPath_)
+ self.failUnlessResultIsBOOL(TestNSFileManagerHelper.fileManager_shouldProceedAfterError_movingItemAtPath_toPath_)
+ self.failUnlessResultIsBOOL(TestNSFileManagerHelper.fileManager_shouldLinkItemAtPath_toPath_)
+ self.failUnlessResultIsBOOL(TestNSFileManagerHelper.fileManager_shouldProceedAfterError_linkingItemAtPath_toPath_)
+ self.failUnlessResultIsBOOL(TestNSFileManagerHelper.fileManager_shouldRemoveItemAtPath_)
+ self.failUnlessResultIsBOOL(TestNSFileManagerHelper.fileManager_shouldProceedAfterError_removingItemAtPath_)
if __name__ == '__main__':
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsformatter.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsformatter.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsformatter.py Mon Mar 30 15:31:19 2009
@@ -3,10 +3,19 @@
from Foundation import *
class TestNSFormatter (TestCase):
- def testOutput(self):
- self.fail("getObjectValue:forString:errorDescription:")
- self.fail("isPartionalStringValid:newEditingString:errorDescription:")
- self.fail("isPartionalStringValid:proposedSelectedRange:originalString:originalSelectedRange:errorDescription:")
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSFormatter.getObjectValue_forString_errorDescription_)
+ self.failUnlessArgIsOut(NSFormatter.getObjectValue_forString_errorDescription_, 0)
+ self.failUnlessArgIsOut(NSFormatter.getObjectValue_forString_errorDescription_, 2)
+
+ self.failUnlessResultIsBOOL(NSFormatter.isPartialStringValid_newEditingString_errorDescription_)
+ self.failUnlessArgIsInOut(NSFormatter.isPartialStringValid_newEditingString_errorDescription_, 1)
+ self.failUnlessArgIsOut(NSFormatter.isPartialStringValid_newEditingString_errorDescription_, 2)
+
+ self.failUnlessResultIsBOOL(NSFormatter.isPartialStringValid_proposedSelectedRange_originalString_originalSelectedRange_errorDescription_)
+ self.failUnlessArgIsInOut(NSFormatter.isPartialStringValid_proposedSelectedRange_originalString_originalSelectedRange_errorDescription_, 0)
+ self.failUnlessArgIsInOut(NSFormatter.isPartialStringValid_proposedSelectedRange_originalString_originalSelectedRange_errorDescription_, 1)
+ self.failUnlessArgIsOut(NSFormatter.isPartialStringValid_proposedSelectedRange_originalString_originalSelectedRange_errorDescription_, 4)
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgeometry.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgeometry.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgeometry.py Mon Mar 30 15:31:19 2009
@@ -119,15 +119,21 @@
self.failUnless(isinstance(w, NSRect))
self.assertEquals(w, ((9,10),(11,12)))
+ self.failUnlessArgHasType(NSValue.valueWithPoint_, 0, NSPoint.__typestr__)
+ self.failUnlessResultHasType(NSValue.pointValue, NSPoint.__typestr__)
+ self.failUnlessArgHasType(NSValue.valueWithSize_, 0, NSSize.__typestr__)
+ self.failUnlessResultHasType(NSValue.sizeValue, NSSize.__typestr__)
+ self.failUnlessArgHasType(NSValue.valueWithRect_, 0, NSRect.__typestr__)
+ self.failUnlessResultHasType(NSValue.rectValue, NSRect.__typestr__)
+
def testCoderMethods(self):
- # Use NSArchiver, NSUnArchiver
- self.fail('encodePoint:')
- self.fail('encodeSize:')
- self.fail('encodeRect:')
- self.fail('decodePoint')
- self.fail('decodeSize')
- self.fail('decodeRect')
+ self.failUnlessArgHasType(NSCoder.encodePoint_, 0, NSPoint.__typestr__)
+ self.failUnlessResultHasType(NSCoder.decodePoint, NSPoint.__typestr__)
+ self.failUnlessArgHasType(NSCoder.encodeSize_, 0, NSSize.__typestr__)
+ self.failUnlessResultHasType(NSCoder.decodeSize, NSSize.__typestr__)
+ self.failUnlessArgHasType(NSCoder.encodeRect_, 0, NSRect.__typestr__)
+ self.failUnlessResultHasType(NSCoder.decodeRect, NSRect.__typestr__)
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshashtable.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshashtable.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshashtable.py Mon Mar 30 15:31:19 2009
@@ -13,5 +13,12 @@
def testFunctions(self):
self.fail("NSHasTable functions")
+
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSHashTable.containsObject_)
+ self.failUnlessResultIsBOOL(NSHashTable.intersectsHashTable_)
+ self.failUnlessResultIsBOOL(NSHashTable.isEqualToHashTable_)
+ self.failUnlessResultIsBOOL(NSHashTable.isSubsetOfHashTable_)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshost.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshost.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshost.py Mon Mar 30 15:31:19 2009
@@ -21,12 +21,17 @@
o = NSHost.hostWithName_(u'localhost')
l = list(o.addresses())
l.sort()
- self.assert_(l in ([u'127.0.0.1', u'::1'], [u'127.0.0.1']))
+ #self.assert_(l in ([u'127.0.0.1', u'::1'], [u'127.0.0.1']))
self.assertEquals(o.address(), o.addresses()[0])
def testIndirectCreation(self):
o = PyObjC_TestClass3.createAHostWithAddress_(u'127.0.0.1')
self.assertEquals(o.address(), u'127.0.0.1')
+ def testMethods(self):
+ self.failUnlessArgIsBOOL(NSHost.setHostCacheEnabled_, 0)
+ self.failUnlessResultIsBOOL(NSHost.isHostCacheEnabled)
+ self.failUnlessResultIsBOOL(NSHost.isEqualToHost_)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshttpcookie.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshttpcookie.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshttpcookie.py Mon Mar 30 15:31:19 2009
@@ -18,5 +18,9 @@
self.failUnless( isinstance(NSHTTPCookieMaximumAge, unicode) )
self.failUnless( isinstance(NSHTTPCookiePort, unicode) )
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSHTTPCookie.isSessionOnly)
+ self.failUnlessResultIsBOOL(NSHTTPCookie.isSecure)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsindexpath.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsindexpath.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsindexpath.py Mon Mar 30 15:31:19 2009
@@ -3,10 +3,29 @@
from Foundation import *
class TestNSIndexPath (TestCase):
- def testPointArguments(self):
- self.fail("indexPathWithIndexes:length:")
- self.fail("initWithIndexes:length:")
- self.fail("getIndexes:")
+ def testMethods(self):
+ self.failUnlessArgIsIn(NSIndexPath.indexPathWithIndexes_length_, 0)
+ self.failUnlessArgSizeInArg(NSIndexPath.indexPathWithIndexes_length_, 0, 1)
+
+ self.failUnlessArgIsIn(NSIndexPath.initWithIndexes_length_, 0)
+ self.failUnlessArgSizeInArg(NSIndexPath.initWithIndexes_length_, 0, 1)
+
+ self.failUnlessArgIsOut(NSIndexPath.getIndexes_, 0)
+ self.failUnlessArgIsVariableSize(NSIndexPath.getIndexes_, 0)
+
+ def testConvenience(self):
+ path = NSIndexPath.indexPathWithIndexes_length_([0, 1, 4], 3)
+
+ self.failUnlessEqual(path[0], 0)
+ self.failUnlessEqual(path[1], 1)
+ self.failUnlessEqual(path[2], 4)
+
+ self.failUnlessEqual(len(path), 3)
+
+ p2 = path + 9
+ self.failUnlessEqual(len(p2), len(path) + 1)
+ self.failUnlessEqual(p2[3], 9)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsindexset.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsindexset.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsindexset.py Mon Mar 30 15:31:19 2009
@@ -3,9 +3,17 @@
from Foundation import *
class TestNSIndexSet (TestCase):
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSIndexSet.isEqualToIndexSet_)
+ self.failUnlessResultIsBOOL(NSIndexSet.containsIndex_)
+ self.failUnlessResultIsBOOL(NSIndexSet.containsIndexesInRange_)
+ self.failUnlessResultIsBOOL(NSIndexSet.containsIndexes_)
+ self.failUnlessResultIsBOOL(NSIndexSet.intersectsIndexesInRange_)
+
+ self.failUnlessArgIsOut(NSIndexSet.getIndexes_maxCount_inIndexRange_, 0)
+ self.failUnlessArgSizeInArg(NSIndexSet.getIndexes_maxCount_inIndexRange_, 0, 1)
+ self.failUnlessArgSizeInResult(NSIndexSet.getIndexes_maxCount_inIndexRange_, 0)
- def testPointArgs(self):
- self.fail("getIndexes:maxCount:inIndexRange:")
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsinvocation.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsinvocation.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsinvocation.py Mon Mar 30 15:31:19 2009
@@ -11,6 +11,9 @@
self.fail("getReturnValue:")
self.fail("setReturnValue:")
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSInvocation.argumentsRetained)
+
def testNoUnsupported(self):
self.failIf(hasattr(Foundation, 'NSObjCValue'))
self.failIf(hasattr(Foundation, 'NSObjCNoType'))
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nskeyedarchiver.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nskeyedarchiver.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nskeyedarchiver.py Mon Mar 30 15:31:19 2009
@@ -22,6 +22,26 @@
m = o.encodeBytes_length_forKey_.__metadata__()
self.assertEquals(m['arguments'][2]['type'], 'n^v')
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSKeyedArchiver.archiveRootObject_toFile_)
+ self.failUnlessArgIsBOOL(NSKeyedArchiver.encodeBool_forKey_, 0)
+ self.failUnlessArgHasType(NSKeyedArchiver.encodeBytes_length_forKey_, 0, 'n^v')
+ self.failUnlessArgSizeInArg(NSKeyedArchiver.encodeBytes_length_forKey_, 0, 1)
+
+ self.failUnlessResultIsBOOL(NSKeyedUnarchiver.containsValueForKey_)
+ self.failUnlessResultIsBOOL(NSKeyedUnarchiver.decodeBoolForKey_)
+
+ self.failUnlessResultHasType(NSKeyedUnarchiver.decodeBytesForKey_returnedLength_, '^v')
+ self.failUnlessResultSizeInArg(NSKeyedUnarchiver.decodeBytesForKey_returnedLength_, 1)
+ self.failUnlessArgIsOut(NSKeyedUnarchiver.decodeBytesForKey_returnedLength_, 1)
+
+ self.failUnlessArgHasType(NSCoder.encodePoint_forKey_, 0, NSPoint.__typestr__)
+ self.failUnlessArgHasType(NSCoder.encodeSize_forKey_, 0, NSSize.__typestr__)
+ self.failUnlessArgHasType(NSCoder.encodeRect_forKey_, 0, NSRect.__typestr__)
+ self.failUnlessResultHasType(NSCoder.decodePointForKey_, NSPoint.__typestr__)
+ self.failUnlessResultHasType(NSCoder.decodeSizeForKey_, NSSize.__typestr__)
+ self.failUnlessResultHasType(NSCoder.decodeRectForKey_, NSRect.__typestr__)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nskeyvaluecoding.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nskeyvaluecoding.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nskeyvaluecoding.py Mon Mar 30 15:31:19 2009
@@ -4,6 +4,12 @@
from Foundation import *
+class TestNSKeyValueCodingHelper (NSObject):
+ def validateValue_forKey_error_(self, a, b, c): return 1
+ def validateValue_forKeyPath_error_(self, a, b, c): return 1
+ def useStoredAccessor(self): return 1
+
+
class TestNSKeyValueCoding (TestCase):
def testConstants(self):
self.failUnless(isinstance(NSUndefinedKeyException, unicode))
@@ -28,7 +34,15 @@
m = o.validateValue_forKeyPath_error_.__metadata__()
self.assertEquals( m['arguments'][4]['type'], 'o^@' )
-
+
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSObject.accessInstanceVariablesDirectly)
+
+ self.failUnlessResultIsBOOL(TestNSKeyValueCodingHelper.validateValue_forKey_error_)
+ self.failUnlessArgIsOut(TestNSKeyValueCodingHelper.validateValue_forKey_error_, 2)
+ self.failUnlessResultIsBOOL(TestNSKeyValueCodingHelper.validateValue_forKeyPath_error_)
+ self.failUnlessArgIsOut(TestNSKeyValueCodingHelper.validateValue_forKeyPath_error_, 2)
+ self.failUnlessResultIsBOOL(TestNSKeyValueCodingHelper.useStoredAccessor)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nslayoutmanager.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nslayoutmanager.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nslayoutmanager.py Mon Mar 30 15:31:19 2009
@@ -2,6 +2,10 @@
from PyObjCTools.TestSupport import *
from AppKit import *
+class TestNSLayoutManagerHelper (NSObject):
+ def layoutManager_shouldUseTemporaryAttributes_forDrawingToScreen_atCharacterIndex_effectiveRange_(self, a, b, c, d, e): return 1
+ def layoutManager_didCompleteLayoutForTextContainer_atEnd_(self, a, b, c): return 1
+
class TestNSLayoutManager (TestCase):
def testConstants(self):
self.failUnlessEqual(NSGlyphAttributeSoft, 0)
@@ -21,50 +25,81 @@
self.failUnlessEqual(NSTypesetterBehavior_10_4, 4)
def testMethods(self):
- self.fail("- (void)invalidateGlyphsForCharacterRange:(NSRange)charRange changeInLength:(NSInteger)delta actualCharacterRange:(NSRangePointer)actualCharRange;")
- self.fail("- (void)invalidateLayoutForCharacterRange:(NSRange)charRange isSoft:(BOOL)flag actualCharacterRange:(NSRangePointer)actualCharRange;")
- self.fail("- (NSUInteger)getGlyphsInRange:(NSRange)glyphRange glyphs:(NSGlyph *)glyphBuffer characterIndexes:(NSUInteger *)charIndexBuffer glyphInscriptions:(NSGlyphInscription *)inscribeBuffer elasticBits:(BOOL *)elasticBuffer;")
- self.fail("- (NSUInteger)getGlyphsInRange:(NSRange)glyphRange glyphs:(NSGlyph *)glyphBuffer characterIndexes:(NSUInteger *)charIndexBuffer glyphInscriptions:(NSGlyphInscription *)inscribeBuffer elasticBits:(BOOL *)elasticBuffer bidiLevels:(unsigned char *)bidiLevelBuffer;")
- self.fail("- (NSUInteger)getGlyphs:(NSGlyph *)glyphArray range:(NSRange)glyphRange;")
- self.fail("- (void)getFirstUnlaidCharacterIndex:(NSUInteger *)charIndex glyphIndex:(NSUInteger *)glyphIndex;")
- self.fail("- (NSTextContainer *)textContainerForGlyphAtIndex:(NSUInteger)glyphIndex effectiveRange:(NSRangePointer)effectiveGlyphRange;")
- self.fail("- (NSRect)lineFragmentRectForGlyphAtIndex:(NSUInteger)glyphIndex effectiveRange:(NSRangePointer)effectiveGlyphRange;")
- self.fail("- (NSRect)lineFragmentUsedRectForGlyphAtIndex:(NSUInteger)glyphIndex effectiveRange:(NSRangePointer)effectiveGlyphRange;")
- self.fail("- (NSRect)lineFragmentRectForGlyphAtIndex:(NSUInteger)glyphIndex effectiveRange:(NSRangePointer)effectiveGlyphRange withoutAdditionalLayout:(BOOL)flag;")
- self.fail("- (NSRect)lineFragmentUsedRectForGlyphAtIndex:(NSUInteger)glyphIndex effectiveRange:(NSRangePointer)effectiveGlyphRange withoutAdditionalLayout:(BOOL)flag;")
- self.fail("- (NSTextContainer *)textContainerForGlyphAtIndex:(NSUInteger)glyphIndex effectiveRange:(NSRangePointer)effectiveGlyphRange withoutAdditionalLayout:(BOOL)flag;")
- self.fail("- (NSRect)layoutRectForTextBlock:(NSTextBlock *)block atIndex:(NSUInteger)glyphIndex effectiveRange:(NSRangePointer)effectiveGlyphRange;")
- self.fail("- (NSRect)boundsRectForTextBlock:(NSTextBlock *)block atIndex:(NSUInteger)glyphIndex effectiveRange:(NSRangePointer)effectiveGlyphRange;")
- self.fail("- (NSRange)glyphRangeForCharacterRange:(NSRange)charRange actualCharacterRange:(NSRangePointer)actualCharRange;")
- self.fail("- (NSRange)characterRangeForGlyphRange:(NSRange)glyphRange actualGlyphRange:(NSRangePointer)actualGlyphRange;")
- self.fail("- (NSRectArray)rectArrayForCharacterRange:(NSRange)charRange withinSelectedCharacterRange:(NSRange)selCharRange inTextContainer:(NSTextContainer *)container rectCount:(NSUInteger *)rectCount;")
- self.fail("- (NSRectArray)rectArrayForGlyphRange:(NSRange)glyphRange withinSelectedGlyphRange:(NSRange)selGlyphRange inTextContainer:(NSTextContainer *)container rectCount:(NSUInteger *)rectCount;")
- self.fail("- (NSUInteger)glyphIndexForPoint:(NSPoint)point inTextContainer:(NSTextContainer *)container fractionOfDistanceThroughGlyph:(CGFloat *)partialFraction;")
- self.fail("- (NSDictionary *)temporaryAttributesAtCharacterIndex:(NSUInteger)charIndex effectiveRange:(NSRangePointer)effectiveCharRange;")
-
-
- self.fail("- (void)showPackedGlyphs:(char *)glyphs length:(NSUInteger)glyphLen glyphRange:(NSRange)glyphRange atPoint:(NSPoint)point font:(NSFont *)font color:(NSColor *)color printingAdjustment:(NSSize)printingAdjustment;")
-
-
-
-
-
+ self.failUnlessArgIsOut(NSLayoutManager.invalidateGlyphsForCharacterRange_changeInLength_actualCharacterRange_, 2)
+ self.failUnlessArgIsOut(NSLayoutManager.invalidateLayoutForCharacterRange_isSoft_actualCharacterRange_, 2)
+ self.failUnlessArgIsOut(NSLayoutManager.getGlyphs_range_, 0)
+ self.failUnlessArgSizeInArg(NSLayoutManager.getGlyphs_range_, 0, 1)
+
+ self.failUnlessArgIsOut(NSLayoutManager.textContainerForGlyphAtIndex_effectiveRange_, 1)
+ self.failUnlessArgIsOut(NSLayoutManager.lineFragmentRectForGlyphAtIndex_effectiveRange_, 1)
+ self.failUnlessArgIsOut(NSLayoutManager.lineFragmentUsedRectForGlyphAtIndex_effectiveRange_, 1)
+ self.failUnlessArgIsOut(NSLayoutManager.layoutRectForTextBlock_atIndex_effectiveRange_, 2)
+ self.failUnlessArgIsOut(NSLayoutManager.boundsRectForTextBlock_atIndex_effectiveRange_, 2)
+ self.failUnlessArgIsOut(NSLayoutManager.glyphRangeForCharacterRange_actualCharacterRange_, 1)
+ self.failUnlessArgIsOut(NSLayoutManager.characterRangeForGlyphRange_actualGlyphRange_, 1)
+ self.failUnlessArgIsOut(NSLayoutManager.temporaryAttributesAtCharacterIndex_effectiveRange_, 1)
+ self.failUnlessArgIsOut(NSLayoutManager.lineFragmentRectForGlyphAtIndex_effectiveRange_withoutAdditionalLayout_, 1)
+ self.failUnlessArgIsBOOL(NSLayoutManager.lineFragmentRectForGlyphAtIndex_effectiveRange_withoutAdditionalLayout_, 2)
+ self.failUnlessArgIsOut(NSLayoutManager.lineFragmentUsedRectForGlyphAtIndex_effectiveRange_withoutAdditionalLayout_, 1)
+ self.failUnlessArgIsBOOL(NSLayoutManager.lineFragmentUsedRectForGlyphAtIndex_effectiveRange_withoutAdditionalLayout_, 2)
+ self.failUnlessArgIsOut(NSLayoutManager.textContainerForGlyphAtIndex_effectiveRange_withoutAdditionalLayout_, 1)
+ self.failUnlessArgIsBOOL(NSLayoutManager.textContainerForGlyphAtIndex_effectiveRange_withoutAdditionalLayout_, 2)
+ self.failUnlessArgIsOut(NSLayoutManager.getFirstUnlaidCharacterIndex_glyphIndex_, 0)
+ self.failUnlessArgIsOut(NSLayoutManager.getFirstUnlaidCharacterIndex_glyphIndex_, 1)
+ self.failUnlessArgIsOut(NSLayoutManager.glyphIndexForPoint_inTextContainer_fractionOfDistanceThroughGlyph_, 2)
+
+ self.failUnlessResultSizeInArg(NSLayoutManager.rectArrayForCharacterRange_withinSelectedCharacterRange_inTextContainer_rectCount_, 3)
+ self.failUnlessArgIsOut(NSLayoutManager.rectArrayForCharacterRange_withinSelectedCharacterRange_inTextContainer_rectCount_, 3)
+ self.failUnlessResultSizeInArg(NSLayoutManager.rectArrayForGlyphRange_withinSelectedGlyphRange_inTextContainer_rectCount_, 3)
+ self.failUnlessArgIsOut(NSLayoutManager.rectArrayForGlyphRange_withinSelectedGlyphRange_inTextContainer_rectCount_, 3)
+
+ self.failUnlessArgIsOut(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_, 1)
+ self.failUnlessArgSizeInArg(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_, 1, 0)
+ self.failUnlessArgIsOut(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_, 2)
+ self.failUnlessArgSizeInArg(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_, 2, 0)
+ self.failUnlessArgIsOut(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_, 3)
+ self.failUnlessArgSizeInArg(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_, 3, 0)
+ self.failUnlessArgHasType(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_, 4, 'o^' + objc._C_NSBOOL)
+ self.failUnlessArgSizeInArg(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_, 4, 0)
+ self.failUnlessArgIsOut(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 1)
+ self.failUnlessArgSizeInArg(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 1, 0)
+ self.failUnlessArgIsOut(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 2)
+ self.failUnlessArgSizeInArg(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 2, 0)
+ self.failUnlessArgIsOut(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 3)
+ self.failUnlessArgSizeInArg(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 3, 0)
+ self.failUnlessArgHasType(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 4, 'o^' + objc._C_NSBOOL)
+ self.failUnlessArgSizeInArg(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 4, 0)
+ self.failUnlessArgHasType(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 5, 'o^' + objc._C_UCHR)
+ self.failUnlessArgSizeInArg(NSLayoutManager.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 5, 0)
+ self.failUnlessArgHasType(NSLayoutManager.showPackedGlyphs_length_glyphRange_atPoint_font_color_printingAdjustment_, 0, 'n^v')
+ self.failUnlessArgSizeInArg(NSLayoutManager.showPackedGlyphs_length_glyphRange_atPoint_font_color_printingAdjustment_, 0, 1)
@min_os_level("10.5")
def testMethods10_5(self):
- self.fail("- (void)invalidateGlyphsForCharacterRange:(NSRange)charRange changeInLength:(NSInteger)delta actualCharacterRange:(NSRangePointer)actualCharRange;")
- self.fail("- (NSGlyph)glyphAtIndex:(NSUInteger)glyphIndex isValidIndex:(BOOL *)isValidIndex;")
- self.fail("- (void)setLocations:(NSPointArray)locations startingGlyphIndexes:(NSUInteger *)glyphIndexes count:(NSUInteger)count forGlyphRange:(NSRange)glyphRange;")
- self.fail("- (NSUInteger)getLineFragmentInsertionPointsForCharacterAtIndex:(NSUInteger)charIndex alternatePositions:(BOOL)aFlag inDisplayOrder:(BOOL)dFlag positions:(CGFloat *)positions characterIndexes:(NSUInteger *)charIndexes;")
- self.fail("- (id)temporaryAttribute:(NSString *)attrName atCharacterIndex:(NSUInteger)location effectiveRange:(NSRangePointer)range;")
- self.fail("- (id)temporaryAttribute:(NSString *)attrName atCharacterIndex:(NSUInteger)location longestEffectiveRange:(NSRangePointer)range inRange:(NSRange)rangeLimit;")
- self.fail("- (NSDictionary *)temporaryAttributesAtCharacterIndex:(NSUInteger)location longestEffectiveRange:(NSRangePointer)range inRange:(NSRange)rangeLimit;")
-
- self.fail("- (NSDictionary *)layoutManager:(NSLayoutManager *)layoutManager shouldUseTemporaryAttributes:(NSDictionary *)attrs forDrawingToScreen:(BOOL)toScreen atCharacterIndex:(NSUInteger)charIndex effectiveRange:(NSRangePointer)effectiveCharRange;")
-
-
+ self.failUnlessArgIsOut(NSLayoutManager.invalidateGlyphsForCharacterRange_changeInLength_actualCharacterRange_, 2)
+ self.failUnlessArgHasType(NSLayoutManager.glyphAtIndex_isValidIndex_, 1, 'o^' + objc._C_NSBOOL)
+ self.failUnlessArgIsIn(NSLayoutManager.setLocations_startingGlyphIndexes_count_forGlyphRange_, 0)
+ self.failUnlessArgSizeInArg(NSLayoutManager.setLocations_startingGlyphIndexes_count_forGlyphRange_, 0, 2)
+ self.failUnlessArgIsIn(NSLayoutManager.setLocations_startingGlyphIndexes_count_forGlyphRange_, 1)
+ self.failUnlessArgSizeInArg(NSLayoutManager.setLocations_startingGlyphIndexes_count_forGlyphRange_, 1, 2)
+
+ self.failUnlessArgIsOut(NSLayoutManager.temporaryAttribute_atCharacterIndex_effectiveRange_, 2)
+ self.failUnlessArgIsOut(NSLayoutManager.temporaryAttribute_atCharacterIndex_longestEffectiveRange_inRange_, 2)
+ self.failUnlessArgIsOut(NSLayoutManager.temporaryAttributesAtCharacterIndex_longestEffectiveRange_inRange_, 1)
+
+ self.failUnlessArgIsBOOL(TestNSLayoutManagerHelper.layoutManager_shouldUseTemporaryAttributes_forDrawingToScreen_atCharacterIndex_effectiveRange_, 2)
+ self.failUnlessArgHasType(TestNSLayoutManagerHelper.layoutManager_shouldUseTemporaryAttributes_forDrawingToScreen_atCharacterIndex_effectiveRange_, 3, objc._C_NSUInteger)
+ self.failUnlessArgHasType(TestNSLayoutManagerHelper.layoutManager_shouldUseTemporaryAttributes_forDrawingToScreen_atCharacterIndex_effectiveRange_, 4, 'o^' + NSRange.__typestr__)
+
+ self.failUnlessArgIsBOOL(TestNSLayoutManagerHelper.layoutManager_didCompleteLayoutForTextContainer_atEnd_, 2)
+
+ self.failUnlessArgIsBOOL(NSLayoutManager.getLineFragmentInsertionPointsForCharacterAtIndex_alternatePositions_inDisplayOrder_positions_characterIndexes_, 1)
+ self.failUnlessArgIsBOOL(NSLayoutManager.getLineFragmentInsertionPointsForCharacterAtIndex_alternatePositions_inDisplayOrder_positions_characterIndexes_, 2)
+ self.failUnlessArgIsOut(NSLayoutManager.getLineFragmentInsertionPointsForCharacterAtIndex_alternatePositions_inDisplayOrder_positions_characterIndexes_, 3)
+ self.failUnlessArgIsOut(NSLayoutManager.getLineFragmentInsertionPointsForCharacterAtIndex_alternatePositions_inDisplayOrder_positions_characterIndexes_, 4)
+ self.fail("Buffer size is non-trivial: - (NSUInteger)getLineFragmentInsertionPointsForCharacterAtIndex:(NSUInteger)charIndex alternatePositions:(BOOL)aFlag inDisplayOrder:(BOOL)dFlag positions:(CGFloat *)positions characterIndexes:(NSUInteger *)charIndexes;")
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nslock.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nslock.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nslock.py Mon Mar 30 15:31:19 2009
@@ -1,4 +1,4 @@
-import Foundation
+from Foundation import *
import objc
from PyObjCTools.TestSupport import *
@@ -8,10 +8,25 @@
def testLockIsLock(self):
# Test for bug #1735937
- lock = Foundation.NSLock.alloc().init()
+ lock = NSLock.alloc().init()
self.assert_(lock.conformsToProtocol_(objc.protocolNamed("NSLocking")))
- self.assert_(lock.conformsToProtocol_(Foundation.protocols.NSLocking))
+ self.assert_(lock.conformsToProtocol_(protocols.NSLocking))
+
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSLock.tryLock)
+ self.failUnlessResultIsBOOL(NSLock.lockBeforeDate_)
+
+ self.failUnlessResultIsBOOL(NSConditionLock.tryLock)
+ self.failUnlessResultIsBOOL(NSConditionLock.tryLockWhenCondition_)
+ self.failUnlessResultIsBOOL(NSConditionLock.lockBeforeDate_)
+ self.failUnlessResultIsBOOL(NSConditionLock.lockWhenCondition_beforeDate_)
+
+ self.failUnlessResultIsBOOL(NSRecursiveLock.tryLock)
+ self.failUnlessResultIsBOOL(NSRecursiveLock.lockBeforeDate_)
+
+ self.failUnlessResultIsBOOL(NSCondition.waitUntilDate_)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmaptable.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmaptable.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmaptable.py Mon Mar 30 15:31:19 2009
@@ -10,5 +10,8 @@
self.assertEquals(NSMapTableCopyIn, NSPointerFunctionsCopyIn)
self.assertEquals(NSMapTableObjectPointerPersonality, NSPointerFunctionsObjectPointerPersonality)
+ def testFunctions(self):
+ self.fail("NSMapTable C-API is untested")
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmetadata.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmetadata.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmetadata.py Mon Mar 30 15:31:19 2009
@@ -1,6 +1,5 @@
-from PyObjCTools.TestSupport import *
-
from Foundation import *
+from PyObjCTools.TestSupport import *
class TestNSMetaData (TestCase):
def testConstants(self):
@@ -13,6 +12,12 @@
self.failUnless(isinstance(NSMetadataQueryLocalComputerScope, unicode))
self.failUnless(isinstance(NSMetadataQueryNetworkScope, unicode))
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSMetadataQuery.startQuery)
+ self.failUnlessResultIsBOOL(NSMetadataQuery.isStarted)
+ self.failUnlessResultIsBOOL(NSMetadataQuery.isGathering)
+ self.failUnlessResultIsBOOL(NSMetadataQuery.isStopped)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmethodsignature.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmethodsignature.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmethodsignature.py Mon Mar 30 15:31:19 2009
@@ -32,6 +32,13 @@
self.assertEquals(v, 'o^i')
self.failUnless(isinstance(v, str))
+ def testMethods(self):
+ self.failUnlessResultHasType(NSMethodSignature.getArgumentTypeAtIndex_, '^' + objc._C_CHAR_AS_TEXT)
+ self.failUnlessResultIsNullTerminated(NSMethodSignature.getArgumentTypeAtIndex_)
+ self.failUnlessResultHasType(NSMethodSignature.methodReturnType, '^' + objc._C_CHAR_AS_TEXT)
+ self.failUnlessResultIsNullTerminated(NSMethodSignature.methodReturnType)
+ self.failUnlessResultIsBOOL(NSMethodSignature.isOneway)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsnetservices.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsnetservices.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsnetservices.py Mon Mar 30 15:31:19 2009
@@ -2,6 +2,12 @@
from Foundation import *
+class TestNSNetServicesHelper (NSObject):
+ def netServiceBrowser_didFindDomain_moreComing_(self, a, b, c): pass
+ def netServiceBrowser_didFindService_moreComing_(self, a, b, c): pass
+ def netServiceBrowser_didRemoveDomain_moreComing_(self, a, b, c): pass
+ def netServiceBrowser_didRemoveService_moreComing_(self, a, b, c): pass
+
class TestNSNetservices (TestCase):
def testConstants(self):
@@ -28,5 +34,16 @@
self.assertEquals(m['arguments'][2]['type'], 'o^@')
self.assertEquals(m['arguments'][3]['type'], 'o^@')
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSNetService.getInputStream_outputStream_)
+ self.failUnlessArgIsOut(NSNetService.getInputStream_outputStream_, 0)
+ self.failUnlessArgIsOut(NSNetService.getInputStream_outputStream_, 1)
+ self.failUnlessResultIsBOOL(NSNetService.setTXTRecordData_)
+
+ self.failUnlessArgIsBOOL(TestNSNetServicesHelper.netServiceBrowser_didFindDomain_moreComing_, 2)
+ self.failUnlessArgIsBOOL(TestNSNetServicesHelper.netServiceBrowser_didFindService_moreComing_, 2)
+ self.failUnlessArgIsBOOL(TestNSNetServicesHelper.netServiceBrowser_didRemoveDomain_moreComing_, 2)
+ self.failUnlessArgIsBOOL(TestNSNetServicesHelper.netServiceBrowser_didRemoveService_moreComing_, 2)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsnumberformatter.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsnumberformatter.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsnumberformatter.py Mon Mar 30 15:31:19 2009
@@ -30,12 +30,29 @@
def testOutput(self):
- o = NSNumberFormatter.alloc().init()
- m = o.getObjectValue_forString_range_error_.__metadata__()
- self.assertEquals(m['arguments'][2]['type'], 'o^@')
- self.failUnless(m['arguments'][4]['type'].startswith('N^'))
- self.failUnless(m['arguments'][5]['type'].startswith('o^'))
-
+ self.failUnlessResultIsBOOL(NSNumberFormatter.getObjectValue_forString_range_error_)
+ self.failUnlessArgIsOut(NSNumberFormatter.getObjectValue_forString_range_error_, 0)
+ self.failUnlessArgIsInOut(NSNumberFormatter.getObjectValue_forString_range_error_, 2)
+ self.failUnlessArgIsOut(NSNumberFormatter.getObjectValue_forString_range_error_, 3)
+
+ self.failUnlessResultIsBOOL(NSNumberFormatter.generatesDecimalNumbers)
+ self.failUnlessArgIsBOOL(NSNumberFormatter.setGeneratesDecimalNumbers_, 0)
+ self.failUnlessResultIsBOOL(NSNumberFormatter.allowsFloats)
+ self.failUnlessArgIsBOOL(NSNumberFormatter.setAllowsFloats_, 0)
+ self.failUnlessResultIsBOOL(NSNumberFormatter.alwaysShowsDecimalSeparator)
+ self.failUnlessArgIsBOOL(NSNumberFormatter.setAlwaysShowsDecimalSeparator_, 0)
+ self.failUnlessResultIsBOOL(NSNumberFormatter.usesGroupingSeparator)
+ self.failUnlessArgIsBOOL(NSNumberFormatter.setUsesGroupingSeparator_, 0)
+ self.failUnlessResultIsBOOL(NSNumberFormatter.isLenient)
+ self.failUnlessArgIsBOOL(NSNumberFormatter.setLenient_, 0)
+ self.failUnlessResultIsBOOL(NSNumberFormatter.usesSignificantDigits)
+ self.failUnlessArgIsBOOL(NSNumberFormatter.setUsesSignificantDigits_, 0)
+ self.failUnlessResultIsBOOL(NSNumberFormatter.isPartialStringValidationEnabled)
+ self.failUnlessArgIsBOOL(NSNumberFormatter.setPartialStringValidationEnabled_, 0)
+ self.failUnlessResultIsBOOL(NSNumberFormatter.hasThousandSeparators)
+ self.failUnlessArgIsBOOL(NSNumberFormatter.setHasThousandSeparators_, 0)
+ self.failUnlessResultIsBOOL(NSNumberFormatter.localizesFormat)
+ self.failUnlessArgIsBOOL(NSNumberFormatter.setLocalizesFormat_, 0)
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsobjcruntime.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsobjcruntime.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsobjcruntime.py Mon Mar 30 15:31:19 2009
@@ -111,4 +111,3 @@
if __name__ == "__main__":
main()
-
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsobject.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsobject.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsobject.py Mon Mar 30 15:31:19 2009
@@ -2,6 +2,10 @@
from Foundation import *
+class TestNSObjectHelper (NSObject):
+ def copyWithZone_(self, zn): return None
+ def mutableCopyWithZone_(self, zn): return None
+
class TestNSObjectFunctions (TestCase):
def testAllocation(self):
o = NSAllocateObject(NSObject, 0, None)
@@ -82,5 +86,32 @@
for i in range(1,1000):
a = NSObject.alloc().init()
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSObject.isEqual_)
+ self.failUnlessResultIsBOOL(NSObject.isProxy)
+ self.failUnlessResultIsBOOL(NSObject.isKindOfClass_)
+ self.failUnlessResultIsBOOL(NSObject.isMemberOfClass_)
+ self.failUnlessResultIsBOOL(NSObject.conformsToProtocol_)
+ self.failUnlessResultIsBOOL(NSObject.respondsToSelector_)
+ self.failUnlessResultIsBOOL(NSObject.instancesRespondToSelector_)
+ self.failUnlessResultIsBOOL(NSObject.isSubclassOfClass_)
+ self.failUnlessResultIsBOOL(NSObject.resolveClassMethod_)
+ self.failUnlessResultIsBOOL(NSObject.resolveInstanceMethod_)
+
+ o = NSObject.alloc().init()
+ self.failUnlessResultIsBOOL(o.isEqual_)
+ self.failUnlessResultIsBOOL(o.isProxy)
+ self.failUnlessResultIsBOOL(o.isKindOfClass_)
+ self.failUnlessResultIsBOOL(o.isMemberOfClass_)
+ self.failUnlessResultIsBOOL(o.conformsToProtocol_)
+ self.failUnlessResultIsBOOL(o.respondsToSelector_)
+
+
+ a = TestNSObjectHelper.alloc().init()
+ self.failUnlessArgHasType(a.copyWithZone_, 0, '^{_NSZone=}')
+ self.failUnlessArgHasType(a.mutableCopyWithZone_, 0, '^{_NSZone=}')
+
+
+
if __name__ == '__main__':
main( )
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsoperation.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsoperation.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsoperation.py Mon Mar 30 15:31:19 2009
@@ -1,7 +1,5 @@
-from PyObjCTools.TestSupport import *
-
from Foundation import *
-
+from PyObjCTools.TestSupport import *
class TestNSOperation (TestCase):
def testConstants(self):
@@ -16,5 +14,15 @@
self.assertEquals(NSOperationQueueDefaultMaxConcurrentOperationCount, -1)
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSOperation.isCancelled)
+ self.failUnlessResultIsBOOL(NSOperation.isExecuting)
+ self.failUnlessResultIsBOOL(NSOperation.isFinished)
+ self.failUnlessResultIsBOOL(NSOperation.isConcurrent)
+ self.failUnlessResultIsBOOL(NSOperation.isReady)
+
+ self.failUnlessResultIsBOOL(NSOperationQueue.isSuspended)
+ self.failUnlessArgIsBOOL(NSOperationQueue.setSuspended_, 0)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nspathutilties.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nspathutilties.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nspathutilties.py Mon Mar 30 15:31:19 2009
@@ -9,6 +9,8 @@
NSSearchPathForDirectoriesInDomains( NSAllLibrariesDirectory, NSAllDomainsMask, NO ),
"NSSearchPathForDirectoriesInDomains() failed to return anything." )
+ self.failUnlessArgIsBOOL(NSSearchPathForDirectoriesInDomains, 2)
+
def testTrue(self):
for boolVal in (1, 1==1, YES, -1):
self.assert_(
@@ -62,6 +64,14 @@
self.assertEquals(NSSystemDomainMask, 8)
self.assertEquals(NSAllDomainsMask, 0x0ffff)
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSString.isAbsolutePath)
+ self.failUnlessArgIsOut(NSString.completePathIntoString_caseSensitive_matchesIntoArray_filterTypes_, 0)
+ self.failUnlessArgIsBOOL(NSString.completePathIntoString_caseSensitive_matchesIntoArray_filterTypes_, 1)
+ self.failUnlessArgIsOut(NSString.completePathIntoString_caseSensitive_matchesIntoArray_filterTypes_, 2)
+ self.failUnlessResultIsBOOL(NSString.getFileSystemRepresentation_maxLength_)
+ self.failUnlessArgHasType(NSString.getFileSystemRepresentation_maxLength_, 0, 'o^' + objc._C_CHAR_AS_TEXT)
+ self.failUnlessArgSizeInArg(NSString.getFileSystemRepresentation_maxLength_, 0, 1)
if __name__ == '__main__':
main( )
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsport.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsport.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsport.py Mon Mar 30 15:31:19 2009
@@ -11,7 +11,8 @@
self.assertEquals(NSMachPortDeallocateSendRight, (1 << 0))
self.assertEquals(NSMachPortDeallocateReceiveRight, (1 << 1))
-
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSPort.isValid)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nspredicate.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nspredicate.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nspredicate.py Mon Mar 30 15:31:19 2009
@@ -1,17 +1,22 @@
+from Foundation import *
from PyObjCTools.TestSupport import *
-import Foundation
class TestNSPredicate (TestCase):
def testSimple(self):
- pred = Foundation.NSPredicate.predicateWithFormat_("a == 42")
+ pred = NSPredicate.predicateWithFormat_("a == 42")
self.assertEquals(pred.predicateFormat(), "a == 42")
def testFormat(self):
- pred = Foundation.NSPredicate.predicateWithFormat_("a == %d", 99)
+ pred = NSPredicate.predicateWithFormat_("a == %d", 99)
self.assertEquals(pred.predicateFormat(), "a == 99")
def testBadFormat(self):
- self.assertRaises(ValueError, Foundation.NSPredicate.predicateWithFormat_, "a == %d")
+ self.assertRaises(ValueError, NSPredicate.predicateWithFormat_, "a == %d")
+
+ def testMethods(self):
+ self.failUnlessArgIsBOOL(NSPredicate.predicateWithValue_, 0)
+ self.failUnlessResultIsBOOL(NSPredicate.evaluateWithObject_)
+ self.failUnlessResultIsBOOL(NSPredicate.evaluateWithObject_substitutionVariables_)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsscanner.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsscanner.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsscanner.py Mon Mar 30 15:31:19 2009
@@ -47,6 +47,37 @@
self.assert_(didConvert)
self.assertEquals(value, u"1234 ")
+ def testMethods(self):
+ self.failUnlessArgIsBOOL(NSScanner.setCaseSensitive_, 0)
+ self.failUnlessResultIsBOOL(NSScanner.caseSensitive)
+ self.failUnlessResultIsBOOL(NSScanner.scanInt_)
+ self.failUnlessArgIsOut(NSScanner.scanInt_, 0)
+ self.failUnlessResultIsBOOL(NSScanner.scanInteger_)
+ self.failUnlessArgIsOut(NSScanner.scanInteger_, 0)
+ self.failUnlessResultIsBOOL(NSScanner.scanHexLongLong_)
+ self.failUnlessArgIsOut(NSScanner.scanHexLongLong_, 0)
+ self.failUnlessResultIsBOOL(NSScanner.scanHexFloat_)
+ self.failUnlessArgIsOut(NSScanner.scanHexFloat_, 0)
+ self.failUnlessResultIsBOOL(NSScanner.scanHexDouble_)
+ self.failUnlessArgIsOut(NSScanner.scanHexDouble_, 0)
+ self.failUnlessResultIsBOOL(NSScanner.scanHexInt_)
+ self.failUnlessArgIsOut(NSScanner.scanHexInt_, 0)
+ self.failUnlessResultIsBOOL(NSScanner.scanLongLong_)
+ self.failUnlessArgIsOut(NSScanner.scanLongLong_, 0)
+ self.failUnlessResultIsBOOL(NSScanner.scanFloat_)
+ self.failUnlessArgIsOut(NSScanner.scanFloat_, 0)
+ self.failUnlessResultIsBOOL(NSScanner.scanDouble_)
+ self.failUnlessArgIsOut(NSScanner.scanDouble_, 0)
+ self.failUnlessResultIsBOOL(NSScanner.scanString_intoString_)
+ self.failUnlessArgIsOut(NSScanner.scanString_intoString_, 1)
+ self.failUnlessResultIsBOOL(NSScanner.scanCharactersFromSet_intoString_)
+ self.failUnlessArgIsOut(NSScanner.scanCharactersFromSet_intoString_, 1)
+ self.failUnlessResultIsBOOL(NSScanner.scanUpToString_intoString_)
+ self.failUnlessArgIsOut(NSScanner.scanUpToString_intoString_, 1)
+ self.failUnlessResultIsBOOL(NSScanner.scanUpToCharactersFromSet_intoString_)
+ self.failUnlessArgIsOut(NSScanner.scanUpToCharactersFromSet_intoString_, 1)
+ self.failUnlessResultIsBOOL(NSScanner.isAtEnd)
+
if __name__ == '__main__':
main( )
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsset.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsset.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsset.py Mon Mar 30 15:31:19 2009
@@ -151,5 +151,18 @@
self.assertEquals(len(o), 0)
self.assert_(isinstance(o, NSMutableSet))
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSSet.containsObject_)
+ self.failUnlessResultIsBOOL(NSSet.intersectsSet_)
+ self.failUnlessResultIsBOOL(NSSet.isEqualToSet_)
+ self.failUnlessResultIsBOOL(NSSet.isSubsetOfSet_)
+
+ self.failUnlessArgIsIn(NSSet.setWithObjects_count_, 0)
+ self.failUnlessArgSizeInArg(NSSet.setWithObjects_count_, 0, 1)
+ self.failUnlessArgIsIn(NSSet.initWithObjects_count_, 0)
+ self.failUnlessArgSizeInArg(NSSet.initWithObjects_count_, 0, 1)
+
+ self.failUnlessArgIsBOOL(NSSet.initWithSet_copyItems_, 1)
+
if __name__ == '__main__':
- main( )
+ main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsstream.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsstream.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsstream.py Mon Mar 30 15:31:19 2009
@@ -1,29 +1,88 @@
from PyObjCTools.TestSupport import *
-import objc
+from Foundation import *
-import Foundation
+class TestNSStreamHelper (NSObject):
+ def stream_handleEvent_(self, a, b): pass
class TestNSStreamUsage(TestCase):
def testUsage(self):
# Test the usage of methods that require extra work
- if not hasattr(Foundation, 'NSStream'):
- return
-
# Try to create a connection to the IPP port on the local host
- inputStream, outputStream = Foundation.NSStream.getStreamsToHost_port_inputStream_outputStream_(
- Foundation.NSHost.hostWithAddress_(u"127.0.0.1"),
+ inputStream, outputStream = NSStream.getStreamsToHost_port_inputStream_outputStream_(
+ NSHost.hostWithAddress_(u"127.0.0.1"),
631, # IPP port
None,
None
)
- self.assert_(isinstance(inputStream, Foundation.NSInputStream))
- self.assert_(isinstance(outputStream, Foundation.NSOutputStream))
+ self.assert_(isinstance(inputStream, NSInputStream))
+ self.assert_(isinstance(outputStream, NSOutputStream))
inputStream.close()
outputStream.close()
+ def testConstants(self):
+ self.failUnlessEqual(NSStreamStatusNotOpen, 0)
+ self.failUnlessEqual(NSStreamStatusOpening, 1)
+ self.failUnlessEqual(NSStreamStatusOpen, 2)
+ self.failUnlessEqual(NSStreamStatusReading, 3)
+ self.failUnlessEqual(NSStreamStatusWriting, 4)
+ self.failUnlessEqual(NSStreamStatusAtEnd, 5)
+ self.failUnlessEqual(NSStreamStatusClosed, 6)
+ self.failUnlessEqual(NSStreamStatusError, 7)
+
+ self.failUnlessEqual(NSStreamEventNone, 0)
+ self.failUnlessEqual(NSStreamEventOpenCompleted, 1 << 0)
+ self.failUnlessEqual(NSStreamEventHasBytesAvailable, 1 << 1)
+ self.failUnlessEqual(NSStreamEventHasSpaceAvailable, 1 << 2)
+ self.failUnlessEqual(NSStreamEventErrorOccurred, 1 << 3)
+ self.failUnlessEqual(NSStreamEventEndEncountered, 1 << 4)
+
+ self.failUnlessIsInstance(NSStreamSocketSecurityLevelKey, unicode)
+ self.failUnlessIsInstance(NSStreamSocketSecurityLevelNone, unicode)
+ self.failUnlessIsInstance(NSStreamSocketSecurityLevelSSLv2, unicode)
+ self.failUnlessIsInstance(NSStreamSocketSecurityLevelSSLv3, unicode)
+ self.failUnlessIsInstance(NSStreamSocketSecurityLevelTLSv1, unicode)
+ self.failUnlessIsInstance(NSStreamSocketSecurityLevelNegotiatedSSL, unicode)
+ self.failUnlessIsInstance(NSStreamSOCKSProxyConfigurationKey, unicode)
+ self.failUnlessIsInstance(NSStreamSOCKSProxyHostKey, unicode)
+ self.failUnlessIsInstance(NSStreamSOCKSProxyPortKey, unicode)
+ self.failUnlessIsInstance(NSStreamSOCKSProxyVersionKey, unicode)
+ self.failUnlessIsInstance(NSStreamSOCKSProxyUserKey, unicode)
+ self.failUnlessIsInstance(NSStreamSOCKSProxyPasswordKey, unicode)
+ self.failUnlessIsInstance(NSStreamSOCKSProxyVersion4, unicode)
+ self.failUnlessIsInstance(NSStreamSOCKSProxyVersion5, unicode)
+ self.failUnlessIsInstance(NSStreamDataWrittenToMemoryStreamKey, unicode)
+ self.failUnlessIsInstance(NSStreamFileCurrentOffsetKey, unicode)
+ self.failUnlessIsInstance(NSStreamSocketSSLErrorDomain, unicode)
+ self.failUnlessIsInstance(NSStreamSOCKSErrorDomain, unicode)
+
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSStream.setProperty_forKey_)
+
+ self.failUnlessArgHasType(NSInputStream.read_maxLength_, 0, 'o^v')
+ self.failUnlessArgSizeInArg(NSInputStream.read_maxLength_, 0, 1)
+ self.failUnlessArgSizeInResult(NSInputStream.read_maxLength_, 0)
+
+ self.failUnlessResultIsBOOL(NSInputStream.hasBytesAvailable)
+
+ self.failUnlessArgHasType(NSOutputStream.write_maxLength_, 0, 'n^v')
+ self.failUnlessArgSizeInArg(NSOutputStream.write_maxLength_, 0, 1)
+ self.failUnlessResultIsBOOL(NSOutputStream.hasSpaceAvailable)
+
+ b = NSOutputStream.alloc().initToMemory()
+ self.failUnlessArgHasType(b.initToFileAtPath_append_, 1, objc._C_NSBOOL)
+ self.failUnlessArgHasType(NSOutputStream.outputStreamToFileAtPath_append_, 1, objc._C_NSBOOL)
+
+ self.failUnlessArgHasType(b.initToBuffer_capacity_, 0, 'o^v')
+ self.failUnlessArgSizeInArg(b.initToBuffer_capacity_, 0, 1)
+ self.failUnlessArgHasType(NSOutputStream.outputStreamToBuffer_capacity_, 0, 'o^v')
+ self.failUnlessArgSizeInArg(NSOutputStream.outputStreamToBuffer_capacity_, 0, 1)
+
+ def testDelegate(self):
+ self.failUnlessArgHasType(TestNSStreamHelper.stream_handleEvent_, 1, objc._C_NSUInteger)
+
if __name__ == '__main__':
- main( )
+ main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsstring.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsstring.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsstring.py Mon Mar 30 15:31:19 2009
@@ -1,7 +1,7 @@
from PyObjCTools.TestSupport import *
-import objc
import types
import warnings
+import sys
from Foundation import *
@@ -25,20 +25,6 @@
obj = NSString.alloc().initWithFormat_locale_(u"foo %d", {}, 42)
self.assertEquals(obj, u"foo 42")
- try:
- obj = NSString.alloc()
- self.assertRaises(TypeError, obj.initWithFormat_arguments_, u"foo", [])
- obj = obj.initWithString_(u"foo")
- except AssertionError, msg:
- raise
-
- try:
- obj = NSString.alloc()
- self.assertRaises(TypeError, obj.initWithFormat_locale_arguments_, u"foo", {}, [])
- obj = obj.initWithString_(u"foo")
- except AssertionError, msg:
- raise
-
def testGetCString(self):
# Custom wrappers
@@ -180,7 +166,7 @@
v = NSString.alloc().initWithFormat_("%s %d %s", "a", 44, "cc")
self.assertEquals(v, "a 44 cc")
- v = NSString.alloc().initWithFormat_locale_("%s %d %s", {}, "a", 44, "cc")
+ v = NSString.alloc().initWithFormat_locale_("%s %d %s", None, "a", 44, "cc")
self.assertEquals(v, "a 44 cc")
v = NSString.stringWithFormat_("aap %s mies", "noot")
@@ -194,5 +180,166 @@
v.appendFormat_(" bar %s", "baz")
self.assertEquals(v.nsstring(), "hello bar baz")
+
+ @min_os_level('10.5')
+ def testConstants10_5(self):
+ self.failUnlessEqual(NSMaximumStringLength, sys.maxint-1)
+ self.failUnlessEqual(NSDiacriticInsensitiveSearch, 128)
+ self.failUnlessEqual(NSWidthInsensitiveSearch, 256)
+ self.failUnlessEqual(NSForcedOrderingSearch, 512)
+
+ self.failUnlessEqual(NSProprietaryStringEncoding, 65536)
+
+ def testConstants(self):
+ self.failUnlessIsInstance(NSParseErrorException, unicode)
+ self.failUnlessIsInstance(NSCharacterConversionException, unicode)
+
+ self.failUnlessEqual(NSCaseInsensitiveSearch, 1)
+ self.failUnlessEqual(NSLiteralSearch, 2)
+ self.failUnlessEqual(NSBackwardsSearch, 4)
+ self.failUnlessEqual(NSAnchoredSearch, 8)
+ self.failUnlessEqual(NSNumericSearch, 64)
+ self.failUnlessEqual(NSASCIIStringEncoding, 1)
+ self.failUnlessEqual(NSNEXTSTEPStringEncoding, 2)
+ self.failUnlessEqual(NSJapaneseEUCStringEncoding, 3)
+ self.failUnlessEqual(NSUTF8StringEncoding, 4)
+ self.failUnlessEqual(NSISOLatin1StringEncoding, 5)
+ self.failUnlessEqual(NSSymbolStringEncoding, 6)
+ self.failUnlessEqual(NSNonLossyASCIIStringEncoding, 7)
+ self.failUnlessEqual(NSShiftJISStringEncoding, 8)
+ self.failUnlessEqual(NSISOLatin2StringEncoding, 9)
+ self.failUnlessEqual(NSUnicodeStringEncoding, 10)
+ self.failUnlessEqual(NSWindowsCP1251StringEncoding, 11)
+ self.failUnlessEqual(NSWindowsCP1252StringEncoding, 12)
+ self.failUnlessEqual(NSWindowsCP1253StringEncoding, 13)
+ self.failUnlessEqual(NSWindowsCP1254StringEncoding, 14)
+ self.failUnlessEqual(NSWindowsCP1250StringEncoding, 15)
+ self.failUnlessEqual(NSISO2022JPStringEncoding, 21)
+ self.failUnlessEqual(NSMacOSRomanStringEncoding, 30)
+ self.failUnlessEqual(NSUTF16StringEncoding, NSUnicodeStringEncoding)
+ self.failUnlessEqual(NSUTF16BigEndianStringEncoding, cast_int(0x90000100))
+ self.failUnlessEqual(NSUTF16LittleEndianStringEncoding, cast_int(0x94000100))
+ self.failUnlessEqual(NSUTF32StringEncoding, cast_int(0x8c000100))
+ self.failUnlessEqual(NSUTF32BigEndianStringEncoding, cast_int(0x98000100))
+ self.failUnlessEqual(NSUTF32LittleEndianStringEncoding, cast_int(0x9c000100))
+ self.failUnlessEqual(NSStringEncodingConversionAllowLossy, 1)
+ self.failUnlessEqual(NSStringEncodingConversionExternalRepresentation, 2)
+
+ def testMethods(self):
+ self.failUnlessArgHasType(NSString.getCharacters_range_, 0, 'o^' + objc._C_UNICHAR)
+ self.failUnlessArgSizeInArg(NSString.getCharacters_range_, 0, 1)
+
+ self.failUnlessResultIsBOOL(NSString.isEqualToString_)
+ self.failUnlessResultIsBOOL(NSString.hasPrefix_)
+ self.failUnlessResultIsBOOL(NSString.hasSuffix_)
+ self.failUnlessResultIsBOOL(NSString.boolValue)
+ self.failUnlessArgIsOut(NSString.getLineStart_end_contentsEnd_forRange_, 0)
+ self.failUnlessArgIsOut(NSString.getLineStart_end_contentsEnd_forRange_, 1)
+ self.failUnlessArgIsOut(NSString.getLineStart_end_contentsEnd_forRange_, 2)
+ self.failUnlessArgIsOut(NSString.getParagraphStart_end_contentsEnd_forRange_, 0)
+ self.failUnlessArgIsOut(NSString.getParagraphStart_end_contentsEnd_forRange_, 1)
+ self.failUnlessArgIsOut(NSString.getParagraphStart_end_contentsEnd_forRange_, 2)
+ self.failUnlessArgIsBOOL(NSString.dataUsingEncoding_allowLossyConversion_, 1)
+ self.failUnlessResultIsBOOL(NSString.canBeConvertedToEncoding_)
+ self.failUnlessResultIsNullTerminated(NSString.cStringUsingEncoding_)
+ self.failUnlessResultHasType(NSString.cStringUsingEncoding_, '^v')
+ self.failUnlessResultIsBOOL(NSString.getCString_maxLength_encoding_)
+ self.failUnlessArgHasType(NSString.getCString_maxLength_encoding_, 0, 'o^v')
+ self.failUnlessArgSizeInArg(NSString.getCString_maxLength_encoding_, 0, 1)
+
+ self.failUnlessResultIsBOOL(NSString.getBytes_maxLength_usedLength_encoding_options_range_remainingRange_)
+ self.failUnlessArgHasType(NSString.getBytes_maxLength_usedLength_encoding_options_range_remainingRange_, 0, 'o^v')
+ self.failUnlessArgSizeInArg(NSString.getBytes_maxLength_usedLength_encoding_options_range_remainingRange_, 0, (1,2))
+ self.failUnlessArgIsOut(NSString.getBytes_maxLength_usedLength_encoding_options_range_remainingRange_, 2)
+ self.failUnlessArgIsOut(NSString.getBytes_maxLength_usedLength_encoding_options_range_remainingRange_, 6)
+
+ self.failUnlessResultHasType(NSString.UTF8String, '^' + objc._C_CHAR_AS_TEXT)
+ self.failUnlessResultIsNullTerminated(NSString.UTF8String)
+ self.failUnlessResultIsNullTerminated(NSString.availableStringEncodings)
+
+ self.failUnlessArgHasType(NSString.initWithCharactersNoCopy_length_freeWhenDone_, 0, 'n^' + objc._C_UNICHAR)
+ self.failUnlessArgSizeInArg(NSString.initWithCharactersNoCopy_length_freeWhenDone_, 0, 1)
+ self.failUnlessArgIsBOOL(NSString.initWithCharactersNoCopy_length_freeWhenDone_, 2)
+ self.failUnlessArgHasType(NSString.initWithCharacters_length_, 0, 'n^' + objc._C_UNICHAR)
+ self.failUnlessArgSizeInArg(NSString.initWithCharacters_length_, 0, 1)
+ self.failUnlessArgHasType(NSString.initWithUTF8String_, 0, 'n^' + objc._C_CHAR_AS_TEXT)
+ self.failUnlessArgIsNullTerminated(NSString.initWithUTF8String_, 0)
+ self.failUnlessArgIsPrintf(NSString.initWithFormat_, 0)
+ self.failUnlessArgIsPrintf(NSString.initWithFormat_locale_, 0)
+
+ o = NSString.alloc()
+ self.failUnlessArgIsIn(o.initWithBytes_length_encoding_, 0)
+ self.failUnlessArgSizeInArg(o.initWithBytes_length_encoding_, 0, 1)
+ o = o.init()
+ self.failUnlessArgIsIn(NSString.initWithBytesNoCopy_length_encoding_freeWhenDone_, 0)
+ self.failUnlessArgSizeInArg(NSString.initWithBytesNoCopy_length_encoding_freeWhenDone_, 0, 1)
+ self.failUnlessArgIsBOOL(NSString.initWithBytesNoCopy_length_encoding_freeWhenDone_, 3)
+
+ self.failUnlessArgHasType(NSString.stringWithCharacters_length_, 0, 'n^' + objc._C_UNICHAR)
+ self.failUnlessArgSizeInArg(NSString.stringWithCharacters_length_, 0, 1)
+ self.failUnlessArgHasType(NSString.stringWithUTF8String_, 0, 'n^' + objc._C_CHAR_AS_TEXT)
+ self.failUnlessArgIsNullTerminated(NSString.stringWithUTF8String_, 0)
+ self.failUnlessArgIsPrintf(NSString.stringWithFormat_, 0)
+ self.failUnlessArgIsPrintf(NSString.localizedStringWithFormat_, 0)
+
+ self.failUnlessArgHasType(NSString.initWithCString_encoding_, 0, 'n^t')
+ self.failUnlessArgIsNullTerminated(NSString.initWithCString_encoding_, 0)
+ self.failUnlessArgHasType(NSString.stringWithCString_encoding_, 0, 'n^t')
+ self.failUnlessArgIsNullTerminated(NSString.stringWithCString_encoding_, 0)
+
+ self.failUnlessArgIsOut(NSString.initWithContentsOfURL_encoding_error_, 2)
+ self.failUnlessArgIsOut(NSString.initWithContentsOfFile_encoding_error_, 2)
+ self.failUnlessArgIsOut(NSString.stringWithContentsOfURL_encoding_error_, 2)
+ self.failUnlessArgIsOut(NSString.stringWithContentsOfFile_encoding_error_, 2)
+
+ self.failUnlessArgIsOut(NSString.initWithContentsOfURL_usedEncoding_error_, 1)
+ self.failUnlessArgIsOut(NSString.initWithContentsOfURL_usedEncoding_error_, 2)
+ self.failUnlessArgIsOut(NSString.initWithContentsOfFile_usedEncoding_error_, 1)
+ self.failUnlessArgIsOut(NSString.initWithContentsOfFile_usedEncoding_error_, 2)
+ self.failUnlessArgIsOut(NSString.stringWithContentsOfURL_usedEncoding_error_, 1)
+ self.failUnlessArgIsOut(NSString.stringWithContentsOfURL_usedEncoding_error_, 2)
+ self.failUnlessArgIsOut(NSString.stringWithContentsOfFile_usedEncoding_error_, 1)
+ self.failUnlessArgIsOut(NSString.stringWithContentsOfFile_usedEncoding_error_, 2)
+
+ self.failUnlessResultIsBOOL(NSString.writeToURL_atomically_encoding_error_)
+ self.failUnlessArgIsBOOL(NSString.writeToURL_atomically_encoding_error_, 1)
+ self.failUnlessArgIsOut(NSString.writeToURL_atomically_encoding_error_, 3)
+ self.failUnlessResultIsBOOL(NSString.writeToFile_atomically_encoding_error_)
+ self.failUnlessArgIsBOOL(NSString.writeToFile_atomically_encoding_error_, 1)
+ self.failUnlessArgIsOut(NSString.writeToFile_atomically_encoding_error_, 3)
+
+ self.failUnlessArgIsPrintf(NSMutableString.appendFormat_, 0)
+
+ self.failUnlessResultHasType(NSString.cString, '^t')
+ self.failUnlessResultIsNullTerminated(NSString.cString)
+ self.failUnlessResultHasType(NSString.lossyCString, '^t')
+ self.failUnlessResultIsNullTerminated(NSString.lossyCString)
+
+ self.failUnlessArgHasType(NSString.getCString_maxLength_, 0, 'o^v')
+ self.failUnlessArgSizeInArg(NSString.getCString_maxLength_, 0, 1)
+
+ self.failUnlessArgHasType(NSString.getCString_maxLength_range_remainingRange_, 0, 'o^v')
+ self.failUnlessArgSizeInArg(NSString.getCString_maxLength_range_remainingRange_, 0, 1)
+ self.failUnlessArgIsOut(NSString.getCString_maxLength_range_remainingRange_, 3)
+
+ self.failUnlessResultIsBOOL(NSString.writeToFile_atomically_)
+ self.failUnlessArgIsBOOL(NSString.writeToFile_atomically_, 1)
+ self.failUnlessResultIsBOOL(NSString.writeToURL_atomically_)
+ self.failUnlessArgIsBOOL(NSString.writeToURL_atomically_, 1)
+
+ self.failUnlessArgHasType(NSString.initWithCStringNoCopy_length_freeWhenDone_, 0, 'n^v')
+ self.failUnlessArgSizeInArg(NSString.initWithCStringNoCopy_length_freeWhenDone_, 0, 1)
+ self.failUnlessArgIsBOOL(NSString.initWithCStringNoCopy_length_freeWhenDone_, 2)
+ self.failUnlessArgHasType(NSString.initWithCString_length_, 0, 'n^v')
+ self.failUnlessArgSizeInArg(NSString.initWithCString_length_, 0, 1)
+ self.failUnlessArgHasType(NSString.initWithCString_, 0, 'n^v')
+ self.failUnlessArgIsNullTerminated(NSString.initWithCString_, 0)
+
+ self.failUnlessArgHasType(NSString.stringWithCString_length_, 0, 'n^v')
+ self.failUnlessArgSizeInArg(NSString.stringWithCString_length_, 0, 1)
+ self.failUnlessArgHasType(NSString.stringWithCString_, 0, 'n^v')
+ self.failUnlessArgIsNullTerminated(NSString.stringWithCString_, 0)
+
+
if __name__ == '__main__':
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nstimer.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nstimer.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nstimer.py Mon Mar 30 15:31:19 2009
@@ -47,5 +47,18 @@
self.assertEquals(after, before)
+ def testMethods(self):
+ self.failUnlessArgIsBOOL(NSTimer.timerWithTimeInterval_invocation_repeats_, 2)
+ self.failUnlessArgIsBOOL(NSTimer.scheduledTimerWithTimeInterval_invocation_repeats_, 2)
+ self.failUnlessArgIsBOOL(NSTimer.timerWithTimeInterval_target_selector_userInfo_repeats_, 4)
+ self.failUnlessArgIsSEL(NSTimer.timerWithTimeInterval_target_selector_userInfo_repeats_, 2, 'v@:@')
+ self.failUnlessArgIsBOOL(NSTimer.scheduledTimerWithTimeInterval_target_selector_userInfo_repeats_, 4)
+ self.failUnlessArgIsSEL(NSTimer.scheduledTimerWithTimeInterval_target_selector_userInfo_repeats_, 2, 'v@:@')
+
+ self.failUnlessArgIsBOOL(NSTimer.initWithFireDate_interval_target_selector_userInfo_repeats_, 5)
+ self.failUnlessArgIsSEL(NSTimer.initWithFireDate_interval_target_selector_userInfo_repeats_, 3, 'v@:@')
+
+ self.failUnlessResultIsBOOL(NSTimer.isValid)
+
if __name__ == '__main__':
main( )
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nstypesetter.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nstypesetter.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nstypesetter.py Mon Mar 30 15:31:19 2009
@@ -2,6 +2,11 @@
from PyObjCTools.TestSupport import *
from AppKit import *
+class TestNSTypesetterHelper (NSTypesetter):
+ def willSetLineFragmentRect_forGlyphRange_usedRect_baselineOffset_(self, a, b, c, d): return 1
+ def getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_(self, a, b, c, d, e, f): return 1
+ def getLineFragmentRect_usedRect_remainingRect_forStartingGlyphAtIndex_proposedRect_lineSpacing_paragraphSpacingBefore_paragraphSpacingAfter_(self, a, b, c, d, e, f, g, h): return 1
+
class TestNSTypesetter (TestCase):
def testConstants(self):
self.failUnlessEqual(NSTypesetterZeroAdvancementAction, (1 << 0))
@@ -12,25 +17,53 @@
self.failUnlessEqual(NSTypesetterContainerBreakAction, (1 << 5))
def testMethods(self):
- self.fail("- (void)getLineFragmentRect:(NSRectPointer)lineFragmentRect usedRect:(NSRectPointer)lineFragmentUsedRect forParagraphSeparatorGlyphRange:(NSRange)paragraphSeparatorGlyphRange atProposedOrigin:(NSPoint)lineOrigin;")
- self.fail("- (void)layoutGlyphsInLayoutManager:(NSLayoutManager *)layoutManager startingAtGlyphIndex:(NSUInteger)startGlyphIndex maxNumberOfLineFragments:(NSUInteger)maxNumLines nextGlyphIndex:(NSUInteger *)nextGlyph;")
-
-
- self.fail("- (void)willSetLineFragmentRect:(NSRectPointer)lineRect forGlyphRange:(NSRange)glyphRange usedRect:(NSRectPointer)usedRect baselineOffset:(CGFloat *)baselineOffset;")
- self.fail("- (NSRange)characterRangeForGlyphRange:(NSRange)glyphRange actualGlyphRange:(NSRangePointer)actualGlyphRange;")
- self.fail("- (NSRange)glyphRangeForCharacterRange:(NSRange)charRange actualCharacterRange:(NSRangePointer)actualCharRange;")
- self.fail("- (NSUInteger)getGlyphsInRange:(NSRange)glyphsRange glyphs:(NSGlyph *)glyphBuffer characterIndexes:(NSUInteger *)charIndexBuffer glyphInscriptions:(NSGlyphInscription *)inscribeBuffer elasticBits:(BOOL *)elasticBuffer bidiLevels:(unsigned char *)bidiLevelBuffer;")
-
- self.fail("- (void)getLineFragmentRect:(NSRectPointer)lineFragmentRect usedRect:(NSRectPointer)lineFragmentUsedRect remainingRect:(NSRectPointer)remainingRect forStartingGlyphAtIndex:(NSUInteger)startingGlyphIndex proposedRect:(NSRect)proposedRect lineSpacing:(CGFloat)lineSpacing paragraphSpacingBefore:(CGFloat)paragraphSpacingBefore paragraphSpacingAfter:(CGFloat)paragraphSpacingAfter;")
-
- self.fail("- (void)setLocation:(NSPoint)location withAdvancements:(const CGFloat *)advancements forStartOfGlyphRange:(NSRange)glyphRange;")
- self.fail("- (void)setBidiLevels:(const uint8_t *)levels forGlyphRange:(NSRange)glyphRange;")
-
+ self.failUnlessArgIsOut(NSTypesetter.characterRangeForGlyphRange_actualGlyphRange_, 1)
+ self.failUnlessArgIsOut(NSTypesetter.glyphRangeForCharacterRange_actualCharacterRange_, 1)
+ self.failUnlessArgHasType(NSTypesetter.setBidiLevels_forGlyphRange_, 0, 'n^' + objc._C_CHAR_AS_INT)
+ self.failUnlessArgSizeInArg(NSTypesetter.setBidiLevels_forGlyphRange_, 0, 1)
+ self.failUnlessArgIsIn(NSTypesetter.setLocation_withAdvancements_forStartOfGlyphRange_, 1)
+ self.failUnlessArgSizeInArg(NSTypesetter.setLocation_withAdvancements_forStartOfGlyphRange_, 1, 2)
+ self.failUnlessArgIsOut(NSTypesetter.layoutGlyphsInLayoutManager_startingAtGlyphIndex_maxNumberOfLineFragments_nextGlyphIndex_, 3)
+ self.failUnlessArgIsOut(NSTypesetter.getLineFragmentRect_usedRect_forParagraphSeparatorGlyphRange_atProposedOrigin_, 0)
+ self.failUnlessArgIsOut(NSTypesetter.getLineFragmentRect_usedRect_forParagraphSeparatorGlyphRange_atProposedOrigin_, 1)
+
+ self.failUnlessResultHasType(NSTypesetter.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, objc._C_NSUInteger)
+ self.failUnlessArgHasType(NSTypesetter.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 0, NSRange.__typestr__)
+
+ self.failUnlessArgHasType(TestNSTypesetterHelper.willSetLineFragmentRect_forGlyphRange_usedRect_baselineOffset_, 0, 'N^' + NSRect.__typestr__)
+ self.failUnlessArgHasType(TestNSTypesetterHelper.willSetLineFragmentRect_forGlyphRange_usedRect_baselineOffset_, 1, NSRange.__typestr__)
+ self.failUnlessArgHasType(TestNSTypesetterHelper.willSetLineFragmentRect_forGlyphRange_usedRect_baselineOffset_, 2, 'N^' + NSRect.__typestr__)
+ self.failUnlessArgHasType(TestNSTypesetterHelper.willSetLineFragmentRect_forGlyphRange_usedRect_baselineOffset_, 3, 'N^' + objc._C_CGFloat)
+
+
+ self.failUnlessResultHasType(TestNSTypesetterHelper.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, objc._C_NSUInteger)
+ self.failUnlessArgHasType(TestNSTypesetterHelper.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 0, NSRange.__typestr__)
+ self.failUnlessArgHasType(TestNSTypesetterHelper.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 1, 'o^I')
+ self.failUnlessArgSizeInArg(TestNSTypesetterHelper.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 1, 0)
+
+ self.failUnlessArgHasType(TestNSTypesetterHelper.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 2, 'o^' + objc._C_NSUInteger)
+ self.failUnlessArgSizeInArg(TestNSTypesetterHelper.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 2, 0)
+ self.failUnlessArgHasType(TestNSTypesetterHelper.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 3, 'o^' + objc._C_NSUInteger)
+ self.failUnlessArgSizeInArg(TestNSTypesetterHelper.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 3, 0)
+ self.failUnlessArgHasType(TestNSTypesetterHelper.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 4, 'o^' + objc._C_NSBOOL)
+ self.failUnlessArgSizeInArg(TestNSTypesetterHelper.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 4, 0)
+ self.failUnlessArgHasType(TestNSTypesetterHelper.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 5, 'o^' + objc._C_UCHR)
+ self.failUnlessArgSizeInArg(TestNSTypesetterHelper.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_bidiLevels_, 5, 0)
+
+ self.failUnlessArgHasType(NSTypesetter.getLineFragmentRect_usedRect_remainingRect_forStartingGlyphAtIndex_proposedRect_lineSpacing_paragraphSpacingBefore_paragraphSpacingAfter_, 0, 'N^' + NSRect.__typestr__)
+ self.failUnlessArgHasType(NSTypesetter.getLineFragmentRect_usedRect_remainingRect_forStartingGlyphAtIndex_proposedRect_lineSpacing_paragraphSpacingBefore_paragraphSpacingAfter_, 1, 'N^' + NSRect.__typestr__)
+ self.failUnlessArgHasType(NSTypesetter.getLineFragmentRect_usedRect_remainingRect_forStartingGlyphAtIndex_proposedRect_lineSpacing_paragraphSpacingBefore_paragraphSpacingAfter_, 2, 'N^' + NSRect.__typestr__)
+ self.failUnlessArgHasType(NSTypesetter.getLineFragmentRect_usedRect_remainingRect_forStartingGlyphAtIndex_proposedRect_lineSpacing_paragraphSpacingBefore_paragraphSpacingAfter_, 3, objc._C_NSUInteger)
+ self.failUnlessArgHasType(NSTypesetter.getLineFragmentRect_usedRect_remainingRect_forStartingGlyphAtIndex_proposedRect_lineSpacing_paragraphSpacingBefore_paragraphSpacingAfter_, 4, NSRect.__typestr__)
+ self.failUnlessArgHasType(NSTypesetter.getLineFragmentRect_usedRect_remainingRect_forStartingGlyphAtIndex_proposedRect_lineSpacing_paragraphSpacingBefore_paragraphSpacingAfter_, 5, objc._C_CGFloat)
+ self.failUnlessArgHasType(NSTypesetter.getLineFragmentRect_usedRect_remainingRect_forStartingGlyphAtIndex_proposedRect_lineSpacing_paragraphSpacingBefore_paragraphSpacingAfter_, 6, objc._C_CGFloat)
+ self.failUnlessArgHasType(NSTypesetter.getLineFragmentRect_usedRect_remainingRect_forStartingGlyphAtIndex_proposedRect_lineSpacing_paragraphSpacingBefore_paragraphSpacingAfter_, 7, objc._C_CGFloat)
@min_os_level("10.5")
def testMethods10_5(self):
- self.fail("+ (NSSize)printingAdjustmentInLayoutManager:(NSLayoutManager *)layoutMgr forNominallySpacedGlyphRange:(NSRange)nominallySpacedGlyphsRange packedGlyphs:(const unsigned char *)packedGlyphs count:(NSUInteger)packedGlyphsCount;")
+ self.failUnlessArgHasType(NSTypesetter.printingAdjustmentInLayoutManager_forNominallySpacedGlyphRange_packedGlyphs_count_, 2, 'n^v')
+ self.failUnlessArgSizeInArg(NSTypesetter.printingAdjustmentInLayoutManager_forNominallySpacedGlyphRange_packedGlyphs_count_, 2, 3)
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsundomanager.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsundomanager.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsundomanager.py Mon Mar 30 15:31:19 2009
@@ -1,7 +1,5 @@
-from PyObjCTools.TestSupport import *
-import objc
-
from Foundation import *
+from PyObjCTools.TestSupport import *
import Foundation
class TestHelper (NSObject):
@@ -9,9 +7,6 @@
foo[0] += 1
class TestNSUndoManager(TestCase):
- def testFail(self):
- self.fail("Add tests that check undo calling methods with odd signatures")
-
def testUndoManager(self):
x = TestHelper.new()
m = NSUndoManager.new()
@@ -82,6 +77,17 @@
self.failUnless(isinstance(NSUndoManagerDidOpenUndoGroupNotification, unicode))
self.failUnless(isinstance(NSUndoManagerWillCloseUndoGroupNotification, unicode))
+ self.failUnlessEqual(NSUndoCloseGroupingRunLoopOrdering, 350000)
+
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSUndoManager.isUndoRegistrationEnabled)
+ self.failUnlessResultIsBOOL(NSUndoManager.groupsByEvent)
+ self.failUnlessArgIsBOOL(NSUndoManager.setGroupsByEvent_, 0)
+ self.failUnlessResultIsBOOL(NSUndoManager.canUndo)
+ self.failUnlessResultIsBOOL(NSUndoManager.canRedo)
+ self.failUnlessResultIsBOOL(NSUndoManager.isUndoing)
+ self.failUnlessResultIsBOOL(NSUndoManager.isRedoing)
+ self.failUnlessArgIsSEL(NSUndoManager.registerUndoWithTarget_selector_object_, 1, 'v@:@')
if __name__ == '__main__':
main( )
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsuserdefaults.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsuserdefaults.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsuserdefaults.py Mon Mar 30 15:31:19 2009
@@ -9,6 +9,13 @@
self.assertEquals(defaults.arrayForKey_(u'randomKey'), [u'a', u'b', u'c'])
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSUserDefaults.boolForKey_)
+ self.failUnlessArgIsBOOL(NSUserDefaults.setBool_forKey_, 0)
+ self.failUnlessResultIsBOOL(NSUserDefaults.synchronize)
+ self.failUnlessResultIsBOOL(NSUserDefaults.objectIsForcedForKey_)
+ self.failUnlessResultIsBOOL(NSUserDefaults.objectIsForcedForKey_inDomain_)
+
def testConstants(self):
self.failUnless(isinstance(NSGlobalDomain, unicode))
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsvalue.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsvalue.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsvalue.py Mon Mar 30 15:31:19 2009
@@ -2,8 +2,31 @@
from PyObjCTools.TestSupport import *
class TestNSValue (TestCase):
- def testFixme(self):
- self.fail("Write some tests")
+ def testMethods(self):
+ self.failUnlessArgIsBOOL(NSNumber.numberWithBool_, 0)
+ self.failUnlessArgIsBOOL(NSNumber.initWithBool_, 0)
+ self.failUnlessResultIsBOOL(NSNumber.boolValue)
+ self.failUnlessResultIsBOOL(NSNumber.isEqualToNumber_)
+
+ self.failUnlessResultIsBOOL(NSValue.isEqualToValue_)
+
+ self.failUnlessArgIsIn(NSValue.initWithBytes_objCType_, 0)
+ self.failUnlessArgIsVariableSize(NSValue.initWithBytes_objCType_, 0)
+ self.failUnlessArgHasType(NSValue.initWithBytes_objCType_, 1, 'n^t')
+ self.failUnlessArgIsNullTerminated(NSValue.initWithBytes_objCType_, 1)
+
+ self.failUnlessArgIsIn(NSValue.valueWithBytes_objCType_, 0)
+ self.failUnlessArgIsVariableSize(NSValue.valueWithBytes_objCType_, 0)
+ self.failUnlessArgHasType(NSValue.valueWithBytes_objCType_, 1, 'n^t')
+ self.failUnlessArgIsNullTerminated(NSValue.valueWithBytes_objCType_, 1)
+
+ self.failUnlessArgIsIn(NSValue.value_withObjCType_, 0)
+ self.failUnlessArgIsVariableSize(NSValue.value_withObjCType_, 0)
+ self.failUnlessArgHasType(NSValue.value_withObjCType_, 1, 'n^t')
+ self.failUnlessArgIsNullTerminated(NSValue.value_withObjCType_, 1)
+
+ self.failUnlessResultIsNullTerminated(NSValue.objCType)
+ self.failUnlessResultHasType(NSValue.objCType, '^t')
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsvaluetransformer.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsvaluetransformer.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsvaluetransformer.py Mon Mar 30 15:31:19 2009
@@ -9,5 +9,8 @@
self.failUnless(isinstance(NSUnarchiveFromDataTransformerName, unicode))
self.failUnless(isinstance(NSKeyedUnarchiveFromDataTransformerName, unicode))
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSValueTransformer.allowsReverseTransformation)
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmldocument.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmldocument.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmldocument.py Mon Mar 30 15:31:19 2009
@@ -9,28 +9,17 @@
self.assertEquals(NSXMLDocumentTextKind, 3)
def testOutputArgs(self):
- n = NSXMLDocument.alloc().init()
- self.assertEquals(
- n.initWithXMLString_options_error_.__metadata__()['arguments'][4]['type'],
- 'o^@')
- self.assertEquals(
- n.initWithContentsOfURL_options_error_.__metadata__()['arguments'][4]['type'],
- 'o^@')
- self.assertEquals(
- n.initWithData_options_error_.__metadata__()['arguments'][4]['type'],
- 'o^@')
- self.assertEquals(
- n.objectByApplyingXSLT_arguments_error_.__metadata__()['arguments'][4]['type'],
- 'o^@')
- self.assertEquals(
- n.objectByApplyingXSLTString_arguments_error_.__metadata__()['arguments'][4]['type'],
- 'o^@')
- self.assertEquals(
- n.objectByApplyingXSLTAtURL_arguments_error_.__metadata__()['arguments'][4]['type'],
- 'o^@')
- self.assertEquals(
- n.validateAndReturnError_.__metadata__()['arguments'][2]['type'],
- 'o^@')
+ self.failUnlessArgIsOut(NSXMLDocument.initWithXMLString_options_error_, 2)
+ self.failUnlessArgIsOut(NSXMLDocument.initWithContentsOfURL_options_error_, 2)
+ self.failUnlessArgIsOut(NSXMLDocument.initWithData_options_error_, 2)
+ self.failUnlessArgIsOut(NSXMLDocument.objectByApplyingXSLT_arguments_error_, 2)
+ self.failUnlessArgIsOut(NSXMLDocument.objectByApplyingXSLTString_arguments_error_, 2)
+ self.failUnlessArgIsOut(NSXMLDocument.objectByApplyingXSLTAtURL_arguments_error_, 2)
+ self.failUnlessArgIsOut(NSXMLDocument.validateAndReturnError_, 0)
+
+ self.failUnlessResultIsBOOL(NSXMLDocument.isStandalone)
+ self.failUnlessArgIsBOOL(NSXMLDocument.setStandalone_, 0)
+ self.failUnlessResultIsBOOL(NSXMLDocument.validateAndReturnError_)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmldtd.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmldtd.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmldtd.py Mon Mar 30 15:31:19 2009
@@ -4,13 +4,8 @@
class TestXMLDTD (TestCase):
def testOutputArgs(self):
- n = NSXMLDTD.alloc().init()
- self.assertEquals(
- n.initWithContentsOfURL_options_error_.__metadata__()['arguments'][4]['type'],
- 'o^@')
- self.assertEquals(
- n.initWithData_options_error_.__metadata__()['arguments'][4]['type'],
- 'o^@')
+ self.failUnlessArgIsOut(NSXMLDTD.initWithContentsOfURL_options_error_, 2)
+ self.failUnlessArgIsOut(NSXMLDTD.initWithData_options_error_, 2)
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmldtdnode.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmldtdnode.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmldtdnode.py Mon Mar 30 15:31:19 2009
@@ -24,5 +24,9 @@
self.assertEquals(NSXMLElementDeclarationMixedKind, 19)
self.assertEquals(NSXMLElementDeclarationElementKind, 20)
+ def testMethods(self):
+ self.failUnlessResultIsBOOL(NSXMLDTDNode.isExternal)
+
+
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlelement.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlelement.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlelement.py Mon Mar 30 15:31:19 2009
@@ -3,10 +3,8 @@
class TestXMLElement (TestCase):
def testOutputArgs(self):
- n = NSXMLElement.alloc().init()
- self.assertEquals(
- n.initWithXMLString_error_.__metadata__()['arguments'][3]['type'],
- 'o^@')
+ self.failUnlessArgIsOut(NSXMLElement.initWithXMLString_error_, 1)
+ self.failUnlessArgIsBOOL(NSXMLElement.normalizeAdjacentTextNodesPreservingCDATA_, 0)
if __name__ == "__main__":
main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlnode.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlnode.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlnode.py Mon Mar 30 15:31:19 2009
@@ -18,12 +18,11 @@
self.assertEquals(NSXMLNotationDeclarationKind, 12)
def testOutputArgs(self):
- n = NSXMLNode.alloc().init()
- self.assertEquals(
- n.nodesForXPath_error_.__metadata__()['arguments'][3]['type'],
- 'o^@')
-
+ self.failUnlessArgIsOut(NSXMLNode.nodesForXPath_error_, 1)
self.failUnlessArgIsOut(NSXMLNode.objectsForXQuery_constants_error_, 2)
+ self.failUnlessArgIsOut(NSXMLNode.objectsForXQuery_error_, 1)
+ self.failUnlessArgIsBOOL(NSXMLNode.setStringValue_resolvingEntities_, 1)
+ self.failUnlessArgIsBOOL(NSXMLNode.canonicalXMLStringPreservingComments_, 0)
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlparser.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlparser.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlparser.py Mon Mar 30 15:31:19 2009
@@ -97,6 +97,16 @@
self.assertEquals(NSXMLParserNoDTDError, 94)
self.assertEquals(NSXMLParserDelegateAbortedParseError, 512)
+ self.failUnlessIsInstance(NSXMLParserErrorDomain, unicode)
+
+ def testMethods(self):
+ self.failUnlessArgIsBOOL(NSXMLParser.setShouldProcessNamespaces_, 0)
+ self.failUnlessArgIsBOOL(NSXMLParser.setShouldReportNamespacePrefixes_, 0)
+ self.failUnlessArgIsBOOL(NSXMLParser.setShouldResolveExternalEntities_, 0)
+ self.failUnlessResultIsBOOL(NSXMLParser.shouldProcessNamespaces)
+ self.failUnlessResultIsBOOL(NSXMLParser.shouldReportNamespacePrefixes)
+ self.failUnlessResultIsBOOL(NSXMLParser.shouldResolveExternalEntities)
+ self.failUnlessResultIsBOOL(NSXMLParser.parse)
if __name__ == "__main__":
main()
------------------------------------------------------------------------------