[PyObjC-svn] r2106 - in trunk/pyobjc/pyobjc-framework-Cocoa: . Doc Lib/AppKit Lib/PyObjCTools Modules PyObjCTest

[email protected]
Newsgroups gmane.comp.python.pyobjc.cvs
Message-ID <[email protected]>
Author: ronaldoussoren
Date: Tue Mar 17 15:05:21 2009
New Revision: 2106

Log:
Increase test coverage for AppKit

Added:
   trunk/pyobjc/pyobjc-framework-Cocoa/Doc/api-notes-AppKit.txt
   trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsfont.m
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsactioncell.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsapplicationscripting.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsarraycontroller.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbrowsercell.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsclipview.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscollectionview.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscolorpicking.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscolorwell.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscomboboxcell.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscontroller.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscursor.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscustomimagerep.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdatepicker.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdictionarycontroller.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdocktile.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfilewrapper.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsform.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsformcell.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsimageview.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsinputmanager.py   (contents, props changed)
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsinputserver.py   (contents, props changed)
Removed:
   trunk/pyobjc/pyobjc-framework-Cocoa/Modules/_AppKit_nsmatrix.m
Modified:
   trunk/pyobjc/pyobjc-framework-Cocoa/Doc/AppCategories.txt
   trunk/pyobjc/pyobjc-framework-Cocoa/Lib/AppKit/PyObjC.bridgesupport
   trunk/pyobjc/pyobjc-framework-Cocoa/Lib/AppKit/__init__.py
   trunk/pyobjc/pyobjc-framework-Cocoa/Lib/PyObjCTools/AppCategories.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsaccessibility.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsalert.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsanimation.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsapplication.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsatstypesetter.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsattributedstring.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbezierpath.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbitmapimagerep.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbox.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbrowser.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbutton.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbuttoncell.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscell.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscolor.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscolorpanel.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscombobox.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscontrol.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdatepickercell.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdocument.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdocumentcontroller.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdragging.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdrawer.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsevent.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfont.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfontdescriptor.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfontmanager.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfontpanel.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsglyphgenerator.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgradient.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgraphics.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgraphicscontext.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshelpmanager.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsimage.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsimagerep.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nskeyvaluebinding.py
   trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmatrix.py
   trunk/pyobjc/pyobjc-framework-Cocoa/setup.py

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Doc/AppCategories.txt
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Doc/AppCategories.txt	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Doc/AppCategories.txt	Tue Mar 17 15:05:21 2009
@@ -37,3 +37,19 @@
 	  NSGraphicsContext.restoreGraphicsState()
 
 
+Context-manager for ``NSAnimationContext``
+------------------------------------------
+
+Class ``NSAnimationContext`` can be used as the context for a ``with`` 
+statement::
+
+	with NSAnimationContext:
+		pass
+
+This is equivalent to::
+
+	NSAnimationContext.beginGrouping()
+	try:
+		pass
+	finally:
+		NSAnimationContext.endGrouping()

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	Tue Mar 17 15:05:21 2009
@@ -285,7 +285,6 @@
   <constant name='NSAnimationTriggerOrderIn' type='@' />
   <constant name='NSAnimationTriggerOrderOut' type='@' />
   <constant name='NSAntialiasThresholdChangedNotification' type='@' />
-  <constant name='NSApp' type='@' />
   <constant name='NSAppKitIgnoredException' type='@' />
   <constant name='NSAppKitVersionNumber' type='d' />
   <constant name='NSAppKitVirtualMemoryException' type='@' />
@@ -2336,7 +2335,7 @@
     <retval type='v' type64='v' />
     <arg type='i' type64='q' />
     <arg type='i' type64='q' />
-    <arg c_array_length_in_arg='0' type='^i' type64='^i' type_modifier='o' />
+    <arg c_array_length_in_arg='1' type='^i' type64='^i' type_modifier='o' />
   </function>
   <function inline='true' name='NSEventMaskFromType'>
     <retval type='I' type64='Q' />
@@ -2865,8 +2864,8 @@
     <method selector='getGlyphsInRange:glyphs:characterIndexes:glyphInscriptions:elasticBits:'>
       <retval type='I' type64='Q' />
       <arg index='0' type='{_NSRange=II}' type64='{_NSRange=QQ}' />
-      <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='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' />
     </method>
@@ -2883,7 +2882,7 @@
       <arg index='1' type_modifier='o' />
     </method>
     <method selector='hyphenCharacterForGlyphAtIndex:'>
-      <retval type='L' type64='I' />
+      <retval type='I' type64='I' />
       <arg index='0' type='I' type64='Q' />
     </method>
     <method selector='hyphenationFactor'>
@@ -3036,10 +3035,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'/>
     </method>
   </class>
   <class name='NSActionCell'>
@@ -3160,7 +3159,7 @@
       <retval type='v' />
       <arg index='0' type='@' />
       <arg index='1' type='@' />
-      <arg index='2' sel_of_type='v@:@^v' />
+      <arg index='2' sel_of_type='v@:@i^v' sel_of_type64='v@:@q^v' />
       <arg index='3' type='^v' />
     </method>
     <method selector='buttons'>
@@ -3391,7 +3390,7 @@
       <arg index='0' type='@' />
       <arg index='1' type='@' />
       <arg index='2' type='@' />
-      <arg index='3' sel_of_type='v@:@^v' />
+      <arg index='3' sel_of_type='v@:@i^v' sel_of_type64='v@:@q^v'/>
       <arg index='4' type='^v' />
     </method>
     <method selector='cancelUserAttentionRequest:'>
@@ -4096,7 +4095,7 @@
     </method>
     <method selector='appendBezierPathWithPoints:count:'>
       <retval type='v' />
-      <arg index='0' type_modifier='n' />
+      <arg index='0' type_modifier='n' c_array_length_in_arg='1'/>
       <arg index='1' type='i' type64='q' />
     </method>
     <method selector='appendBezierPathWithRect:'>
@@ -5446,7 +5445,7 @@
     </method>
   </class>
   <class name='NSCell'>
-    <method selector=''>
+    <method selector='truncatesLastVisibleLine'>
       <retval type='B' />
     </method>
     <method selector='acceptsFirstResponder'>
@@ -6350,7 +6349,7 @@
     </method>
     <method selector='getComponents:'>
       <retval type='v' />
-      <arg index='0' type='^f' type64='^d' />
+      <arg index='0' type='^f' type64='^d' type_modifier='o' c_array_of_variable_length='true' />
     </method>
     <method selector='getCyan:magenta:yellow:black:alpha:'>
       <retval type='v' />
@@ -8346,7 +8345,7 @@
       <arg index='0' type='@' />
       <arg index='1' type='@' />
       <arg index='2' type='@' />
-      <arg index='3' sel_of_type='v@:@B^v' />
+      <arg index='3' sel_of_type='v@:B^v' />
       <arg index='4' type='^v' />
     </method>
     <method selector='recentDocumentURLs'>
@@ -8843,10 +8842,10 @@
     </method>
   </class>
   <class name='NSFont'>
-    <method selector=''>
-      <retval type='B' />
+    <method selector='matrix'>
+      <retval c_array_of_fixed_length='6' />
     </method>
-    <method selector=''>
+    <method selector='isBaseFont'>
       <retval type='B' />
     </method>
     <method selector=''>
@@ -8996,35 +8995,25 @@
     </method>
     <method selector='positionOfGlyph:forCharacter:struckOverRect:'>
       <retval type='{_NSPoint=ff}' type64='{CGPoint=dd}' />
-      <arg index='0' type='I' />
-      <arg index='1' type='rT' />
       <arg index='2' type='{_NSRect={_NSPoint=ff}{_NSSize=ff}}' type64='{CGRect={CGPoint=dd}{CGSize=dd}}' />
     </method>
     <method selector='positionOfGlyph:precededByGlyph:isNominal:'>
       <retval type='{_NSPoint=ff}' type64='{CGPoint=dd}' />
-      <arg index='0' type='I' />
-      <arg index='1' type='I' />
-      <arg index='2' type='^B' />
+      <arg index='2' type='^B' type_modifier='o' />
     </method>
     <method selector='positionOfGlyph:struckOverGlyph:metricsExist:'>
       <retval type='{_NSPoint=ff}' type64='{CGPoint=dd}' />
-      <arg index='0' type='I' />
-      <arg index='1' type='I' />
-      <arg index='2' type='^B' />
+      <arg index='2' type='^B' type_modifier='o' />
     </method>
     <method selector='positionOfGlyph:struckOverRect:metricsExist:'>
       <retval type='{_NSPoint=ff}' type64='{CGPoint=dd}' />
-      <arg index='0' type='I' />
       <arg index='1' type='{_NSRect={_NSPoint=ff}{_NSSize=ff}}' type64='{CGRect={CGPoint=dd}{CGSize=dd}}' />
-      <arg index='2' type='^B' />
+      <arg index='2' type='^B' type_modifier='o' />
     </method>
     <method selector='positionOfGlyph:withRelation:toBaseGlyph:totalAdvancement:metricsExist:'>
       <retval type='{_NSPoint=ff}' type64='{CGPoint=dd}' />
-      <arg index='0' type='I' />
-      <arg index='1' type='I' />
-      <arg index='2' type='I' />
       <arg index='3' type_modifier='o' />
-      <arg index='4' type='^B' />
+      <arg index='4' type='^B' type_modifier='o'/>
     </method>
     <method selector='positionsForCompositeSequence:numberOfGlyphs:pointArray:'>
       <retval type='i' type64='q' />
@@ -9586,11 +9575,8 @@
   </class>
   <class name='NSGlyphGenerator'>
     <method selector='generateGlyphsForGlyphStorage:desiredNumberOfCharacters:glyphIndex:characterIndex:'>
-      <retval type='v' />
-      <arg index='0' type='@' />
-      <arg index='1' type='I' type64='Q' />
       <arg index='2' type_modifier='o' />
-      <arg index='3' type_modifier='N' />
+      <arg index='3' type_modifier='o' />
     </method>
     <method class_method='true' selector='sharedGlyphGenerator'>
       <retval type='@' />
@@ -9731,6 +9717,9 @@
       <arg index='0' type='^{CGContext=}' />
       <arg index='1' type='B' />
     </method>
+    <method selector='graphicsPort'>
+	    <retval type='^{CGContext=}' />
+    </method>
     <method class_method='true' selector='graphicsContextWithWindow:'>
       <retval type='@' />
       <arg index='0' type='@' />
@@ -10622,7 +10611,7 @@
     </method>
     <method selector='insertGlyphs:length:forStartingGlyphAtIndex:characterIndex:'>
       <retval type='v' />
-      <arg c_array_length_in_arg='1' index='0' type_modifier='n' />
+      <arg c_array_length_in_arg='1' index='0' type_modifier='n' type='^I' type64='^I' />
       <arg index='1' type='I' type64='Q' />
       <arg index='2' type='I' type64='Q' />
       <arg index='3' type='I' type64='Q' />
@@ -11498,6 +11487,15 @@
     <method selector='sizeToCells'>
       <retval type='v' />
     </method>
+    <method selector='sortUsingFunction:context:'>
+	    <arg index='0' function_pointer='true' function_pointer_retained='false'>
+		    <retval type='i'/>
+		    <arg type='@' />
+		    <arg type='@' />
+		    <arg type='@' />
+	    </arg>
+	    <arg index='1' type='@' />
+    </method>
     <method selector='sortUsingSelector:'>
       <retval type='v' />
       <arg index='0' sel_of_type='i@:@' />
@@ -13158,15 +13156,15 @@
     </method>
     <method selector='doCommandBySelector:'>
       <retval type='v' />
-      <arg index='0' type=':' />
+      <arg index='0' type=':' sel_of_type='v@:@'/>
     </method>
     <method selector='doCommandBySelector:'>
       <retval type='v' />
-      <arg index='0' type=':' />
+      <arg index='0' type=':' sel_of_type='v@:@'/>
     </method>
     <method selector='doCommandBySelector:client:'>
       <retval type='v' />
-      <arg index='0' type=':' />
+      <arg index='0' type=':' sel_of_type='v@:@'/>
       <arg index='1' type='@' />
     </method>
     <method selector='draggedImage'>
@@ -13380,7 +13378,7 @@
     </method>
     <method selector='insertGlyphs:length:forStartingGlyphAtIndex:characterIndex:'>
       <retval type='v' />
-      <arg c_array_length_in_arg='1' index='0' type_modifier='n' />
+      <arg c_array_length_in_arg='1' index='0' type_modifier='n' type='^I' type64='^I' />
       <arg index='1' type='I' type64='Q' />
       <arg index='2' type='I' type64='Q' />
       <arg index='3' type='I' type64='Q' />

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Lib/AppKit/__init__.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Lib/AppKit/__init__.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Lib/AppKit/__init__.py	Tue Mar 17 15:05:21 2009
@@ -25,9 +25,9 @@
 # Import some manually maintained helper code:
 from AppKit._appmain import *
 from AppKit._nsbezierpath import *
+from AppKit._nsfont import *
 from AppKit._nsquickdrawview import *
 from AppKit._nsbezierpath import *
-from AppKit._nsmatrix import *
 from AppKit._nsview import *
 from AppKit._nsbitmap import *
 #from AppKit._nsopengl import *

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/Lib/PyObjCTools/AppCategories.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/Lib/PyObjCTools/AppCategories.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/Lib/PyObjCTools/AppCategories.py	Tue Mar 17 15:05:21 2009
@@ -18,3 +18,19 @@
     @classmethod
     def savedGraphicsState(self):
         return _ctxHelper()
+
+try:
+    from AppKit import  NSAnimationContext
+
+    class NSAnimationContext (objc.Category(NSAnimationContext)):
+        @classmethod
+        def __enter__(cls):
+            cls.beginGrouping()
+
+        @classmethod
+        def __exit__(cls, exc_type, exc_value, exc_type):
+            cls.endGrouping()
+            return False
+
+except ImportError:
+    pass

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsaccessibility.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsaccessibility.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsaccessibility.py	Tue Mar 17 15:05:21 2009
@@ -1,7 +1,26 @@
 from PyObjCTools.TestSupport import *
 from AppKit import *
 
+class TestNSAccessibilityHelper (NSObject):
+    def accessibilityIsAttributeSettable_(self, arg):
+        return 1
+
+    def accessibilityIsIgnored(self):
+        return 1
+
+    def accessibilityHitTest_(self, pt):
+        pass
+
+    def accessibilitySetOverrideValue_forAttribute_(self, v, a):
+        return 1
+
 class TestNSAccessibility (TestCase):
+    def testInformal(self):
+        self.failUnlessResultIsBOOL(TestNSAccessibilityHelper.accessibilityIsAttributeSettable_)
+        self.failUnlessResultIsBOOL(TestNSAccessibilityHelper.accessibilityIsIgnored)
+        self.failUnlessArgHasType(TestNSAccessibilityHelper.accessibilityHitTest_, 0, NSPoint.__typestr__)
+        self.failUnlessResultIsBOOL(TestNSAccessibilityHelper.accessibilitySetOverrideValue_forAttribute_)
+
     def testFunction(self):
         v = NSAccessibilityRoleDescription(NSAccessibilityButtonRole, None)
         self.failUnlessIsInstance(v, unicode)

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsalert.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsalert.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsalert.py	Tue Mar 17 15:05:21 2009
@@ -2,6 +2,10 @@
 from PyObjCTools.TestSupport import *
 from AppKit import *
 
+class TestNSAlertHelper (NSObject):
+    def alertShowHelp_(self, alert):
+        return 1
+
 class TestNSAlert (TestCase):
     def testConstants(self):
         self.failUnlessEqual(NSWarningAlertStyle, 0)
@@ -14,11 +18,20 @@
 
 
     def testMethods(self):
-        self.fail("+ (NSAlert *)alertWithMessageText:(NSString *)message defaultButton:(NSString *)defaultButton alternateButton:(NSString *)alternateButton otherButton:(NSString *)otherButton informativeTextWithFormat:(NSString *)format, ...;")
-        self.fail("- (void)beginSheetModalForWindow:(NSWindow *)window modalDelegate:(id)delegate didEndSelector:(SEL)didEndSelector contextInfo:(void *)contextInfo; ")
-
-
+        self.failUnlessArgIsPrintf(NSAlert.alertWithMessageText_defaultButton_alternateButton_otherButton_informativeTextWithFormat_, 4)
+        self.failUnlessArgIsSEL(NSAlert.beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_, 2, 'v@:@' + objc._C_NSInteger + '^v')
+        self.failUnlessArgHasType(NSAlert.beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_, 3, '^v')
+
+        self.failUnlessResultIsBOOL(NSAlert.showsHelp)
+        self.failUnlessArgIsBOOL(NSAlert.setShowsHelp_, 0)
+
+    @min_os_level('10.5')
+    def testMethods10_5(self):
+        self.failUnlessResultIsBOOL(NSAlert.showsSuppressionButton)
+        self.failUnlessArgIsBOOL(NSAlert.setShowsSuppressionButton_, 0)
 
+    def testProtocols(self):
+        self.failUnlessResultIsBOOL(TestNSAlertHelper.alertShowHelp_)
 
 
 if __name__ == "__main__":

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsanimation.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsanimation.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsanimation.py	Tue Mar 17 15:05:21 2009
@@ -2,6 +2,10 @@
 from PyObjCTools.TestSupport import *
 from AppKit import *
 
+class TestNSAnimationHelper (NSObject):
+    def animationShouldStart_(self, animation):
+        return 1
+
 class TestNSAnimation (TestCase):
     def testConstants(self):
         self.failUnlessEqual(NSAnimationEaseInOut, 0)
@@ -26,7 +30,8 @@
         self.failUnlessIsInstance(NSAnimationTriggerOrderIn, unicode)
         self.failUnlessIsInstance(NSAnimationTriggerOrderOut, unicode)
 
-
+    def testProtocol(self):
+        self.failUnlessResultIsBOOL(TestNSAnimationHelper.animationShouldStart_)
 
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsapplication.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsapplication.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsapplication.py	Tue Mar 17 15:05:21 2009
@@ -2,6 +2,34 @@
 from PyObjCTools.TestSupport import *
 from AppKit import *
 
+class TestNSApplicationHelper (NSObject):
+    def copyWithZone_(self, zone):
+        print "copyWithZone:"
+        return self
+
+    def writeSelectionToPasteboard_types_(self, pb, tp):
+        return 1
+    def readSelectionFromPasteboard_(self, pb):
+        return 1
+    def application_openFile_(self, sender, file):
+        return 1
+    def application_openTempFile_(self, sender, file):
+        return 1
+    def applicationShouldOpenUntitledFile_(self, sender):
+        return 1
+    def application_openFileWithoutUI_(self, sender, file):
+        return 1
+    def application_printFile_(self, sender, file):
+        return 1
+    def application_printFiles_withSettings_showPrintPanels_(
+            self, a, f, s, sh):
+        return 1
+    def applicationShouldTerminateAfterLastWindowClosed_(self, sender):
+        return 1
+    def applicationShouldHandleReopen_hasVisibleWindows_(self, sender, flag):
+        return 1
+
+
 class TestNSApplication (TestCase):
     def testConstants(self):
         self.failUnlessEqual(NSAppKitVersionNumber10_0, 577)
@@ -58,32 +86,76 @@
 
 
     def testFunctions(self):
-        self.fail("NSApplicationMain")
-        self.fail("NSApplicationLoad")
-        self.fail("NSShowsServicesMenuItem")
-        self.fail("NSSetShowsServicesMenuItem")
-        self.fail("NSUpdateDynamicServices")
-        self.fail("NSPerformService")
-        self.fail("NSRegisterServicesProvider")
-        self.fail("NSUnregisterServicesProvider")
+        # Testing the next function is not doable in this context...
+        NSApplicationMain
+        self.failUnlessResultIsBOOL(NSApplicationLoad)
+        self.failUnlessIsInstance(NSApplicationLoad(), bool)
+
+        self.failUnlessResultIsBOOL(NSShowsServicesMenuItem)
+        self.failUnlessIsInstance(NSShowsServicesMenuItem("foobar"), bool)
+
+        self.failUnlessIsInstance(NSSetShowsServicesMenuItem("foobar", 1), (int, long))
+        self.failUnlessArgIsBOOL(NSSetShowsServicesMenuItem, 1)
+
+        NSUpdateDynamicServices()
+
+        pboard = NSPasteboard.pasteboardWithName_("pyobjctest")
+        self.failUnlessIsInstance(pboard, NSPasteboard)
+        self.failUnlessIsInstance(NSPerformService("help", pboard), bool)
+
+        objc.setVerbose(1)
+        v = TestNSApplicationHelper.alloc().init()
+        NSRegisterServicesProvider("foobar", v)
+        NSUnregisterServicesProvider("foobar")
 
     def testNSApp(self):
         self.failIf(NSApp is None)
-        self.failIfIsInstance(NSApp, NSObject)
+        self.failUnlessEqual(type(NSApp).__name__, "_NSApp")
         self.failUnless(hasattr(NSApp, '__call__'))
         app = NSApp()
         self.failUnless(app is None or isinstance(app, NSApplication))
 
     def testNSModalSession(self):
-        self.fail("NSModalSession")
-        self.fail("-beginModalSessionForWindow")
-        self.fail("-endModalSession")
+        self.failUnlessIsOpaquePointer(NSModalSession)
 
-    def testMethods(self):
-        self.fail("- (void)beginSheet:(NSWindow *)sheet modalForWindow:(NSWindow *)docWindow modalDelegate:(id)modalDelegate didEndSelector:(SEL)didEndSelector contextInfo:(void *)contextInfo;")
+        app = NSApplication.sharedApplication()
+        window = NSWindow.alloc().init()
+        session = app.beginModalSessionForWindow_(window)
+        self.failUnlessIsInstance(session, NSModalSession)
+        app.endModalSession_(session)
 
+    def testMethods(self):
+        self.failUnlessResultIsBOOL(NSApplication.isActive)
+        self.failUnlessResultIsBOOL(NSApplication.isHidden)
+        self.failUnlessResultIsBOOL(NSApplication.isRunning)
+        self.failUnlessArgIsBOOL(NSApplication.activateIgnoringOtherApps_, 0)
+
+        self.failUnlessArgIsSEL(NSApplication.beginSheet_modalForWindow_modalDelegate_didEndSelector_contextInfo_, 3, 'v@:@' + objc._C_NSInteger + '^v')
+        self.failUnlessArgHasType(NSApplication.beginSheet_modalForWindow_modalDelegate_didEndSelector_contextInfo_, 4, '^v')
+
+
+        self.failUnlessArgIsBOOL(NSApplication.postEvent_atStart_, 1)
+        self.failUnlessArgIsBOOL(NSApplication.makeWindowsPerform_inOrder_, 1)
+        self.failUnlessArgIsBOOL(NSApplication.setWindowsNeedUpdate_, 0)
+        self.failUnlessResultIsBOOL(NSApplication.sendAction_to_from_)
+        self.failUnlessResultIsBOOL(NSApplication.tryToPerform_with_)
+        self.failUnlessArgIsBOOL(NSApplication.replyToApplicationShouldTerminate_, 0)
+        self.failUnlessArgIsBOOL(NSApplication.addWindowsItem_title_filename_, 2)
+        self.failUnlessArgIsBOOL(NSApplication.changeWindowsItem_title_filename_, 2)
+   
+    def testDelegateMethods(self):
+        self.failUnlessResultIsBOOL(TestNSApplicationHelper.application_openFile_)
+        self.failUnlessResultIsBOOL(TestNSApplicationHelper.application_openTempFile_)
+        self.failUnlessResultIsBOOL(TestNSApplicationHelper.applicationShouldOpenUntitledFile_)
+        self.failUnlessResultIsBOOL(TestNSApplicationHelper.application_openFileWithoutUI_)
+        self.failUnlessResultIsBOOL(TestNSApplicationHelper.application_printFile_)
+        self.failUnlessArgIsBOOL(TestNSApplicationHelper.application_printFiles_withSettings_showPrintPanels_, 3)
+        self.failUnlessResultIsBOOL(TestNSApplicationHelper.applicationShouldTerminateAfterLastWindowClosed_)
+        self.failUnlessResultIsBOOL(TestNSApplicationHelper.applicationShouldHandleReopen_hasVisibleWindows_)
+        self.failUnlessArgIsBOOL(TestNSApplicationHelper.applicationShouldHandleReopen_hasVisibleWindows_, 1)
 
-    
+        self.failUnlessResultIsBOOL(TestNSApplicationHelper.writeSelectionToPasteboard_types_)
+        self.failUnlessResultIsBOOL(TestNSApplicationHelper.readSelectionFromPasteboard_)
 
 
 if __name__ == "__main__":

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsatstypesetter.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsatstypesetter.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsatstypesetter.py	Tue Mar 17 15:05:21 2009
@@ -11,8 +11,8 @@
         def shouldBreakLineByWordBeforeCharacterAtIndex_(self, v):
             return None
 
-        def shouldBreakLineByHyphenatingBeforeCharacterAtIndex(self, v):
-            return None
+        def shouldBreakLineByHyphenatingBeforeCharacterAtIndex_(self, v):
+            return True
 
         def hyphenationFactorForGlyphAtIndex_(self, v):
             return None
@@ -62,20 +62,10 @@
         self.fail("Add header tests for <AppKit/NSATSTypesetter.h>")
 
     def testByRefArguments(self):
-        o = NSATSTypesetter.alloc().init()
-        m = o.lineFragmentRectForProposedRect_remainingRect_.__metadata__()
-        self.failUnless(m['arguments'][3]['type'].startswith('o^'))
-
-        m = o.layoutParagraphAtPoint_.__metadata__()
-        self.failUnless(m['arguments'][2]['type'].startswith('N^'))
-
-        m = o.getLineFragmentRect_usedRect_forParagraphSeparatorGlyphRange_atProposedOrigin_.__metadata__()
-        self.failUnless(m['arguments'][2]['type'].startswith('o^'))
-        self.failUnless(m['arguments'][3]['type'].startswith('o^'))
-
-
-
-
+        self.failUnlessArgIsOut(NSATSTypesetter.lineFragmentRectForProposedRect_remainingRect_, 1)
+        self.failUnlessArgIsInOut(NSATSTypesetter.layoutParagraphAtPoint_, 0)
+        self.failUnlessArgIsOut(NSATSTypesetter.getLineFragmentRect_usedRect_forParagraphSeparatorGlyphRange_atProposedOrigin_, 0)
+        self.failUnlessArgIsOut(NSATSTypesetter.getLineFragmentRect_usedRect_forParagraphSeparatorGlyphRange_atProposedOrigin_, 1)
 
         o = TestNSATSTypesetterHelper.alloc().init()
         m = o.willSetLineFragmentRect_forGlyphRange_usedRect_baselineOffset_.__metadata__()
@@ -87,20 +77,20 @@
         self.failUnlessEqual(m['retval']['type'], objc._C_NSBOOL)
         self.failUnlessEqual(m['arguments'][2]['type'], objc._C_UINT)
 
-        m = o.shouldBreakLineByHyphenatingBeforeCharacterAtIndex.__metadata__()
-        self.failUnlessEqual(m['retval']['type'], objc._C_NSUInteger)
+        m = o.shouldBreakLineByHyphenatingBeforeCharacterAtIndex_.__metadata__()
+        self.failUnlessEqual(m['retval']['type'], objc._C_NSBOOL)
         self.failUnlessEqual(m['arguments'][2]['type'], objc._C_NSUInteger)
 
         m = o.hyphenationFactorForGlyphAtIndex_.__metadata__()
-        self.failUnlessEqual(m['retval']['type'], objc._C_FLOAT)
+        self.failUnlessEqual(m['retval']['type'], objc._C_FLT)
         self.failUnlessEqual(m['arguments'][2]['type'], objc._C_NSUInteger)
 
         m = o.hyphenCharacterForGlyphAtIndex_.__metadata__()
-        self.failUnlessEqual(m['retval']['type'], objc._C_INT)
+        self.failUnlessEqual(m['retval']['type'], objc._C_UINT)
         self.failUnlessEqual(m['arguments'][2]['type'], objc._C_NSUInteger)
 
         m = o.boundingBoxForControlGlyphAtIndex_forTextContainer_proposedLineFragment_glyphPosition_characterIndex_.__metadata__()
-        self.failUnlessEqual(m['retval']['type'], objc._C_INT)
+        self.failUnlessEqual(m['retval']['type'], NSRect.__typestr__)
         self.failUnlessEqual(m['arguments'][2]['type'], objc._C_NSUInteger)
         self.failUnlessEqual(m['arguments'][3]['type'], objc._C_ID)
         self.failUnlessStartswith(m['arguments'][4]['type'], '{')
@@ -119,8 +109,15 @@
         self.failUnlessStartswith(m['arguments'][2]['type'], '{')
         self.failUnlessStartswith(m['arguments'][3]['type'], 'o^{')
 
-        self.fail("lookup interface")
+        self.fail("redo")
+
         m = o.getGlyphsInRange_glyphs_characterIndexes_glyphInscriptions_elasticBits_.__metadata__()
+        self.failUnlessEqual(m['retval']['type'], objc._C_NSUInteger)
+        self.failUnlessEqual(m['arguments'][2]['type'], NSRange.__typestr__)
+        self.failUnlessEqual(m['arguments'][3]['type'], 'o^S')
+        self.failUnlessEqual(m['arguments'][3]['c_array_length_in_arg'], 2)
+        self.failUnlessEqual(m['arguments'][4]['type'], objc._C_OUT + objc._C_PTR + objc._C_NSUInteger)
+        self.failUnlessEqual(m['arguments'][4]['c_array_length_in_arg'], 2)
         m = o.setLineFragmentRect_forGlyphRange_usedRect_baselineOffset_.__metadata__()
         m = o.substituteGlyphsInRange_withGlyphs_.__metadata__()
         m = o.insertGlyph_atGlyphIndex_characterIndex_.__metadata__()

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	Tue Mar 17 15:05:21 2009
@@ -1,6 +1,7 @@
 from PyObjCTools.TestSupport import *
 
 from Foundation import *
+from AppKit import *
 import Foundation
 
 class TestNSAttributedString (TestCase):
@@ -13,5 +14,132 @@
         self.failUnless(m['arguments'][4]['type'].startswith('o^'))
 
 
+    def testConstantsAppKit(self):
+        self.failUnlessIsInstance(NSFontAttributeName, unicode)
+        self.failUnlessIsInstance(NSParagraphStyleAttributeName, unicode)
+        self.failUnlessIsInstance(NSForegroundColorAttributeName, unicode)
+        self.failUnlessIsInstance(NSUnderlineStyleAttributeName, unicode)
+        self.failUnlessIsInstance(NSSuperscriptAttributeName, unicode)
+        self.failUnlessIsInstance(NSBackgroundColorAttributeName, unicode)
+        self.failUnlessIsInstance(NSAttachmentAttributeName, unicode)
+        self.failUnlessIsInstance(NSLigatureAttributeName, unicode)
+        self.failUnlessIsInstance(NSBaselineOffsetAttributeName, unicode)
+        self.failUnlessIsInstance(NSKernAttributeName, unicode)
+        self.failUnlessIsInstance(NSLinkAttributeName, unicode)
+        self.failUnlessIsInstance(NSStrokeWidthAttributeName, unicode)
+        self.failUnlessIsInstance(NSStrokeColorAttributeName, unicode)
+        self.failUnlessIsInstance(NSUnderlineColorAttributeName, unicode)
+        self.failUnlessIsInstance(NSStrikethroughStyleAttributeName, unicode)
+        self.failUnlessIsInstance(NSStrikethroughColorAttributeName, unicode)
+        self.failUnlessIsInstance(NSShadowAttributeName, unicode)
+        self.failUnlessIsInstance(NSObliquenessAttributeName, unicode)
+        self.failUnlessIsInstance(NSExpansionAttributeName, unicode)
+        self.failUnlessIsInstance(NSCursorAttributeName, unicode)
+        self.failUnlessIsInstance(NSToolTipAttributeName, unicode)
+        self.failUnlessIsInstance(NSCharacterShapeAttributeName, unicode)
+        self.failUnlessIsInstance(NSGlyphInfoAttributeName, unicode)
+        self.failUnlessIsInstance(NSMarkedClauseSegmentAttributeName, unicode)
+        self.failUnlessIsInstance(NSSpellingStateAttributeName, unicode)
+
+        self.failUnlessEqual(NSUnderlineStyleNone, 0x00)
+        self.failUnlessEqual(NSUnderlineStyleSingle, 0x01)
+        self.failUnlessEqual(NSUnderlineStyleThick, 0x02)
+        self.failUnlessEqual(NSUnderlineStyleDouble, 0x09)
+        self.failUnlessEqual(NSUnderlinePatternSolid, 0x0000)
+        self.failUnlessEqual(NSUnderlinePatternDot, 0x0100)
+        self.failUnlessEqual(NSUnderlinePatternDash, 0x0200)
+        self.failUnlessEqual(NSUnderlinePatternDashDot, 0x0300)
+        self.failUnlessEqual(NSUnderlinePatternDashDotDot, 0x0400)
+
+        self.failUnlessEqual(NSSpellingStateSpellingFlag, 1)
+        self.failUnlessEqual(NSSpellingStateGrammarFlag, 2)
+
+        self.failUnlessIsInstance(NSPlainTextDocumentType, unicode)
+        self.failUnlessIsInstance(NSRTFTextDocumentType, unicode)
+        self.failUnlessIsInstance(NSRTFDTextDocumentType, unicode)
+        self.failUnlessIsInstance(NSMacSimpleTextDocumentType, unicode)
+        self.failUnlessIsInstance(NSHTMLTextDocumentType, unicode)
+        self.failUnlessIsInstance(NSDocFormatTextDocumentType, unicode)
+        self.failUnlessIsInstance(NSWordMLTextDocumentType, unicode)
+        self.failUnlessIsInstance(NSWebArchiveTextDocumentType, unicode)
+        self.failUnlessIsInstance(NSOfficeOpenXMLTextDocumentType, unicode)
+        self.failUnlessIsInstance(NSOpenDocumentTextDocumentType, unicode)
+        self.failUnlessIsInstance(NSPaperSizeDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSLeftMarginDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSRightMarginDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSTopMarginDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSBottomMarginDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSViewSizeDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSViewZoomDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSViewModeDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSDocumentTypeDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSReadOnlyDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSConvertedDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSCocoaVersionDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSBackgroundColorDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSHyphenationFactorDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSDefaultTabIntervalDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSCharacterEncodingDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSTitleDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSCompanyDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSCopyrightDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSSubjectDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSAuthorDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSKeywordsDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSCommentDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSEditorDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSCreationTimeDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSModificationTimeDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSExcludedElementsDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSTextEncodingNameDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSPrefixSpacesDocumentAttribute, unicode)
+        self.failUnlessIsInstance(NSDocumentTypeDocumentOption, unicode)
+        self.failUnlessIsInstance(NSDefaultAttributesDocumentOption, unicode)
+        self.failUnlessIsInstance(NSCharacterEncodingDocumentOption, unicode)
+        self.failUnlessIsInstance(NSTextEncodingNameDocumentOption, unicode)
+        self.failUnlessIsInstance(NSBaseURLDocumentOption, unicode)
+        self.failUnlessIsInstance(NSTimeoutDocumentOption, unicode)
+        self.failUnlessIsInstance(NSWebPreferencesDocumentOption, unicode)
+        self.failUnlessIsInstance(NSWebResourceLoadDelegateDocumentOption, unicode)
+        self.failUnlessIsInstance(NSTextSizeMultiplierDocumentOption, unicode)
+
+        self.failUnlessEqual(NSNoUnderlineStyle, 0)
+        self.failUnlessEqual(NSSingleUnderlineStyle, 1)
+        self.failUnlessIsInstance(NSUnderlineStrikethroughMask, (int, long))
+
+    def testMethodsAppKit(self):
+        self.failUnlessResultIsBOOL(NSAttributedString.containsAttachments)
+
+        self.failUnlessArgIsOut(NSAttributedString.initWithURL_options_documentAttributes_error_, 2)
+        self.failUnlessArgIsOut(NSAttributedString.initWithURL_options_documentAttributes_error_, 3)
+
+        self.failUnlessArgIsOut(NSAttributedString.initWithData_options_documentAttributes_error_, 2)
+        self.failUnlessArgIsOut(NSAttributedString.initWithData_options_documentAttributes_error_, 3)
+
+        self.failUnlessArgIsOut(NSAttributedString.initWithPath_documentAttributes_, 1)
+        self.failUnlessArgIsOut(NSAttributedString.initWithURL_documentAttributes_, 1)
+        self.failUnlessArgIsOut(NSAttributedString.initWithRTF_documentAttributes_, 1)
+        self.failUnlessArgIsOut(NSAttributedString.initWithRTFD_documentAttributes_, 1)
+        self.failUnlessArgIsOut(NSAttributedString.initWithHTML_documentAttributes_, 1)
+        self.failUnlessArgIsOut(NSAttributedString.initWithHTML_baseURL_documentAttributes_, 2)
+        self.failUnlessArgIsOut(NSAttributedString.initWithRTFDFileWrapper_documentAttributes_, 1)
+
+        self.failUnlessArgIsOut(NSAttributedString.dataFromRange_documentAttributes_error_, 2)
+        self.failUnlessArgIsOut(NSAttributedString.fileWrapperFromRange_documentAttributes_error_, 2)
+        
+        self.failUnlessResultIsBOOL(NSMutableAttributedString.readFromURL_options_documentAttributes_error_)
+        self.failUnlessArgIsOut(NSMutableAttributedString.readFromURL_options_documentAttributes_error_, 2)
+        self.failUnlessArgIsOut(NSMutableAttributedString.readFromURL_options_documentAttributes_error_, 3)
+
+        self.failUnlessResultIsBOOL(NSMutableAttributedString.readFromData_options_documentAttributes_error_)
+        self.failUnlessArgIsOut(NSMutableAttributedString.readFromData_options_documentAttributes_error_, 2)
+        self.failUnlessArgIsOut(NSMutableAttributedString.readFromData_options_documentAttributes_error_, 3)
+
+        self.failUnlessResultIsBOOL(NSMutableAttributedString.readFromURL_options_documentAttributes_)
+        self.failUnlessArgIsOut(NSMutableAttributedString.readFromURL_options_documentAttributes_, 2)
+
+        self.failUnlessResultIsBOOL(NSMutableAttributedString.readFromData_options_documentAttributes_)
+        self.failUnlessArgIsOut(NSMutableAttributedString.readFromData_options_documentAttributes_, 2)
+
 if __name__ == '__main__':
     main()

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbezierpath.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbezierpath.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbezierpath.py	Tue Mar 17 15:05:21 2009
@@ -129,6 +129,11 @@
 
 
     def testMethods(self):
+        self.failUnlessResultIsBOOL(NSBezierPath.isEmpty)
+        self.failUnlessResultIsBOOL(NSBezierPath.containsPoint_)
+        self.failUnlessResultIsBOOL(NSBezierPath.cachesBezierPath)
+        self.failUnlessArgIsBOOL(NSBezierPath.setCachesBezierPath_, 0)
+
         self.fail("+ (void)drawPackedGlyphs:(const char *)packedGlyphs atPoint:(NSPoint)point;")
         self.fail("- (void)appendBezierPathWithPackedGlyphs:(const char *)packedGlyphs;")
 

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	Tue Mar 17 15:05:21 2009
@@ -147,6 +147,9 @@
         self.failUnlessIsInstance(NSImageFallbackBackgroundColor, unicode)
 
     def testMethods(self):
+        self.failUnlessResultIsBOOL(NSBitmapImageRep.isPlanar)
+        self.failUnlessResultIsBOOL(NSBitmapImageRep.canBeCompressedUsing_)
+        self.failUnlessArgIsBOOL(NSBitmapImageRep.incrementalLoadFromData_complete_, 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;")

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbox.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbox.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbox.py	Tue Mar 17 15:05:21 2009
@@ -17,6 +17,10 @@
         self.failUnlessEqual(NSBoxOldStyle, 3)
         self.failUnlessEqual(NSBoxCustom, 4)
 
+    def testMethods(self):
+        self.failUnlessResultIsBOOL(NSBox.isTransparent)
+        self.failUnlessArgIsBOOL(NSBox.setTransparent_, 0)
+
 
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbrowser.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbrowser.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbrowser.py	Tue Mar 17 15:05:21 2009
@@ -2,6 +2,17 @@
 from PyObjCTools.TestSupport import *
 from AppKit import *
 
+class TestNSBrowserHelper (NSObject):
+    def browser_selectCellWithString_inColumn_(self, b, c, s): return 1
+    def browser_selectRow_inColumn_(self, b, r, c): return 1
+    def browser_isColumnValid_(self, b, c): return 1
+    def browser_shouldSizeColumn_forUserResize_toWidth_(self, b, c, us, w): return 1
+    def browser_shouldShowCellExpansionForRow_column_(self, b, r, c): return 1
+    def browser_writeRowsWithIndexes_inColumn_toPasteboard_(self, b, r, c, p): return 1
+    def browser_canDragRowsWithIndexes_inColumn_withEvent_(self, b, i, c, e): return 1
+    def browser_acceptDrop_atRow_column_dropOperation_(self, b, a, r, c, o): return 1
+    def browser_shouldTypeSelectForEvent_withCurrentSearchString_(self, b, e, s): return 1
+
 class TestNSBrowser (TestCase):
     def testConstants(self):
         self.failUnlessEqual(NSBrowserNoColumnResizing, 0)
@@ -12,10 +23,52 @@
         self.failUnlessEqual(NSBrowserDropAbove, 1)
 
         self.failUnlessIsInstance(NSBrowserColumnConfigurationDidChangeNotification, unicode)
+        self.failUnlessEqual(NSAppKitVersionNumberWithContinuousScrollingBrowser, 680.0)
+        self.failUnlessEqual(NSAppKitVersionNumberWithColumnResizingBrowser, 685.0)
         
 
     def testMethods(self):
-        self.fail("- (void)setDoubleAction:(SEL)aSelector;")
+        self.failUnlessResultIsBOOL(NSBrowser.isLoaded)
+        self.failUnlessResultIsBOOL(NSBrowser.reusesColumns)
+        self.failUnlessResultIsBOOL(NSBrowser.hasHorizontalScroller)
+        self.failUnlessArgIsBOOL(NSBrowser.setHasHorizontalScroller_, 0)
+        self.failUnlessResultIsBOOL(NSBrowser.separatesColumns)
+        self.failUnlessArgIsBOOL(NSBrowser.setSeparatesColumns_, 0)
+        self.failUnlessResultIsBOOL(NSBrowser.isTitled)
+        self.failUnlessArgIsBOOL(NSBrowser.setTitled_, 0)
+        self.failUnlessResultIsBOOL(NSBrowser.allowsMultipleSelection)
+        self.failUnlessArgIsBOOL(NSBrowser.setAllowsMultipleSelection_, 0)
+        self.failUnlessResultIsBOOL(NSBrowser.allowsBranchSelection)
+        self.failUnlessArgIsBOOL(NSBrowser.setAllowsBranchSelection_, 0)
+        self.failUnlessResultIsBOOL(NSBrowser.allowsEmptySelection)
+        self.failUnlessArgIsBOOL(NSBrowser.setAllowsEmptySelection_, 0)
+        self.failUnlessResultIsBOOL(NSBrowser.takesTitleFromPreviousColumn)
+        self.failUnlessArgIsBOOL(NSBrowser.setTakesTitleFromPreviousColumn_, 0)
+        self.failUnlessResultIsBOOL(NSBrowser.acceptsArrowKeys)
+        self.failUnlessArgIsBOOL(NSBrowser.setAcceptsArrowKeys_, 0)
+        self.failUnlessResultIsBOOL(NSBrowser.sendsActionOnArrowKeys)
+        self.failUnlessArgIsBOOL(NSBrowser.setSendsActionOnArrowKeys_, 0)
+        self.failUnlessResultIsBOOL(NSBrowser.setPath_)
+        self.failUnlessResultIsBOOL(NSBrowser.sendAction)
+        self.failUnlessResultIsBOOL(NSBrowser.prefersAllColumnUserResizing)
+        self.failUnlessArgIsBOOL(NSBrowser.setPrefersAllColumnUserResizing_, 0)
+        self.failUnlessResultIsBOOL(NSBrowser.canDragRowsWithIndexes_inColumn_withEvent_)
+        self.failUnlessArgIsBOOL(NSBrowser.setDraggingSourceOperationMask_forLocal_, 1)
+        self.failUnlessResultIsBOOL(NSBrowser.allowsTypeSelect)
+        self.failUnlessArgIsBOOL(NSBrowser.setAllowsTypeSelect_, 0)
+
+    def testDelegate(self):
+        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_selectCellWithString_inColumn_)
+        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_selectRow_inColumn_)
+        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_isColumnValid_)
+        self.failUnlessArgIsBOOL(TestNSBrowserHelper.browser_shouldSizeColumn_forUserResize_toWidth_, 2)
+        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_shouldShowCellExpansionForRow_column_)
+        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_writeRowsWithIndexes_inColumn_toPasteboard_)
+        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_canDragRowsWithIndexes_inColumn_withEvent_)
+        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_acceptDrop_atRow_column_dropOperation_)
+
+        self.failUnlessResultIsBOOL(TestNSBrowserHelper.browser_shouldTypeSelectForEvent_withCurrentSearchString_)
+
 
 
 if __name__ == "__main__":

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbutton.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbutton.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbutton.py	Tue Mar 17 15:05:21 2009
@@ -4,7 +4,15 @@
 
 class TestNSButton (TestCase):
     def testMethods(self):
-        self.fail("- (void)getPeriodicDelay:(float *)delay interval:(float *)interval;")
+        self.failUnlessResultIsBOOL(NSButton.isBordered)
+        self.failUnlessArgIsBOOL(NSButton.setBordered_, 0)
+        self.failUnlessResultIsBOOL(NSButton.isTransparent)
+        self.failUnlessArgIsBOOL(NSButton.setTransparent_, 0)
+        self.failUnlessArgIsOut(NSButton.getPeriodicDelay_interval_, 0)
+        self.failUnlessArgIsOut(NSButton.getPeriodicDelay_interval_, 1)
+        self.failUnlessResultIsBOOL(NSButton.performKeyEquivalent_)
+        self.failUnlessResultIsBOOL(NSButton.allowsMixedState)
+        self.failUnlessArgIsBOOL(NSButton.setAllowsMixedState_, 0)
 
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbuttoncell.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbuttoncell.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsbuttoncell.py	Tue Mar 17 15:05:21 2009
@@ -38,7 +38,16 @@
 
 
     def testMethods(self):
-        self.fail("- (void)getPeriodicDelay:(float *)delay interval:(float *)interval;")
+        self.failUnlessResultIsBOOL(NSButtonCell.isOpaque)
+        self.failUnlessResultIsBOOL(NSButtonCell.isTransparent)
+        self.failUnlessArgIsBOOL(NSButtonCell.setTransparent_, 0)
 
+        self.failUnlessArgIsOut(NSButtonCell.getPeriodicDelay_interval_, 0)
+        self.failUnlessArgIsOut(NSButtonCell.getPeriodicDelay_interval_, 1)
+
+        self.failUnlessResultIsBOOL(NSButtonCell.imageDimsWhenDisabled)
+        self.failUnlessArgIsBOOL(NSButtonCell.setImageDimsWhenDisabled_, 0)
+        self.failUnlessResultIsBOOL(NSButtonCell.showsBorderOnlyWhileMouseInside)
+        self.failUnlessArgIsBOOL(NSButtonCell.setShowsBorderOnlyWhileMouseInside_, 0)
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscell.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscell.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscell.py	Tue Mar 17 15:05:21 2009
@@ -23,13 +23,60 @@
         self.assertEquals(cell.floatValue(), f)
 
     def testMethods(self):
-        self.fail("- (void)setAction:(SEL)aSelector;")
+        self.failUnlessResultIsBOOL(NSCell.prefersTrackingUntilMouseUp)
+        self.failUnlessResultIsBOOL(NSCell.isOpaque)
+        self.failUnlessResultIsBOOL(NSCell.isEnabled)
+        self.failUnlessArgIsBOOL(NSCell.setEnabled_, 0)
+        self.failUnlessResultIsBOOL(NSCell.isContinuous)
+        self.failUnlessArgIsBOOL(NSCell.setContinuous_, 0)
+        self.failUnlessResultIsBOOL(NSCell.isEditable)
+        self.failUnlessArgIsBOOL(NSCell.setEditable_, 0)
+        self.failUnlessResultIsBOOL(NSCell.isSelectable)
+        self.failUnlessArgIsBOOL(NSCell.setSelectable_, 0)
+        self.failUnlessResultIsBOOL(NSCell.isBordered)
+        self.failUnlessArgIsBOOL(NSCell.setBordered_, 0)
+        self.failUnlessResultIsBOOL(NSCell.isBezeled)
+        self.failUnlessArgIsBOOL(NSCell.setBezeled_, 0)
+        self.failUnlessResultIsBOOL(NSCell.isScrollable)
+        self.failUnlessArgIsBOOL(NSCell.setScrollable_, 0)
+        self.failUnlessResultIsBOOL(NSCell.isHighlighted)
+        self.failUnlessArgIsBOOL(NSCell.setHighlighted_, 0)
+        self.failUnlessResultIsBOOL(NSCell.wraps)
+        self.failUnlessArgIsBOOL(NSCell.setWraps_, 0)
+        self.failUnlessResultIsBOOL(NSCell.isEntryAcceptable_)
+        self.failUnlessArgIsBOOL(NSCell.setFloatingPointFormat_left_right_, 0)
+        self.failUnlessResultIsBOOL(NSCell.hasValidObjectValue)
+        self.failUnlessArgIsBOOL(NSCell.highlight_withFrame_inView_, 0)
+        self.failUnlessArgIsOut(NSCell.getPeriodicDelay_interval_, 0)
+        self.failUnlessArgIsOut(NSCell.getPeriodicDelay_interval_, 1)
+        self.failUnlessResultIsBOOL(NSCell.startTrackingAt_inView_)
+        self.failUnlessResultIsBOOL(NSCell.continueTracking_at_inView_)
+        self.failUnlessArgIsBOOL(NSCell.stopTracking_at_inView_mouseIsUp_, 3)
+        self.failUnlessResultIsBOOL(NSCell.trackMouse_inRect_ofView_untilMouseUp_)
+        self.failUnlessArgIsBOOL(NSCell.trackMouse_inRect_ofView_untilMouseUp_, 3)
+        self.failUnlessResultIsBOOL(NSCell.sendsActionOnEndEditing)
+        self.failUnlessArgIsBOOL(NSCell.setSendsActionOnEndEditing_, 0)
+        self.failUnlessResultIsBOOL(NSCell.allowsUndo)
+        self.failUnlessArgIsBOOL(NSCell.setAllowsUndo_, 0)
+        self.failUnlessResultIsBOOL(NSCell.truncatesLastVisibleLine)
+        self.failUnlessArgIsBOOL(NSCell.setTruncatesLastVisibleLine_, 0)
+        self.failUnlessResultIsBOOL(NSCell.refusesFirstResponder)
+        self.failUnlessArgIsBOOL(NSCell.setRefusesFirstResponder_, 0)
+        self.failUnlessResultIsBOOL(NSCell.showsFirstResponder)
+        self.failUnlessArgIsBOOL(NSCell.setShowsFirstResponder_, 0)
+        self.failUnlessResultIsBOOL(NSCell.wantsNotificationForMarkedText)
+        self.failUnlessResultIsBOOL(NSCell.allowsEditingTextAttributes)
+        self.failUnlessArgIsBOOL(NSCell.setAllowsEditingTextAttributes_, 0)
+        self.failUnlessResultIsBOOL(NSCell.importsGraphics)
+        self.failUnlessArgIsBOOL(NSCell.setImportsGraphics_, 0)
+        self.failUnlessResultIsBOOL(NSCell.allowsMixedState)
+        self.failUnlessArgIsBOOL(NSCell.setAllowsMixedState_, 0)
 
-    def testFunctions(self):
-        self.fail("APPKIT_EXTERN void NSDrawThreePartImage(NSRect frame, NSImage *startCap, NSImage *centerFill, NSImage *endCap, BOOL vertical, NSCompositingOperation op, CGFloat alphaFraction, BOOL flipped) AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER;")
-
-        self.fail("APPKIT_EXTERN void NSDrawNinePartImage(NSRect frame, NSImage *topLeftCorner, NSImage *topEdgeFill, NSImage *topRightCorner, NSImage *leftEdgeFill, NSImage *centerFill, NSImage *rightEdgeFill, NSImage *bottomLeftCorner, NSImage *bottomEdgeFill, NSImage *bottomRightCorner, NSCompositingOperation op, CGFloat alphaFraction, BOOL flipped) AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER;")
 
+    def testFunctions(self):
+        self.failUnlessArgIsBOOL(NSDrawThreePartImage, 4)
+        self.failUnlessArgIsBOOL(NSDrawThreePartImage, 7)
+        self.failUnlessArgIsBOOL(NSDrawNinePartImage, 12)
 
     def testConstants(self):
         self.failUnlessIsInstance(NSControlTintDidChangeNotification, unicode)

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscolor.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscolor.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscolor.py	Tue Mar 17 15:05:21 2009
@@ -1,17 +1,49 @@
 from PyObjCTools.TestSupport import *
 from AppKit import *
+import array
 
 class TestRegressions (TestCase):
     def testQualifiersInSignature(self):
         NSColor.redColor().getRed_green_blue_alpha_(None, None, None, None)
 
     def testMethods(self):
-        self.fail("+ (NSColor *)colorWithColorSpace:(NSColorSpace *)space components:(const CGFloat *)components count:(NSInteger)numberOfComponents;")
-        self.fail("- (void)getRed:(CGFloat *)red green:(CGFloat *)green blue:(CGFloat *)blue alpha:(CGFloat *)alpha;")
-        self.fail("- (void)getHue:(CGFloat *)hue saturation:(CGFloat *)saturation brightness:(CGFloat *)brightness alpha:(CGFloat *)alpha;")
-        self.fail("- (void)getWhite:(CGFloat *)white alpha:(CGFloat *)alpha;")
-        self.fail("- (void)getCyan:(CGFloat *)cyan magenta:(CGFloat *)magenta yellow:(CGFloat *)yellow black:(CGFloat *)black alpha:(CGFloat *)alpha;")
-        self.fail("- (void)getComponents:(CGFloat *)components;")
+        self.failUnlessResultIsBOOL(NSColor.ignoresAlpha)
+        self.failUnlessArgIsBOOL(NSColor.setIgnoresAlpha_, 0)
+
+        space = NSColorSpace.adobeRGB1998ColorSpace()
+        color = NSColor.colorWithColorSpace_components_count_(space, (0.1, 0.2, 0.3, 0.4), 4)
+        self.failUnlessIsInstance(color, NSColor)
+
+        color = NSColor.colorWithCalibratedRed_green_blue_alpha_(0, 0, 0, 0)
+        r, g, b, a = color.getRed_green_blue_alpha_(None, None, None, None)
+        self.failUnlessIsInstance(r, float)
+        self.failUnlessIsInstance(g, float)
+        self.failUnlessIsInstance(b, float)
+        self.failUnlessIsInstance(a, float)
+
+        color = NSColor.colorWithCalibratedHue_saturation_brightness_alpha_(0.1, 0.2, 0.3, 0.4)
+        h, s, b, a = color.getHue_saturation_brightness_alpha_(None, None, None, None)
+        self.failUnlessIsInstance(h, float)
+        self.failUnlessIsInstance(s, float)
+        self.failUnlessIsInstance(b, float)
+        self.failUnlessIsInstance(a, float)
+
+        color = NSColor.colorWithCalibratedWhite_alpha_(0.1, 0.2)
+        w, a = color.getWhite_alpha_(None, None)
+        self.failUnlessIsInstance(w, float)
+        self.failUnlessIsInstance(a, float)
+
+        color = NSColor.colorWithDeviceCyan_magenta_yellow_black_alpha_(1, 1, 1, 1, 1)
+        c, m, y, b, a  = color.getCyan_magenta_yellow_black_alpha_(None, None, None, None, None)
+        self.failUnlessIsInstance(c, float)
+        self.failUnlessIsInstance(m, float)
+        self.failUnlessIsInstance(y, float)
+        self.failUnlessIsInstance(b, float)
+        self.failUnlessIsInstance(a, float)
+
+        a = array.array('f', [0] * 6)
+        v = color.getComponents_(a)
+        self.failUnlessEqual(a[0], 1.0)
 
     def testConstants(self):
         self.failUnlessIsInstance(NSSystemColorsDidChangeNotification, unicode)

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscolorpanel.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscolorpanel.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscolorpanel.py	Tue Mar 17 15:05:21 2009
@@ -3,8 +3,11 @@
 from AppKit import *
 
 class TestNSColorPanel (TestCase):
-    def testConstants(self):
+    @min_os_level('10.5')
+    def testConstants10_5(self):
         self.failUnlessEqual(NSNoModeColorPanel, -1)
+
+    def testConstants(self):
         self.failUnlessEqual(NSGrayModeColorPanel, 0)
         self.failUnlessEqual(NSRGBModeColorPanel, 1)
         self.failUnlessEqual(NSCMYKModeColorPanel, 2)
@@ -25,6 +28,16 @@
 
         self.failUnlessIsInstance(NSColorPanelColorDidChangeNotification, unicode)
 
+    def testMethods(self):
+        self.failUnlessResultIsBOOL(NSColorPanel.sharedColorPanelExists)
+        self.failUnlessResultIsBOOL(NSColorPanel.dragColor_withEvent_fromView_)
+
+        self.failUnlessResultIsBOOL(NSColorPanel.isContinuous)
+        self.failUnlessArgIsBOOL(NSColorPanel.setContinuous_, 0)
+
+        self.failUnlessResultIsBOOL(NSColorPanel.showsAlpha)
+        self.failUnlessArgIsBOOL(NSColorPanel.setShowsAlpha_, 0)
+
 
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscombobox.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscombobox.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscombobox.py	Tue Mar 17 15:05:21 2009
@@ -9,5 +9,15 @@
         self.failUnlessIsInstance(NSComboBoxSelectionDidChangeNotification, unicode)
         self.failUnlessIsInstance(NSComboBoxSelectionIsChangingNotification, unicode)
 
+    def testMethods(self):
+        self.failUnlessResultIsBOOL(NSComboBox.hasVerticalScroller)
+        self.failUnlessArgIsBOOL(NSComboBox.setHasVerticalScroller_, 0)
+        self.failUnlessResultIsBOOL(NSComboBox.isButtonBordered)
+        self.failUnlessArgIsBOOL(NSComboBox.setButtonBordered_, 0)
+        self.failUnlessResultIsBOOL(NSComboBox.usesDataSource)
+        self.failUnlessArgIsBOOL(NSComboBox.setUsesDataSource_, 0)
+        self.failUnlessResultIsBOOL(NSComboBox.completes)
+        self.failUnlessArgIsBOOL(NSComboBox.setCompletes_, 0)
+
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscontrol.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscontrol.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscontrol.py	Tue Mar 17 15:05:21 2009
@@ -2,9 +2,33 @@
 from PyObjCTools.TestSupport import *
 from AppKit import *
 
+class TestNSControlHelper (NSObject):
+    def control_textShouldBeginEditing_(self, c, f): return 1
+    def control_textShouldEndEditing_(self, c, f): return 1
+    def control_didFailToFormatString_errorDescription_(self, c, s, e): return 1
+    def control_isValidObject_(self, c, s): return 1
+    def control_textView_doCommandBySelector_(self, c, t, com): return 1
+
 class TestNSControl (TestCase):
     def testMethods(self):
-        self.fail("- (void)setAction:(SEL)aSelector;")
+        self.failUnlessResultIsBOOL(NSControl.ignoresMultiClick)
+        self.failUnlessArgIsBOOL(NSControl.setIgnoresMultiClick_, 0)
+        self.failUnlessResultIsBOOL(NSControl.isContinuous)
+        self.failUnlessArgIsBOOL(NSControl.setContinuous_, 0)
+        self.failUnlessResultIsBOOL(NSControl.isEnabled)
+        self.failUnlessArgIsBOOL(NSControl.setEnabled_, 0)
+        self.failUnlessArgIsBOOL(NSControl.setFloatingPointFormat_left_right_, 0)
+        self.failUnlessResultIsBOOL(NSControl.sendAction_to_)
+        self.failUnlessResultIsBOOL(NSControl.abortEditing)
+        self.failUnlessResultIsBOOL(NSControl.refusesFirstResponder)
+        self.failUnlessArgIsBOOL(NSControl.setRefusesFirstResponder_, 0)
+
+    def testDelegate(self):
+        self.failUnlessResultIsBOOL(TestNSControlHelper.control_textShouldBeginEditing_)
+        self.failUnlessResultIsBOOL(TestNSControlHelper.control_textShouldEndEditing_)
+        self.failUnlessResultIsBOOL(TestNSControlHelper.control_didFailToFormatString_errorDescription_)
+        self.failUnlessResultIsBOOL(TestNSControlHelper.control_isValidObject_)
+        self.failUnlessResultIsBOOL(TestNSControlHelper.control_textView_doCommandBySelector_)
 
     def testConstants(self):
         self.failUnlessIsInstance(NSControlTextDidBeginEditingNotification, unicode)

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdatepickercell.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdatepickercell.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdatepickercell.py	Tue Mar 17 15:05:21 2009
@@ -27,5 +27,8 @@
         self.failUnlessEqual(m['arguments'][3]['type'], 'N^@')
         self.failUnlessStartswith(m['arguments'][4]['type'], 'N^')
 
+        self.failUnlessResultIsBOOL(NSDatePickerCell.drawsBackground)
+        self.failUnlessArgIsBOOL(NSDatePickerCell.setDrawsBackground_, 0)
+
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdocument.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdocument.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdocument.py	Tue Mar 17 15:05:21 2009
@@ -17,17 +17,74 @@
         self.failUnlessEqual(NSAutosaveOperation, 3)
 
     def testMethods(self):
-        self.fail("- (void)saveDocumentWithDelegate:(id)delegate didSaveSelector:(SEL)didSaveSelector contextInfo:(void *)contextInfo;")
-        self.fail("- (void)runModalSavePanelForSaveOperation:(NSSaveOperationType)saveOperation delegate:(id)delegate didSaveSelector:(SEL)didSaveSelector contextInfo:(void *)contextInfo;")
-        self.fail("- (void)saveToURL:(NSURL *)absoluteURL ofType:(NSString *)typeName forSaveOperation:(NSSaveOperationType)saveOperation delegate:(id)delegate didSaveSelector:(SEL)didSaveSelector contextInfo:(void *)contextInfo;")
-        self.fail("- (void)autosaveDocumentWithDelegate:(id)delegate didAutosaveSelector:(SEL)didAutosaveSelector contextInfo:(void *)contextInfo;")
-        self.fail("- (void)canCloseDocumentWithDelegate:(id)delegate shouldCloseSelector:(SEL)shouldCloseSelector contextInfo:(void *)contextInfo;")
-        self.fail("- (void)runModalPageLayoutWithPrintInfo:(NSPrintInfo *)printInfo delegate:(id)delegate didRunSelector:(SEL)didRunSelector contextInfo:(void *)contextInfo;")
-        self.fail("- (void)printDocumentWithSettings:(NSDictionary *)printSettings showPrintPanel:(BOOL)showPrintPanel delegate:(id)delegate didPrintSelector:(SEL)didPrintSelector contextInfo:(void *)contextInfo;")
-        self.fail("- (void)runModalPrintOperation:(NSPrintOperation *)printOperation delegate:(id)delegate didRunSelector:(SEL)didRunSelector contextInfo:(void *)contextInfo;")
-        self.fail("- (void)presentError:(NSError *)error modalForWindow:(NSWindow *)window delegate:(id)delegate didPresentSelector:(SEL)didPresentSelector contextInfo:(void *)contextInfo;")
-        self.fail("- (void)shouldCloseWindowController:(NSWindowController *)windowController delegate:(id)delegate shouldCloseSelector:(SEL)shouldCloseSelector contextInfo:(void *)contextInfo;")
-
+        self.failUnlessArgIsOut(NSDocument.initWithType_error_, 1)
+        self.failUnlessArgIsOut(NSDocument.initWithContentsOfURL_ofType_error_, 2)
+        self.failUnlessArgIsOut(NSDocument.initForURL_withContentsOfURL_ofType_error_, 3)
+        self.failUnlessResultIsBOOL(NSDocument.revertToContentsOfURL_ofType_error_)
+        self.failUnlessArgIsOut(NSDocument.revertToContentsOfURL_ofType_error_, 2)
+        self.failUnlessResultIsBOOL(NSDocument.readFromURL_ofType_error_)
+        self.failUnlessArgIsOut(NSDocument.readFromURL_ofType_error_, 2)
+        self.failUnlessResultIsBOOL(NSDocument.readFromFileWrapper_ofType_error_)
+        self.failUnlessArgIsOut(NSDocument.readFromFileWrapper_ofType_error_, 2)
+        self.failUnlessResultIsBOOL(NSDocument.readFromData_ofType_error_)
+        self.failUnlessArgIsOut(NSDocument.readFromData_ofType_error_, 2)
+        self.failUnlessResultIsBOOL(NSDocument.writeToURL_ofType_error_)
+        self.failUnlessArgIsOut(NSDocument.writeToURL_ofType_error_, 2)
+        self.failUnlessArgIsOut(NSDocument.fileWrapperOfType_error_, 1)
+        self.failUnlessArgIsOut(NSDocument.dataOfType_error_, 1)
+        self.failUnlessResultIsBOOL(NSDocument.writeSafelyToURL_ofType_forSaveOperation_error_)
+        self.failUnlessArgIsOut(NSDocument.writeSafelyToURL_ofType_forSaveOperation_error_, 3)
+        self.failUnlessResultIsBOOL(NSDocument.writeToURL_ofType_forSaveOperation_originalContentsURL_error_)
+        self.failUnlessArgIsOut(NSDocument.writeToURL_ofType_forSaveOperation_originalContentsURL_error_, 4)
+        self.failUnlessArgIsOut(NSDocument.fileAttributesToWriteToURL_ofType_forSaveOperation_originalContentsURL_error_, 4)
+        self.failUnlessResultIsBOOL(NSDocument.keepBackupFile)
+        self.failUnlessArgIsSEL(NSDocument.saveDocumentWithDelegate_didSaveSelector_contextInfo_, 1, "v@:@"+objc._C_NSBOOL+"^v")
+        self.failUnlessArgHasType(NSDocument.saveDocumentWithDelegate_didSaveSelector_contextInfo_, 2, "^v")
+        self.failUnlessArgIsSEL(NSDocument.runModalSavePanelForSaveOperation_delegate_didSaveSelector_contextInfo_, 2, "v@:@"+objc._C_NSBOOL+"^v")
+        self.failUnlessArgHasType(NSDocument.runModalSavePanelForSaveOperation_delegate_didSaveSelector_contextInfo_, 3, "^v")
+        self.failUnlessResultIsBOOL(NSDocument.shouldRunSavePanelWithAccessoryView)
+        self.failUnlessResultIsBOOL(NSDocument.prepareSavePanel_)
+        self.failUnlessResultIsBOOL(NSDocument.fileNameExtensionWasHiddenInLastRunSavePanel)
+        self.failUnlessArgIsSEL(NSDocument.saveToURL_ofType_forSaveOperation_delegate_didSaveSelector_contextInfo_, 4, "v@:@"+objc._C_NSBOOL+"^v")
+        self.failUnlessArgHasType(NSDocument.saveToURL_ofType_forSaveOperation_delegate_didSaveSelector_contextInfo_, 5, "^v")
+        self.failUnlessResultIsBOOL(NSDocument.saveToURL_ofType_forSaveOperation_error_)
+        self.failUnlessArgIsOut(NSDocument.saveToURL_ofType_forSaveOperation_error_, 3)
+        self.failUnlessResultIsBOOL(NSDocument.hasUnautosavedChanges)
+        self.failUnlessArgIsSEL(NSDocument.autosaveDocumentWithDelegate_didAutosaveSelector_contextInfo_, 1, "v@:@"+objc._C_NSBOOL+"^v")
+        self.failUnlessArgHasType(NSDocument.autosaveDocumentWithDelegate_didAutosaveSelector_contextInfo_, 2, "^v")
+        self.failUnlessArgIsSEL(NSDocument.canCloseDocumentWithDelegate_shouldCloseSelector_contextInfo_, 1, "v@:@"+objc._C_NSBOOL+"^v")
+        self.failUnlessArgHasType(NSDocument.canCloseDocumentWithDelegate_shouldCloseSelector_contextInfo_, 2, "^v")
+        self.failUnlessArgIsSEL(NSDocument.runModalPageLayoutWithPrintInfo_delegate_didRunSelector_contextInfo_, 2, "v@:@"+objc._C_NSBOOL+"^v")
+        self.failUnlessArgHasType(NSDocument.runModalPageLayoutWithPrintInfo_delegate_didRunSelector_contextInfo_, 3, "^v")
+        self.failUnlessResultIsBOOL(NSDocument.preparePageLayout_)
+        self.failUnlessResultIsBOOL(NSDocument.shouldChangePrintInfo_)
+        self.failUnlessArgIsSEL(NSDocument.printDocumentWithSettings_showPrintPanel_delegate_didPrintSelector_contextInfo_, 3, "v@:@"+objc._C_NSBOOL+"^v")
+        self.failUnlessArgHasType(NSDocument.printDocumentWithSettings_showPrintPanel_delegate_didPrintSelector_contextInfo_, 4, "^v")
+        self.failUnlessArgIsOut(NSDocument.printOperationWithSettings_error_, 1)
+        self.failUnlessArgIsSEL(NSDocument.runModalPrintOperation_delegate_didRunSelector_contextInfo_, 2, "v@:@"+objc._C_NSBOOL+"^v")
+        self.failUnlessArgHasType(NSDocument.runModalPrintOperation_delegate_didRunSelector_contextInfo_, 3, "^v")
+        self.failUnlessResultIsBOOL(NSDocument.isDocumentEdited)
+        self.failUnlessResultIsBOOL(NSDocument.hasUndoManager)
+        self.failUnlessArgIsBOOL(NSDocument.setHasUndoManager_, 0)
+        self.failUnlessResultIsBOOL(NSDocument.presentError_)
+        self.failUnlessArgIsSEL(NSDocument.presentError_modalForWindow_delegate_didPresentSelector_contextInfo_, 3, "v@:"+objc._C_NSBOOL+"^v")
+        self.failUnlessArgHasType(NSDocument.presentError_modalForWindow_delegate_didPresentSelector_contextInfo_, 4, "^v")
+        self.failUnlessArgIsSEL(NSDocument.shouldCloseWindowController_delegate_shouldCloseSelector_contextInfo_, 2, "v@:@"+objc._C_NSBOOL+"^v")
+        self.failUnlessArgHasType(NSDocument.shouldCloseWindowController_delegate_shouldCloseSelector_contextInfo_, 3, "^v")
+        self.failUnlessResultIsBOOL(NSDocument.isNativeType_)
+        self.failUnlessResultIsBOOL(NSDocument.validateUserInterfaceItem_)
+        self.failUnlessResultIsBOOL(NSDocument.loadDataRepresentation_ofType_)
+        self.failUnlessArgIsBOOL(NSDocument.printShowingPrintPanel_, 0)
+        self.failUnlessResultIsBOOL(NSDocument.readFromFile_ofType_)
+        self.failUnlessResultIsBOOL(NSDocument.readFromURL_ofType_)
+        self.failUnlessResultIsBOOL(NSDocument.revertToSavedFromFile_ofType_)
+        self.failUnlessResultIsBOOL(NSDocument.revertToSavedFromURL_ofType_)
+        self.failUnlessResultIsBOOL(NSDocument.writeToFile_ofType_)
+        self.failUnlessResultIsBOOL(NSDocument.writeToFile_ofType_originalFile_saveOperation_)
+        self.failUnlessResultIsBOOL(NSDocument.writeToURL_ofType_)
+        self.failUnlessResultIsBOOL(NSDocument.writeWithBackupToFile_ofType_saveOperation_)
+        self.failUnlessArgIsSEL(NSDocument.saveToFile_saveOperation_delegate_didSaveSelector_contextInfo_, 3, 'v@:@'+objc._C_NSBOOL+'^v')
+        self.failUnlessArgHasType(NSDocument.saveToFile_saveOperation_delegate_didSaveSelector_contextInfo_, 4, '^v')
 
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdocumentcontroller.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdocumentcontroller.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdocumentcontroller.py	Tue Mar 17 15:05:21 2009
@@ -4,9 +4,31 @@
 
 class TestNSDocumentController (TestCase):
     def testMethods(self):
-        self.fail("- (void)reviewUnsavedDocumentsWithAlertTitle:(NSString *)title cancellable:(BOOL)cancellable delegate:(id)delegate didReviewAllSelector:(SEL)didReviewAllSelector contextInfo:(void *)contextInfo;")
-        self.fail("- (void)closeAllDocumentsWithDelegate:(id)delegate didCloseAllSelector:(SEL)didCloseAllSelector contextInfo:(void *)contextInfo;")
-        self.fail("- (void)presentError:(NSError *)error modalForWindow:(NSWindow *)window delegate:(id)delegate didPresentSelector:(SEL)didPresentSelector contextInfo:(void *)contextInfo;")
+        self.failUnlessArgIsBOOL(NSDocumentController.openUntitledDocumentAndDisplay_error_, 0)
+        self.failUnlessArgIsOut(NSDocumentController.openUntitledDocumentAndDisplay_error_, 1)
+        self.failUnlessArgIsOut(NSDocumentController.makeUntitledDocumentOfType_error_, 1)
+        self.failUnlessArgIsBOOL(NSDocumentController.openDocumentWithContentsOfURL_display_error_, 1)
+        self.failUnlessArgIsOut(NSDocumentController.openDocumentWithContentsOfURL_display_error_, 2)
+        self.failUnlessArgIsOut(NSDocumentController.makeDocumentWithContentsOfURL_ofType_error_, 2)
+        self.failUnlessResultIsBOOL(NSDocumentController.reopenDocumentForURL_withContentsOfURL_error_)
+        self.failUnlessArgIsOut(NSDocumentController.reopenDocumentForURL_withContentsOfURL_error_, 2)
+        self.failUnlessArgIsOut(NSDocumentController.makeDocumentForURL_withContentsOfURL_ofType_error_, 3)
+        self.failUnlessResultIsBOOL(NSDocumentController.hasEditedDocuments)
+        self.failUnlessArgIsBOOL(NSDocumentController.reviewUnsavedDocumentsWithAlertTitle_cancellable_delegate_didReviewAllSelector_contextInfo_, 1)
+        self.failUnlessArgIsSEL(NSDocumentController.reviewUnsavedDocumentsWithAlertTitle_cancellable_delegate_didReviewAllSelector_contextInfo_, 3, 'v@:@'+objc._C_NSBOOL+'^v')
+        self.failUnlessArgHasType(NSDocumentController.reviewUnsavedDocumentsWithAlertTitle_cancellable_delegate_didReviewAllSelector_contextInfo_, 4, '^v')
+        self.failUnlessArgIsSEL(NSDocumentController.closeAllDocumentsWithDelegate_didCloseAllSelector_contextInfo_, 1, 'v@:@'+objc._C_NSBOOL+'^v')
+        self.failUnlessArgHasType(NSDocumentController.closeAllDocumentsWithDelegate_didCloseAllSelector_contextInfo_, 2, '^v')
+        self.failUnlessArgIsSEL(NSDocumentController.presentError_modalForWindow_delegate_didPresentSelector_contextInfo_, 3, 'v@:'+objc._C_NSBOOL+'^v')
+        self.failUnlessArgHasType(NSDocumentController.presentError_modalForWindow_delegate_didPresentSelector_contextInfo_, 4, '^v')
+        self.failUnlessResultIsBOOL(NSDocumentController.presentError_)
+        self.failUnlessArgIsOut(NSDocumentController.typeForContentsOfURL_error_, 1)
+        self.failUnlessResultIsBOOL(NSDocumentController.validateUserInterfaceItem_)
+        self.failUnlessArgIsBOOL(NSDocumentController.openDocumentWithContentsOfFile_display_, 1)
+        self.failUnlessArgIsBOOL(NSDocumentController.openDocumentWithContentsOfURL_display_, 1)
+        self.failUnlessArgIsBOOL(NSDocumentController.openUntitledDocumentOfType_display_, 1)
+        self.failUnlessArgIsBOOL(NSDocumentController.setShouldCreateUI_, 0)
+        self.failUnlessResultIsBOOL(NSDocumentController.shouldCreateUI)
 
 
 if __name__ == "__main__":

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdragging.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdragging.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdragging.py	Tue Mar 17 15:05:21 2009
@@ -2,6 +2,30 @@
 from PyObjCTools.TestSupport import *
 from AppKit import *
 
+class TestNSDraggingHelper (NSObject):
+    def draggingSourceOperationMask(self): return 1
+    def draggingLocation(self): return 1
+    def draggedImageLocation(self): return 1
+    def draggingSource(self): return 1
+    def draggingSequenceNumber(self): return 1
+    def slideDraggedImageTo_(self, v): pass
+
+    def draggingEntered_(self, sender): return 1
+    def draggingUpdated_(self, sender): return 1
+    def draggingExited_(self, sender): pass
+    def prepareForDragOperation_(self, sender): return 1
+    def performDragOperation_(self, sender): return 1
+    def concludeDragOperation_(self, sender): pass
+    def draggingEnded_(self, sender): pass
+    def wantsPeriodicDraggingUpdates(self): return 1
+
+    def draggingSourceOperationMaskForLocal_(self, v): return 1
+    def draggedImage_beganAt_(self, v, v2): pass
+    def draggedImage_endedAt_operation_(self, v, v2, v3): pass
+    def draggedImage_movedTo_(self, v, v2): pass
+    def ignoreModifierKeysWhileDragging(self): return 1
+    def draggedImage_endedAt_deposited_(self, i, p, f): pass
+
 class TestNSDragging (TestCase):
     def testConstants(self):
         self.failUnlessEqual(NSDragOperationNone, 0)
@@ -16,5 +40,28 @@
 
         self.failUnlessEqual(NSDragOperationAll, NSDragOperationAll_Obsolete)
 
+    def testProtocols(self):
+        self.failUnlessResultHasType(TestNSDraggingHelper.draggingSourceOperationMask, objc._C_NSUInteger)
+        self.failUnlessResultHasType(TestNSDraggingHelper.draggingLocation, NSPoint.__typestr__)
+        self.failUnlessResultHasType(TestNSDraggingHelper.draggedImageLocation, NSPoint.__typestr__)
+        self.failUnlessResultHasType(TestNSDraggingHelper.draggingSequenceNumber, objc._C_NSInteger)
+        self.failUnlessArgHasType(TestNSDraggingHelper.slideDraggedImageTo_, 0, NSPoint.__typestr__)
+
+        self.failUnlessResultHasType(TestNSDraggingHelper.draggingEntered_, objc._C_NSUInteger)
+        self.failUnlessResultHasType(TestNSDraggingHelper.draggingUpdated_, objc._C_NSUInteger)
+        self.failUnlessResultIsBOOL(TestNSDraggingHelper.prepareForDragOperation_)
+        self.failUnlessResultIsBOOL(TestNSDraggingHelper.performDragOperation_)
+        self.failUnlessResultIsBOOL(TestNSDraggingHelper.wantsPeriodicDraggingUpdates)
+
+        self.failUnlessResultHasType(TestNSDraggingHelper.draggingSourceOperationMaskForLocal_, objc._C_NSUInteger)
+        self.failUnlessArgIsBOOL(TestNSDraggingHelper.draggingSourceOperationMaskForLocal_, 0)
+        self.failUnlessArgHasType(TestNSDraggingHelper.draggedImage_beganAt_, 1, NSPoint.__typestr__)
+        self.failUnlessArgHasType(TestNSDraggingHelper.draggedImage_endedAt_operation_, 1, NSPoint.__typestr__)
+        self.failUnlessArgHasType(TestNSDraggingHelper.draggedImage_endedAt_operation_, 2, objc._C_NSUInteger)
+        self.failUnlessArgHasType(TestNSDraggingHelper.draggedImage_movedTo_, 1, NSPoint.__typestr__)
+        self.failUnlessResultIsBOOL(TestNSDraggingHelper.ignoreModifierKeysWhileDragging)
+        self.failUnlessArgHasType(TestNSDraggingHelper.draggedImage_endedAt_deposited_, 1, NSPoint.__typestr__)
+        self.failUnlessArgIsBOOL(TestNSDraggingHelper.draggedImage_endedAt_deposited_, 2)
+
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdrawer.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdrawer.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsdrawer.py	Tue Mar 17 15:05:21 2009
@@ -2,6 +2,11 @@
 from PyObjCTools.TestSupport import *
 from AppKit import *
 
+class TestNSDrawerHelper (NSObject):
+    def drawerShouldOpen_(self, sender): return 1
+    def drawerShouldClose_(self, sender): return 1
+    def drawerWillResizeContents_toSize_(self, a, b): return 1
+
 class TestNSDrawer (TestCase):
     def testConstants(self):
         self.failUnlessEqual(NSDrawerClosedState, 0)
@@ -14,6 +19,15 @@
         self.failUnlessIsInstance(NSDrawerWillCloseNotification, unicode)
         self.failUnlessIsInstance(NSDrawerDidCloseNotification, unicode)
 
+    def testMethods(self):
+        self.failUnlessArgHasType(NSDrawer.setMinContentSize_, 0, NSSize.__typestr__)
+
+    def testProtocols(self):
+        self.failUnlessResultIsBOOL(TestNSDrawerHelper.drawerShouldOpen_)
+        self.failUnlessResultIsBOOL(TestNSDrawerHelper.drawerShouldClose_)
+        self.failUnlessResultHasType(TestNSDrawerHelper.drawerWillResizeContents_toSize_, NSSize.__typestr__)
+        self.failUnlessArgHasType(TestNSDrawerHelper.drawerWillResizeContents_toSize_, 1, NSSize.__typestr__)
+
 
 
 if __name__ == "__main__":

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsevent.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsevent.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsevent.py	Tue Mar 17 15:05:21 2009
@@ -1,4 +1,3 @@
-
 from PyObjCTools.TestSupport import *
 from AppKit import *
 
@@ -161,12 +160,20 @@
         v = NSEventMaskFromType(NSOtherMouseDown)
         self.assertEquals(v, NSOtherMouseDownMask)
 
+    @min_os_level('10.5')
+    def testMethods10_5(self):
+        self.failUnlessResultIsBOOL(NSEvent.isMouseCoalescingEnabled)
+        self.failUnlessArgIsBOOL(NSEvent.setMouseCoalescingEnabled_, 0)
+
     def testMethods(self):
-        self.fail("- (void *)userData;")
-        self.fail("- (const void * /* EventRef */)eventRef;")
-        self.fail("+ (NSEvent *)eventWithEventRef:(const void * /* EventRef */)eventRef;")
-        self.fail("+ (NSEvent *)enterExitEventWithType:(NSEventType)type location:(NSPoint)location modifierFlags:(NSUInteger)flags timestamp:(NSTimeInterval)time windowNumber:(NSInteger)wNum context:(NSGraphicsContext*)context eventNumber:(NSInteger)eNum trackingNumber:(NSInteger)tNum userData:(void *)data;")
+        self.failUnlessResultIsBOOL(NSEvent.isARepeat)
+        self.failUnlessResultIsBOOL(NSEvent.isEnteringProximity)
+
+        self.failUnlessArgIsBOOL(NSEvent.keyEventWithType_location_modifierFlags_timestamp_windowNumber_context_characters_charactersIgnoringModifiers_isARepeat_keyCode_, 8)
+        self.failUnlessArgHasType(NSEvent.enterExitEventWithType_location_modifierFlags_timestamp_windowNumber_context_eventNumber_trackingNumber_userData_, 8, '^v')
+
 
+        self.failUnlessResultHasType(NSEvent.userData, '^v')
 
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfont.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfont.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfont.py	Tue Mar 17 15:05:21 2009
@@ -5,7 +5,6 @@
 from AppKit import *
 
 import os
-ON_JAGUAR=((os.uname()[0] == 'Darwin') and (int(os.uname()[2][0]) <= '6'))
 
 class TestNSFont(TestCase):
     def matrixEquals(self, value1, value2):
@@ -23,17 +22,15 @@
 
         nm = o.fontName()
 
-        if not ON_JAGUAR:
-            # Don't test this on Jaguar, see Radar #3421569.
-            o = AppKit.NSFont.fontWithName_matrix_(
-                    nm, AppKit.NSFontIdentityMatrix)
-            self.assert_(o is not None)
-
-            m = o.matrix()
-            self.assert_(isinstance(m, tuple))
-            self.assertEquals(len(m), 6)
+        o = AppKit.NSFont.fontWithName_matrix_(
+                nm, AppKit.NSFontIdentityMatrix)
+        self.assert_(o is not None)
+
+        m = o.matrix()
+        self.assert_(isinstance(m, tuple))
+        self.assertEquals(len(m), 6)
 
-            self.matrixEquals(m, (1.0, 0.0, 0.0, 1.0, 0.0, 0.0))
+        self.matrixEquals(m, (1.0, 0.0, 0.0, 1.0, 0.0, 0.0))
 
         # For some reason Tiger transforms this matrix to the one below. The
         # same thing happens in pure ObjC code.
@@ -102,24 +99,47 @@
 
 
     def testMethods(self):
-        self.fail("- (void)getBoundingRects:(NSRectArray)bounds forGlyphs:(const NSGlyph *)glyphs count:(NSUInteger)glyphCount;")
-        self.fail("- (void)getAdvancements:(NSSizeArray)advancements forGlyphs:(const NSGlyph *)glyphs count:(NSUInteger)glyphCount;")
-        self.fail("- (void)getAdvancements:(NSSizeArray)advancements forPackedGlyphs:(const void *)packedGlyphs length:(NSUInteger)length;")
+        self.failUnlessResultIsBOOL(NSFont.isFixedPitch)
+        self.failUnlessArgHasType(NSFont.getBoundingRects_forGlyphs_count_, 1, 'n^I')
+        self.failUnlessArgSizeInArg(NSFont.getBoundingRects_forGlyphs_count_, 0, 2)
+        self.failUnlessArgSizeInArg(NSFont.getBoundingRects_forGlyphs_count_, 1, 2)
+        self.failUnlessArgHasType(NSFont.getAdvancements_forGlyphs_count_, 1, 'n^I')
+        self.failUnlessArgSizeInArg(NSFont.getAdvancements_forGlyphs_count_, 0, 2)
+        self.failUnlessArgSizeInArg(NSFont.getAdvancements_forGlyphs_count_, 1, 2)
+        self.failUnlessArgSizeInArg(NSFont.getAdvancements_forPackedGlyphs_length_, 0, 2)
+        self.failUnlessArgSizeInArg(NSFont.getAdvancements_forPackedGlyphs_length_, 1, 2)
 
     @onlyOn32Bit
     def testMethods32(self):
-        self.fail("- (NSPoint)positionOfGlyph:(NSGlyph)curGlyph precededByGlyph:(NSGlyph)prevGlyph isNominal:(BOOL *)nominal")
-        self.fail("- (NSInteger)positionsForCompositeSequence:(NSGlyph *)someGlyphs numberOfGlyphs:(NSInteger)numGlyphs pointArray:(NSPointArray)points")
-        self.fail("- (NSPoint)positionOfGlyph:(NSGlyph)curGlyph struckOverGlyph:(NSGlyph)prevGlyph metricsExist:(BOOL *)exist")
-        self.fail("- (NSPoint)positionOfGlyph:(NSGlyph)aGlyph struckOverRect:(NSRect)aRect metricsExist:(BOOL *)exist")
-        self.fail("- (NSPoint)positionOfGlyph:(NSGlyph)thisGlyph withRelation:(NSGlyphRelation)rel toBaseGlyph:(NSGlyph)baseGlyph totalAdvancement:(NSSizePointer)adv metricsExist:(BOOL *)exist")
-
+        self.failUnlessResultIsBOOL(NSFont.isBaseFont)
+        self.failUnlessResultIsBOOL(NSFont.glyphIsEncoded_)
+        self.failUnlessArgHasType(NSFont.glyphIsEncoded_, 0, 'I')
+        self.failUnlessArgHasType(NSFont.positionOfGlyph_precededByGlyph_isNominal_, 0, 'I')
+        self.failUnlessArgHasType(NSFont.positionOfGlyph_precededByGlyph_isNominal_, 1, 'I')
+        self.failUnlessArgHasType(NSFont.positionOfGlyph_precededByGlyph_isNominal_, 2, 'o^'+objc._C_NSBOOL)
+        
+        self.failUnlessArgHasType(NSFont.positionsForCompositeSequence_numberOfGlyphs_pointArray_, 0, 'n^I')
+        self.failUnlessArgSizeInArg(NSFont.positionsForCompositeSequence_numberOfGlyphs_pointArray_, 0, 1)
+        self.failUnlessArgHasType(NSFont.positionsForCompositeSequence_numberOfGlyphs_pointArray_, 2, 'o^'+NSPoint.__typestr__)
+        self.failUnlessArgSizeInArg(NSFont.positionsForCompositeSequence_numberOfGlyphs_pointArray_, 2, 1)
+
+        self.failUnlessArgHasType(NSFont.positionOfGlyph_struckOverGlyph_metricsExist_, 2, 'o^' + objc._C_NSBOOL)
+        self.failUnlessArgHasType(NSFont.positionOfGlyph_struckOverRect_metricsExist_, 2, 'o^' + objc._C_NSBOOL)
+        self.failUnlessArgHasType(NSFont.positionOfGlyph_withRelation_toBaseGlyph_totalAdvancement_metricsExist_, 3, 'o^' + NSSize.__typestr__)
+        self.failUnlessArgHasType(NSFont.positionOfGlyph_withRelation_toBaseGlyph_totalAdvancement_metricsExist_, 4, 'o^' + objc._C_NSBOOL)
 
 
     def testFunctions(self):
-        self.fail("NSConvertGlyphsToPackedGlyphs")
+        glyphs = [ ord('A'), ord('B'), ord('9'), ord('a') ]
 
+        rv, packed = NSConvertGlyphsToPackedGlyphs(glyphs, len(glyphs), NSNativeShortGlyphPacking, None)
+        self.failUnlessIsInstance(rv, (int, long))
+        self.failUnlessIsInstance(packed, str)
+        if rv == 0:
+            self.failUnlessEqual(len(packed), 0)
 
+        else:
+            self.failUnlessEqual(len(packed), rv)
 
 if __name__ == '__main__':
     main( )

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfontdescriptor.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfontdescriptor.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfontdescriptor.py	Tue Mar 17 15:05:21 2009
@@ -10,6 +10,7 @@
         self.failUnlessEqual(NSFontSlabSerifsClass, cast_int(5 << 28))
         self.failUnlessEqual(NSFontSansSerifClass, cast_int(8 << 28))
         self.failUnlessEqual(NSFontScriptsClass, cast_int(10 << 28))
+        self.failUnlessEqual(NSFontSymbolicClass, cast_int(12 << 28))
 
         self.failUnlessEqual(NSFontFamilyClassMask, cast_int(0xF0000000))
 

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfontmanager.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfontmanager.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfontmanager.py	Tue Mar 17 15:05:21 2009
@@ -2,9 +2,11 @@
 from PyObjCTools.TestSupport import *
 from AppKit import *
 
+class TestNSFontManagerHelper (NSObject):
+    def fontManager_willIncludeFont_(self, m, f): return 1
+
 class TestNSFontManager (TestCase):
     def testConstants(self):
-
         self.failUnlessEqual(NSItalicFontMask, 0x00000001)
         self.failUnlessEqual(NSBoldFontMask, 0x00000002)
         self.failUnlessEqual(NSUnboldFontMask, 0x00000004)
@@ -27,5 +29,21 @@
         self.failUnlessEqual(NSLighterFontAction, 6)
         self.failUnlessEqual(NSRemoveTraitFontAction, 7)
 
+    def testMethods(self):
+        self.failUnlessResultIsBOOL(NSFontManager.isMultiple)
+        self.failUnlessArgIsBOOL(NSFontManager.setSelectedFont_isMultiple_, 1)
+        self.failUnlessArgIsBOOL(NSFontManager.fontMenu_, 0)
+        self.failUnlessArgIsBOOL(NSFontManager.fontPanel_, 0)
+        self.failUnlessResultIsBOOL(NSFontManager.isEnabled)
+        self.failUnlessArgIsBOOL(NSFontManager.setEnabled_, 0)
+        self.failUnlessResultIsBOOL(NSFontManager.sendAction)
+        self.failUnlessArgIsBOOL(NSFontManager.setSelectedAttributes_isMultiple_, 1)
+        self.failUnlessResultIsBOOL(NSFontManager.addCollection_options_)
+        self.failUnlessResultIsBOOL(NSFontManager.removeCollection_)
+        self.failUnlessResultIsBOOL(NSFontManager.fontNamed_hasTraits_)
+
+    def testProtocols(self):
+        self.failUnlessResultIsBOOL(TestNSFontManagerHelper.fontManager_willIncludeFont_)
+
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfontpanel.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfontpanel.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsfontpanel.py	Tue Mar 17 15:05:21 2009
@@ -2,6 +2,9 @@
 from PyObjCTools.TestSupport import *
 from AppKit import *
 
+class TestNSFontPanelHelper (NSObject):
+    def validModesForFontPanel_(self, p): return 1
+
 class TestNSFontPanel (TestCase):
     def testConstants(self):
         self.failUnlessEqual(NSFPPreviewButton, 131)
@@ -23,5 +26,15 @@
         self.failUnlessEqual(NSFontPanelStandardModesMask, cast_int(0xFFFF))
         self.failUnlessEqual(NSFontPanelAllModesMask, cast_int(0xFFFFFFFF))
 
+    def testProtocols(self):
+        self.failUnlessResultHasType(TestNSFontPanelHelper.validModesForFontPanel_, objc._C_NSUInteger)
+
+    def testMethods(self):
+        self.failUnlessResultIsBOOL(NSFontPanel.sharedFontPanelExists)
+        self.failUnlessResultIsBOOL(NSFontPanel.worksWhenModal)
+        self.failUnlessResultIsBOOL(NSFontPanel.isEnabled)
+        self.failUnlessArgIsBOOL(NSFontPanel.setEnabled_, 0)
+        self.failUnlessArgIsBOOL(NSFontPanel.setPanelFont_isMultiple_, 1)
+
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsglyphgenerator.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsglyphgenerator.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsglyphgenerator.py	Tue Mar 17 15:05:21 2009
@@ -2,15 +2,49 @@
 from PyObjCTools.TestSupport import *
 from AppKit import *
 
+class TestNSGlyphGeneratorHelper (NSObject):
+    def insertGlyphs_length_forStartingGlyphAtIndex_characterIndex_(self, glyphs, length, glyphIndex, charIndex):
+        self.glyphs = (glyphs, length, glyphIndex, charIndex)
+
+    def setIntAttribute_value_forGlyphAtIndex_(self, a, v, g): pass
+
+
 class TestNSGlyphGenerator (TestCase):
     def testConstants(self):
-        self.failUnlesEqual(NSShowControlGlyphs, (1 << 0))
-        self.failUnlesEqual(NSShowInvisibleGlyphs, (1 << 1))
-        self.failUnlesEqual(NSWantsBidiLevels, (1 << 2))
+        self.failUnlessEqual(NSShowControlGlyphs, (1 << 0))
+        self.failUnlessEqual(NSShowInvisibleGlyphs, (1 << 1))
+        self.failUnlessEqual(NSWantsBidiLevels, (1 << 2))
+
+    def testProtocols(self):
+        self.failUnlessArgHasType(TestNSGlyphGeneratorHelper.setIntAttribute_value_forGlyphAtIndex_, 0, objc._C_NSInteger)
+        self.failUnlessArgHasType(TestNSGlyphGeneratorHelper.setIntAttribute_value_forGlyphAtIndex_, 1, objc._C_NSInteger)
+        self.failUnlessArgHasType(TestNSGlyphGeneratorHelper.setIntAttribute_value_forGlyphAtIndex_, 2, objc._C_NSUInteger)
+
+        o = TestNSGlyphGeneratorHelper.alloc().init()
+        o.insertGlyphs_length_forStartingGlyphAtIndex_characterIndex_(
+                [0, 1, 2, 3, 4], 5, 3, 8)
+        self.failUnlessEqual(o.glyphs, ([0, 1, 2, 3, 4], 5, 3, 8))
+        self.failUnlessArgHasType(
+            TestNSGlyphGeneratorHelper.insertGlyphs_length_forStartingGlyphAtIndex_characterIndex_,
+            0, 'n^I')
+        self.failUnlessArgSizeInArg(
+            TestNSGlyphGeneratorHelper.insertGlyphs_length_forStartingGlyphAtIndex_characterIndex_,
+            0, 1)
+        self.failUnlessArgHasType(
+            TestNSGlyphGeneratorHelper.insertGlyphs_length_forStartingGlyphAtIndex_characterIndex_,
+            1, objc._C_NSUInteger)
+        self.failUnlessArgHasType(
+            TestNSGlyphGeneratorHelper.insertGlyphs_length_forStartingGlyphAtIndex_characterIndex_,
+            2, objc._C_NSUInteger)
+        self.failUnlessArgHasType(
+            TestNSGlyphGeneratorHelper.insertGlyphs_length_forStartingGlyphAtIndex_characterIndex_,
+            3, objc._C_NSUInteger)
 
     def testMethods(self):
-        self.fail("- (void)insertGlyphs:(const NSGlyph *)glyphs length:(NSUInteger)length forStartingGlyphAtIndex:(NSUInteger)glyphIndex characterIndex:(NSUInteger)charIndex;")
-        self.fail("- (void)generateGlyphsForGlyphStorage:(id <NSGlyphStorage>)glyphStorage desiredNumberOfCharacters:(NSUInteger)nChars glyphIndex:(NSUInteger *)glyphIndex characterIndex:(NSUInteger *)charIndex;")
+        self.failUnlessArgIsOut(
+                NSGlyphGenerator.generateGlyphsForGlyphStorage_desiredNumberOfCharacters_glyphIndex_characterIndex_, 2)
+        self.failUnlessArgIsOut(
+                NSGlyphGenerator.generateGlyphsForGlyphStorage_desiredNumberOfCharacters_glyphIndex_characterIndex_, 3)
 
 
 if __name__ == "__main__":

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgradient.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgradient.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgradient.py	Tue Mar 17 15:05:21 2009
@@ -7,11 +7,13 @@
         self.failUnlessEqual(NSGradientDrawsBeforeStartingLocation, (1 << 0))
         self.failUnlessEqual(NSGradientDrawsAfterEndingLocation, (1 << 1))
 
-    def testMethods(self):
-        self.fail("- (id)initWithColorsAndLocations:(NSColor *)firstColor, ...;")
-        self.fail("- (id)initWithColors:(NSArray *)colorArray atLocations:(const CGFloat *)locations colorSpace:(NSColorSpace *)colorSpace;")
-        self.fail("- (void)getColor:(NSColor **)color location:(CGFloat *)location atIndex:(NSInteger)index;")
 
+    def testMethods(self):
+        self.failUnlessArgSizeInArg(NSGradient.initWithColors_atLocations_colorSpace_, 1, 0)
+        self.failUnlessArgIsIn(NSGradient.initWithColors_atLocations_colorSpace_, 1)
+        
+        self.failUnlessArgIsOut(NSGradient.getColor_location_atIndex_, 0)
+        self.failUnlessArgIsOut(NSGradient.getColor_location_atIndex_, 1)
 
 
 if __name__ == "__main__":

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgraphics.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgraphics.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgraphics.py	Tue Mar 17 15:05:21 2009
@@ -57,54 +57,147 @@
 
 
     def testFunctions(self):
-        self.fail("APPKIT_EXTERN NSWindowDepth NSBestDepth (NSString *colorSpace, NSInteger bps, NSInteger bpp, BOOL planar, BOOL *exactMatch);")
-        self.fail("APPKIT_EXTERN BOOL NSPlanarFromDepth (NSWindowDepth depth);")
-        self.fail("APPKIT_EXTERN NSString *NSColorSpaceFromDepth (NSWindowDepth depth);")
-        self.fail("APPKIT_EXTERN NSInteger NSBitsPerSampleFromDepth(NSWindowDepth depth);")
-        self.fail("APPKIT_EXTERN NSInteger NSBitsPerPixelFromDepth(NSWindowDepth depth);")
-        self.fail("APPKIT_EXTERN NSInteger NSNumberOfColorComponents(NSString *colorSpaceName);")
-        self.fail("APPKIT_EXTERN const NSWindowDepth *NSAvailableWindowDepths (void); /* 0 terminated */")
-
-        self.fail("APPKIT_EXTERN void NSRectFill(NSRect aRect);")
-        self.fail("APPKIT_EXTERN void NSRectFillList(const NSRect *rects, NSInteger count);")
-        self.fail("APPKIT_EXTERN void NSRectFillListWithGrays(const NSRect *rects, const CGFloat *grays, NSInteger num);")
-        self.fail("APPKIT_EXTERN void NSRectFillListWithColors(const NSRect *rects, NSColor **colors, NSInteger num);")
-        self.fail("APPKIT_EXTERN void NSRectFillUsingOperation(NSRect aRect, NSCompositingOperation op);")
-        self.fail("APPKIT_EXTERN void NSRectFillListUsingOperation(const NSRect *rects, NSInteger count, NSCompositingOperation op);")
-        self.fail("APPKIT_EXTERN void NSRectFillListWithColorsUsingOperation(const NSRect *rects, NSColor **colors, NSInteger num, NSCompositingOperation op);")
-        self.fail("APPKIT_EXTERN void NSFrameRect(NSRect aRect);")
-        self.fail("APPKIT_EXTERN void NSFrameRectWithWidth(NSRect aRect, CGFloat frameWidth);")
-        self.fail("APPKIT_EXTERN void NSFrameRectWithWidthUsingOperation(NSRect aRect, CGFloat frameWidth, NSCompositingOperation op);")
-        self.fail("APPKIT_EXTERN void NSRectClip(NSRect aRect);")
-        self.fail("APPKIT_EXTERN void NSRectClipList(const NSRect *rects, NSInteger count);")
-        self.fail("APPKIT_EXTERN NSRect NSDrawTiledRects(NSRect boundsRect, NSRect clipRect, const NSRectEdge *sides, const CGFloat *grays, NSInteger count);")
-        self.fail("APPKIT_EXTERN void NSDrawGrayBezel(NSRect aRect, NSRect clipRect);")
-        self.fail("APPKIT_EXTERN void NSDrawGroove(NSRect aRect, NSRect clipRect);")
-        self.fail("APPKIT_EXTERN void NSDrawWhiteBezel(NSRect aRect, NSRect clipRect);")
-        self.fail("APPKIT_EXTERN void NSDrawButton(NSRect aRect, NSRect clipRect);")
-        self.fail("APPKIT_EXTERN void NSEraseRect(NSRect aRect);")
-        self.fail("APPKIT_EXTERN NSColor *NSReadPixel(NSPoint passedPoint);")
-        self.fail("APPKIT_EXTERN void NSDrawBitmap(NSRect rect, NSInteger width, NSInteger height, NSInteger bps, NSInteger spp, NSInteger bpp, NSInteger bpr, BOOL isPlanar, BOOL hasAlpha, NSString *colorSpaceName, const unsigned char *const data[5]);")
-        self.fail("APPKIT_EXTERN void NSCopyBits(NSInteger srcGState, NSRect srcRect, NSPoint destPoint);")
-        self.fail("APPKIT_EXTERN void NSHighlightRect(NSRect aRect);")
-        self.fail("APPKIT_EXTERN void NSBeep(void);")
-        self.fail("APPKIT_EXTERN void NSCountWindows(NSInteger *count);")
-        self.fail("APPKIT_EXTERN void NSWindowList(NSInteger size, NSInteger list[]);")
-        self.fail("APPKIT_EXTERN void NSCountWindowsForContext(NSInteger context, NSInteger *count);")
-        self.fail("APPKIT_EXTERN void NSWindowListForContext(NSInteger context, NSInteger size, NSInteger list[]);")
-
-        self.fail("APPKIT_EXTERN NSInteger NSGetWindowServerMemory(NSInteger context, NSInteger *virtualMemory, NSInteger *windowBackingMemory, NSString **windowDumpString);")
-
-        self.fail("APPKIT_EXTERN NSRect NSDrawColorTiledRects(NSRect boundsRect, NSRect clipRect, const NSRectEdge *sides, NSColor **colors, NSInteger count);")
-        self.fail("APPKIT_EXTERN void NSDrawDarkBezel(NSRect aRect, NSRect clipRect);")
-        self.fail("APPKIT_EXTERN void NSDrawLightBezel(NSRect aRect, NSRect clipRect);")
-        self.fail("APPKIT_EXTERN void NSDottedFrameRect(NSRect aRect);")
-        self.fail("APPKIT_EXTERN void NSDrawWindowBackground(NSRect aRect);")
-        self.fail("APPKIT_EXTERN void NSSetFocusRingStyle(NSFocusRingPlacement placement);")
-
-        self.fail("APPKIT_EXTERN void NSDisableScreenUpdates(void)	AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;")
-        self.fail("APPKIT_EXTERN void NSEnableScreenUpdates(void)	AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;")
-        self.fail("APPKIT_EXTERN void NSShowAnimationEffect(NSAnimationEffect animationEffect, NSPoint centerLocation, NSSize size, id animationDelegate, SEL didEndSelector, void *contextInfo) AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;")
+        self.failUnlessArgHasType(NSBestDepth, 4, 'o^' + objc._C_NSBOOL)
+        self.failUnlessArgIsBOOL(NSBestDepth, 3)
+        d, e = NSBestDepth(NSDeviceRGBColorSpace, 8, 32, False, None)
+        self.failUnlessIsInstance(d, (int, long))
+        self.failUnlessIsInstance(e, bool)
+
+        self.failUnlessResultIsBOOL(NSPlanarFromDepth)
+        self.failUnlessIsInstance(NSPlanarFromDepth(0), bool)
+
+        self.failUnlessIsInstance(NSColorSpaceFromDepth(0), unicode)
+        self.failUnlessIsInstance(NSBitsPerSampleFromDepth(0), (int, long))
+        self.failUnlessIsInstance(NSBitsPerPixelFromDepth(0), (int, long))
+        self.failUnlessIsInstance(NSNumberOfColorComponents(NSDeviceRGBColorSpace), (int, long))
+
+        v = NSAvailableWindowDepths()
+        self.failUnlessIsInstance(v, tuple)
+        self.failIfEqual(len(v), 0)
+        self.failUnlessIsInstance(v[0], int)
+
+        img = NSBitmapImageRep.alloc().initWithBitmapDataPlanes_pixelsWide_pixelsHigh_bitsPerSample_samplesPerPixel_hasAlpha_isPlanar_colorSpaceName_bitmapFormat_bytesPerRow_bitsPerPixel_(
+                None, 255, 255, 8, 4, True, False, NSCalibratedRGBColorSpace, 0, 0, 0)
+        context = NSGraphicsContext.graphicsContextWithBitmapImageRep_(img)
+        current = NSGraphicsContext.currentContext()
+        try:
+            NSGraphicsContext.setCurrentContext_(context)
+            NSRectFill(((0, 0), (1, 2)))
+
+            self.failUnlessArgSizeInArg(NSRectFillList, 0, 1)
+            NSRectFillList([((0, 0), (1, 2)), ((10, 50), (9, 9))], 2)
+
+            self.failUnlessArgSizeInArg(NSRectFillListWithGrays, 0, 2)
+            self.failUnlessArgSizeInArg(NSRectFillListWithGrays, 1, 2)
+            NSRectFillListWithGrays([((0, 0), (1, 2)), ((10, 50), (9, 9))], (0.5, 0.6), 2)
+
+            self.failUnlessArgSizeInArg(NSRectFillListWithColors, 0, 2)
+            self.failUnlessArgSizeInArg(NSRectFillListWithColors, 1, 2)
+            NSRectFillListWithColors([((0, 0), (1, 2)), ((10, 50), (9, 9))], (NSColor.blueColor(), NSColor.redColor()), 2)
+
+            NSRectFillUsingOperation(((0, 0), (1, 2)), NSCompositeSourceOver)
+
+            self.failUnlessArgSizeInArg(NSRectFillListUsingOperation, 0, 1)
+            NSRectFillListUsingOperation([((0, 0), (1, 2)), ((10, 50), (9, 9))], 2, NSCompositeSourceOver)
+
+            self.failUnlessArgSizeInArg(NSRectFillListWithColorsUsingOperation, 0, 2)
+            self.failUnlessArgSizeInArg(NSRectFillListWithColorsUsingOperation, 1, 2)
+            NSRectFillListWithColorsUsingOperation([((0, 0), (1, 2)), ((10, 50), (9, 9))], (NSColor.blueColor(), NSColor.redColor()), 2, NSCompositeSourceOver)
+
+            NSFrameRect(((5, 5), (20, 30)))
+            NSFrameRectWithWidth(((5, 5), (20, 30)), 4)
+            NSFrameRectWithWidthUsingOperation(((5, 5), (20, 30)), 4, NSCompositeSourceOver)
+
+            NSRectClip(((5, 5), (200, 200)))
+            self.failUnlessArgSizeInArg(NSRectClipList, 0, 1)
+            NSRectClipList([((5, 5), (200, 200)), ((50, 50), (90, 100))], 2)
+
+            color = NSReadPixel((5, 5))
+            self.failUnlessIsInstance(color, NSColor)
+
+            self.failUnlessArgSizeInArg(NSDrawTiledRects, 2, 4)
+            self.failUnlessArgSizeInArg(NSDrawTiledRects, 3, 4)
+            self.failUnlessArgIsIn(NSDrawTiledRects, 2)
+            self.failUnlessArgIsIn(NSDrawTiledRects, 3)
+            NSDrawTiledRects(((10, 10), (50, 50)), ((15, 15), (10, 10)),  [NSMinXEdge, NSMaxXEdge], [0.8, 0.9], 2)
+
+            NSDrawGrayBezel(((0, 0), (10, 10)), ((0, 0), (50, 50)))
+            NSDrawGroove(((0, 0), (10, 10)), ((0, 0), (50, 50)))
+            NSDrawWhiteBezel(((0, 0), (10, 10)), ((0, 0), (50, 50)))
+            NSDrawButton(((0, 0), (10, 10)), ((0, 0), (50, 50)))
+            NSEraseRect(((0, 0), (10, 10)))
+            NSCopyBits(0, ((10, 10), (50, 50)), (50, 50))
+            NSHighlightRect(((10, 10), (50, 50)))
+            NSDrawDarkBezel(((0, 0), (10, 10)), ((0, 0), (50, 50)))
+            NSDrawLightBezel(((0, 0), (10, 10)), ((0, 0), (50, 50)))
+            NSDottedFrameRect(((10, 10), (50, 50)))
+            NSDrawWindowBackground(((10, 10), (50, 50)))
+
+        finally:
+            NSGraphicsContext.setCurrentContext_(current)
+
+            NSSetFocusRingStyle(NSFocusRingAbove)
+
+            self.failUnlessArgIsOut(NSGetWindowServerMemory, 1)
+            self.failUnlessArgIsOut(NSGetWindowServerMemory, 2)
+            self.failUnlessArgIsOut(NSGetWindowServerMemory, 3)
+            r = NSGetWindowServerMemory(0, None, None, None)
+            self.failUnlessIsInstance(r[0], (int, long))
+            self.failUnlessIsInstance(r[1], (int, long))
+            self.failUnlessIsInstance(r[2], (int, long))
+
+            self.failUnlessArgSizeInArg(NSDrawColorTiledRects, 2, 4)
+            self.failUnlessArgSizeInArg(NSDrawColorTiledRects, 3, 4)
+            self.failUnlessArgIsIn(NSDrawColorTiledRects, 2)
+            self.failUnlessArgIsIn(NSDrawColorTiledRects, 3)
+            NSDrawColorTiledRects(((10, 10), (50, 50)), ((15, 15), (10, 10)),  [NSMinXEdge, NSMaxXEdge], [NSColor.redColor(), NSColor.blueColor()], 2)
+
+            #self.failUnlessArgIsBOOL(NSDrawBitmap, 7)
+            #self.failUnlessArgIsBOOL(NSDrawBitmap, 8)
+            #NSDrawBitmap(((0, 0), (10, 10)), 10, 20, 8, 4, 32, 40, False, True, 
+            #        NSDeviceRGBColorSpace, [' '*4*10*20, '', '', '', ''])
+
+            self.failUnlessArgSizeInArg(NSWindowList, 1, 0)
+            self.failUnlessArgIsOut(NSWindowList, 1)
+            v = NSWindowList(5, None)
+            self.failUnlessIsInstance(v, tuple)
+            self.failUnlessEqual(len(v), 5)
+            self.failUnlessIsInstance(v[0], (int, long))
+
+            self.failUnlessArgIsOut(NSCountWindowsForContext, 1)
+            v = NSCountWindowsForContext(1, None)
+            self.failUnlessIsInstance(v, (int, long))
+
+            self.failUnlessArgIsOut(NSWindowListForContext, 2)
+            self.failUnlessArgSizeInArg(NSWindowListForContext, 2, 1)
+            v = NSWindowListForContext(0, 5, None)
+            self.failUnlessIsInstance(v, tuple)
+            self.failUnlessEqual(len(v), 5)
+            self.failUnlessIsInstance(v[0], (int, long))
+
+
+
+
+        NSBeep()
+        count = NSCountWindows(None)
+        self.failUnlessIsInstance(count, (int, long))
+
+        try:
+            NSDisableScreenUpdates()
+        except objc.error:
+            pass
+
+        try:
+            NSEnableScreenUpdates()
+        except objc.error:
+            pass
+
+        self.failUnlessArgIsSEL(NSShowAnimationEffect, 4, 'v@:^v')
+        self.failUnlessArgHasType(NSShowAnimationEffect, 5, '^v')
+        try:
+            NSShowAnimationEffect(NSAnimationEffectPoof, (10, 10), (20, 30), None, None, None)
+        except objc.error:
+            pass
 
 
 if __name__ == "__main__":

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgraphicscontext.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgraphicscontext.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsgraphicscontext.py	Tue Mar 17 15:05:21 2009
@@ -1,6 +1,7 @@
 
 from PyObjCTools.TestSupport import *
 from AppKit import *
+import Quartz.CoreGraphics
 
 class TestNSGraphicsContext (TestCase):
     def testConstants(self):
@@ -21,11 +22,23 @@
         self.failUnlessEqual(NSColorRenderingIntentSaturation, 4)
 
 
-
     def testMethods(self):
-        self.fail("+ (NSGraphicsContext *)graphicsContextWithGraphicsPort:(void *)graphicsPort flipped:(BOOL)initialFlippedState;")
-        self.fail("+ (NSGraphicsContext *)currentContext;")
-        self.fail("- (void *)graphicsPort;")
+        self.failUnlessArgIsBOOL(NSGraphicsContext.graphicsContextWithGraphicsPort_flipped_, 1)
+        self.failUnlessResultIsBOOL(NSGraphicsContext.currentContextDrawingToScreen)
+        self.failUnlessResultIsBOOL(NSGraphicsContext.isDrawingToScreen)
+        self.failUnlessResultIsBOOL(NSGraphicsContext.isFlipped)
+        self.failUnlessResultIsBOOL(NSGraphicsContext.shouldAntialias)
+        self.failUnlessArgIsBOOL(NSGraphicsContext.setShouldAntialias_, 0)
+
+        img = NSBitmapImageRep.alloc().initWithBitmapDataPlanes_pixelsWide_pixelsHigh_bitsPerSample_samplesPerPixel_hasAlpha_isPlanar_colorSpaceName_bitmapFormat_bytesPerRow_bitsPerPixel_(
+            None, 255, 255, 8, 4, True, False, NSCalibratedRGBColorSpace, 0, 0, 0)
+        context = NSGraphicsContext.graphicsContextWithBitmapImageRep_(img)
+        self.failUnlessIsInstance(context, NSGraphicsContext)
+        port = context.graphicsPort()
+        self.failUnlessIsInstance(port, Quartz.CoreGraphics.CGContextRef)
+
+        self.failUnlessArgHasType(NSGraphicsContext.graphicsContextWithGraphicsPort_flipped_, 0, '^{CGContext=}')
+        self.failUnlessResultHasType(NSGraphicsContext.graphicsPort, '^{CGContext=}')
 
 
 if __name__ == "__main__":

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshelpmanager.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshelpmanager.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nshelpmanager.py	Tue Mar 17 15:05:21 2009
@@ -7,6 +7,11 @@
         self.failUnlessIsInstance(NSContextHelpModeDidActivateNotification, unicode)
         self.failUnlessIsInstance(NSContextHelpModeDidDeactivateNotification, unicode)
 
+    def testMethods(self):
+        self.failUnlessResultIsBOOL(NSHelpManager.isContextHelpModeActive)
+        self.failUnlessArgIsBOOL(NSHelpManager.setContextHelpModeActive_, 0)
+        self.failUnlessResultIsBOOL(NSHelpManager.showContextHelpForObject_locationHint_)
+
 
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsimage.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsimage.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsimage.py	Tue Mar 17 15:05:21 2009
@@ -2,6 +2,10 @@
 import AppKit
 from AppKit import *
 
+class TestNSImageHelper (NSObject):
+    def image_didLoadRepresentation_withStatus_(self, i, r, s): pass
+    def image_didLoadPartOfRepresentation_withValidRows_(self, i, r, c): pass
+
 class TestNSImage (TestCase):
     def test_compositePoint(self):
         # comes straight from ReSTedit.  Works on PPC, not on Intel (as of r1791)
@@ -78,7 +82,34 @@
         self.failUnlessIsInstance( NSImageNameEveryone, unicode)
 
     def testMethods(self):
-        self.fail("- (id)initWithIconRef:(IconRef)iconRef;")
+        self.failUnlessResultIsBOOL(NSImage.setName_)
+        self.failUnlessArgIsBOOL(NSImage.setScalesWhenResized_, 0)
+        self.failUnlessResultIsBOOL(NSImage.scalesWhenResized)
+        self.failUnlessArgIsBOOL(NSImage.setDataRetained_, 0)
+        self.failUnlessResultIsBOOL(NSImage.isDataRetained)
+        self.failUnlessArgIsBOOL(NSImage.setCachedSeparately_, 0)
+        self.failUnlessResultIsBOOL(NSImage.isCachedSeparately)
+        self.failUnlessArgIsBOOL(NSImage.setCacheDepthMatchesImageDepth_, 0)
+        self.failUnlessResultIsBOOL(NSImage.cacheDepthMatchesImageDepth)
+        self.failUnlessArgIsBOOL(NSImage.setUsesEPSOnResolutionMismatch_, 0)
+        self.failUnlessResultIsBOOL(NSImage.usesEPSOnResolutionMismatch)
+        self.failUnlessArgIsBOOL(NSImage.setPrefersColorMatch_, 0)
+        self.failUnlessResultIsBOOL(NSImage.prefersColorMatch)
+        self.failUnlessArgIsBOOL(NSImage.setMatchesOnMultipleResolution_, 0)
+        self.failUnlessResultIsBOOL(NSImage.matchesOnMultipleResolution)
+        self.failUnlessResultIsBOOL(NSImage.drawRepresentation_inRect_)
+        self.failUnlessResultIsBOOL(NSImage.isValid)
+        self.failUnlessResultIsBOOL(NSImage.canInitWithPasteboard_)
+        self.failUnlessResultIsBOOL(NSImage.isFlipped)
+        self.failUnlessArgIsBOOL(NSImage.setFlipped_, 0)
+        self.failUnlessResultIsBOOL(NSImage.isTemplate)
+        self.failUnlessArgIsBOOL(NSImage.setTemplate_, 0)
+
+        #self.fail("- (id)initWithIconRef:(IconRef)iconRef;")
+
+    def testProtocols(self):
+        self.failUnlessArgHasType(TestNSImageHelper.image_didLoadPartOfRepresentation_withValidRows_, 2, objc._C_NSInteger)
+        self.failUnlessArgHasType(TestNSImageHelper.image_didLoadRepresentation_withStatus_, 2, objc._C_NSUInteger)
 
 
 if __name__ == "__main__":

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsimagerep.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsimagerep.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsimagerep.py	Tue Mar 17 15:05:21 2009
@@ -9,5 +9,17 @@
         self.failUnlessEqual(NSImageRepRegistryChangedNotification, NSImageRepRegistryDidChangeNotification)
         self.failUnlessIsInstance(NSImageRepRegistryDidChangeNotification, unicode)
 
+
+    def testMethods(self):
+        self.failUnlessResultIsBOOL(NSImageRep.draw)
+        self.failUnlessResultIsBOOL(NSImageRep.drawAtPoint_)
+        self.failUnlessResultIsBOOL(NSImageRep.drawInRect_)
+        self.failUnlessArgIsBOOL(NSImageRep.setAlpha_, 0)
+        self.failUnlessResultIsBOOL(NSImageRep.hasAlpha)
+        self.failUnlessArgIsBOOL(NSImageRep.setOpaque_, 0)
+        self.failUnlessResultIsBOOL(NSImageRep.isOpaque)
+        self.failUnlessResultIsBOOL(NSImageRep.canInitWithData_)
+        self.failUnlessResultIsBOOL(NSImageRep.canInitWithPasteboard_)
+
 if __name__ == "__main__":
     main()

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nskeyvaluebinding.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nskeyvaluebinding.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nskeyvaluebinding.py	Tue Mar 17 15:05:21 2009
@@ -6,6 +6,8 @@
     def commitEditingWithDelegate_didCommitSelector_contextInfo_(self, d, s, i):
         return None
 
+    def commitEditing(self): return 1
+
 
 class TestNSKeyValueBinding (TestCase):
     def testConstants(self):
@@ -137,6 +139,8 @@
         m = o.commitEditingWithDelegate_didCommitSelector_contextInfo_.__metadata__()
         self.failUnlessEqual(m['arguments'][3]['sel_of_type'], 'v@:@Z^v')
 
+        self.failUnlessResultIsBOOL(TestNSKeyValueBindingHelper.commitEditing)
+
 
 
 if __name__ == "__main__":

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmatrix.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmatrix.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsmatrix.py	Tue Mar 17 15:05:21 2009
@@ -10,13 +10,52 @@
         self.failUnlessEqual(NSTrackModeMatrix, 3)
 
     def testMethods(self):
-        self.fail("- (void)sortUsingSelector:(SEL)comparator;")
-        self.fail("- (void)sortUsingFunction:(NSInteger (*)(id, id, void *))compare context:(void *)context;")
-        self.fail("- (void)getNumberOfRows:(NSInteger *)rowCount columns:(NSInteger *)colCount;")
-
-        self.fail("- (BOOL)getRow:(NSInteger *)row column:(NSInteger *)col ofCell:(NSCell *)aCell;")
-        self.fail("- (BOOL)getRow:(NSInteger *)row column:(NSInteger *)col forPoint:(NSPoint)aPoint;")
-        self.fail("- (void)setDoubleAction:(SEL)aSelector;")
+        self.failUnlessResultIsBOOL(NSMatrix.allowsEmptySelection)
+        self.failUnlessArgIsBOOL(NSMatrix.setAllowsEmptySelection_, 0)
+        self.failUnlessArgIsBOOL(NSMatrix.sendAction_to_forAllCells_, 2)
+        self.failUnlessArgIsSEL(NSMatrix.sendAction_to_forAllCells_, 0, objc._C_NSBOOL + '@:@')
+        self.failUnlessArgIsSEL(NSMatrix.sortUsingSelector_, 0, 'i@:@')
+        self.failUnlessArgIsOut(NSMatrix.getNumberOfRows_columns_, 0)
+        self.failUnlessArgIsOut(NSMatrix.getNumberOfRows_columns_, 1)
+        self.failUnlessArgIsOut(NSMatrix.getRow_column_ofCell_, 0)
+        self.failUnlessArgIsOut(NSMatrix.getRow_column_ofCell_, 1)
+        self.failUnlessArgIsOut(NSMatrix.getRow_column_forPoint_, 0)
+        self.failUnlessArgIsOut(NSMatrix.getRow_column_forPoint_, 1)
+
+        self.failUnlessArgIsFunction(NSMatrix.sortUsingFunction_context_, 0, 'i@@@', False)
+        self.failUnlessArgHasType(NSMatrix.sortUsingFunction_context_, 1, objc._C_ID)
+
+
+        self.failUnlessResultIsBOOL(NSMatrix.isSelectionByRect)
+        self.failUnlessArgIsBOOL(NSMatrix.setSelectionByRect_, 0)
+        self.failUnlessArgIsBOOL(NSMatrix.setSelectionFrom_to_anchor_highlight_, 3)
+        self.failUnlessResultIsBOOL(NSMatrix.selectCellWithTag_)
+        self.failUnlessArgIsBOOL(NSMatrix.setScrollable_, 0)
+        self.failUnlessArgIsBOOL(NSMatrix.setDrawsCellBackground_, 0)
+        self.failUnlessResultIsBOOL(NSMatrix.drawsCellBackground)
+        self.failUnlessArgIsBOOL(NSMatrix.setDrawsBackground_, 0)
+        self.failUnlessResultIsBOOL(NSMatrix.drawsBackground)
+        self.failUnlessArgIsOut(NSMatrix.getNumberOfRows_columns_, 0)
+        self.failUnlessArgIsOut(NSMatrix.getNumberOfRows_columns_, 1)
+        self.failUnlessResultIsBOOL(NSMatrix.getRow_column_ofCell_)
+        self.failUnlessArgIsOut(NSMatrix.getRow_column_ofCell_, 0)
+        self.failUnlessArgIsOut(NSMatrix.getRow_column_ofCell_, 1)
+        self.failUnlessResultIsBOOL(NSMatrix.getRow_column_forPoint_)
+        self.failUnlessArgIsOut(NSMatrix.getRow_column_forPoint_, 0)
+        self.failUnlessArgIsOut(NSMatrix.getRow_column_forPoint_, 1)
+        self.failUnlessArgIsBOOL(NSMatrix.setAutosizesCells_, 0)
+        self.failUnlessResultIsBOOL(NSMatrix.autosizesCells)
+        self.failUnlessArgIsBOOL(NSMatrix.setValidateSize_, 0)
+        self.failUnlessArgIsBOOL(NSMatrix.highlightCell_atRow_column_, 0)
+        self.failUnlessArgIsBOOL(NSMatrix.setAutoscroll_, 0)
+        self.failUnlessResultIsBOOL(NSMatrix.isAutoscroll)
+        self.failUnlessResultIsBOOL(NSMatrix.performKeyEquivalent_)
+        self.failUnlessResultIsBOOL(NSMatrix.sendAction)
+        self.failUnlessResultIsBOOL(NSMatrix.textShouldBeginEditing_)
+        self.failUnlessResultIsBOOL(NSMatrix.textShouldEndEditing_)
+        self.failUnlessResultIsBOOL(NSMatrix.acceptsFirstMouse_)
+        self.failUnlessArgIsBOOL(NSMatrix.setTabKeyTraversesCells_, 0)
+        self.failUnlessResultIsBOOL(NSMatrix.tabKeyTraversesCells)
 
 
 

Modified: trunk/pyobjc/pyobjc-framework-Cocoa/setup.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/setup.py	(original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/setup.py	Tue Mar 17 15:05:21 2009
@@ -179,6 +179,10 @@
             [ "Modules/_AppKit_appmain.m" ],
             extra_compile_args=CFLAGS,
             extra_link_args=["-framework", "AppKit"]),
+        Extension("AppKit._nsfont",
+            [ "Modules/_AppKit_nsfont.m"],
+            extra_compile_args=CFLAGS,
+            extra_link_args=["-framework", "AppKit"]),
         Extension("AppKit._nsquickdrawview",
             [ "Modules/_AppKit_nsquickdrawview.m"],
             extra_compile_args=CFLAGS,
@@ -187,10 +191,6 @@
             [ "Modules/_AppKit_nsbezierpath.m"],
             extra_compile_args=CFLAGS,
             extra_link_args=["-framework", "AppKit"]),
-        Extension("AppKit._nsmatrix",
-            [ "Modules/_AppKit_nsmatrix.m"],
-            extra_compile_args=CFLAGS,
-            extra_link_args=["-framework", "AppKit"]),
         Extension("AppKit._nsview",
             [ "Modules/_AppKit_nsview.m"],
             extra_compile_args=CFLAGS,

------------------------------------------------------------------------------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.