[PyObjC-svn] r2010 - trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest
[email protected] Thu, 21 Aug 2008 06:56:55 -0500
Newsgroups
gmane.comp.python.pyobjc.cvs
Message-ID
<[email protected] >
Author: ronaldoussoren
Date: Thu Aug 21 06:56:55 2008
New Revision: 2010
Log:
Add unittests for a large subset of CoreFoundation,
this needs to be enhanced to cover the entire API.
Note: some of these tests cause crashes in PyObjC,
those will be dealt with later on (some are caused
by bugs in the bridge, some by bugs in bridgesupport
files)
Added:
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfattributedstring.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfbase.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfbitvector.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfbundle.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfbyteorder.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfcharacterset.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfdata.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfdate.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfdateformatter.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cferror.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cffiledescriptor.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cflocale.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfmachport.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfmessageport.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfnotificationcenter.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfnumberformatter.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfplugin.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfpreferences.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfpropertylist.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfrunloop.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfset.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfsocket.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfstream.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfstring.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfstringtokenizer.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cftimezone.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfurl.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfurlaccess.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfusernotification.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfuuid.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfxmlnode.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfxmlparser.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_foundationerrors.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsappleeventdescriptor.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsappleeventmanager.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsapplescript.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsarchiver.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nscomparisonpredicate.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsvalue.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsvaluetransformer.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmldocument.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmldtd.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmldtdnode.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlelement.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlnode.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlnodeoptions.py (contents, props changed)
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsxmlparser.py (contents, props changed)
Modified:
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfbag.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfbinaryheap.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfcalendar.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfdictionary.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfnumber.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cftree.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsaffinetransform.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsnumber.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsundomanager.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsuserdefaults.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsworkspace.py
trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nszone.py
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfbag.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfbag.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfbag.py Thu Aug 21 06:56:55 2008
@@ -2,25 +2,26 @@
from CoreFoundation import *
class TestCFBag (unittest.TestCase):
- def dont_testCreation(self):
- bag = CFBagCreate(None, [1,1,2,3,4], 5, kCFTypeBagCallBacks)
+
+ def testCreation(self):
+ bag = CFBagCreate(None, [1,1,2,3,4], 5)
self.assert_(isinstance(bag, CFBagRef))
- self.assertEquals(GetCountOfValue(bag, 1), 2)
- self.assertEquals(GetCountOfValue(bag, 3), 1)
+ self.assertEquals(CFBagGetCountOfValue(bag, 1), 2)
+ self.assertEquals(CFBagGetCountOfValue(bag, 3), 1)
- bag = CFBagCreateMutable(None, 0, kCFTypeBagCallbacks)
+ bag = CFBagCreateMutable(None, 0)
self.assert_(isinstance(bag, CFBagRef))
- CFBagSetValue(bag, 9)
- CFBagSetValue(bag, 8)
- CFBagSetValue(bag, 9)
- self.assertEquals(GetCountOfValue(bag, 9), 2)
- self.assertEquals(GetCountOfValue(bag, 8), 1)
+ CFBagAddValue(bag, 9)
+ CFBagAddValue(bag, 8)
+ CFBagAddValue(bag, 9)
+ self.assertEquals(CFBagGetCountOfValue(bag, 9), 2)
+ self.assertEquals(CFBagGetCountOfValue(bag, 8), 1)
- def dont_testApplyFunction(self):
+ def testApplyFunction(self):
items = []
contexts = []
- bag = CFBagCreate(None, [1,1,2,3,4], 5, kCFTypeBagCallBacks)
+ bag = CFBagCreate(None, [1,1,2,3,4], 5)
def func(item, context):
items.append(item*item)
@@ -31,5 +32,84 @@
self.assertEquals(items, [1,1,4,9,16])
self.assertEquals(contexts, [99,99,99,99,99])
+ def testTypeID(self):
+ v = CFBagGetTypeID()
+ self.failUnless( isinstance(v, (int, long)) )
+
+ def testCopy(self):
+ bag = CFBagCreate(None, [1,1,2,3,4], 5)
+ self.failUnless( isinstance(bag, CFBagRef) )
+
+ bag2 = CFBagCreateCopy(None, bag)
+ self.failUnless( isinstance(bag2, CFBagRef) )
+
+ bag3 = CFBagCreateMutableCopy(None, 0, bag)
+ self.failUnless( isinstance(bag3, CFBagRef) )
+ self.failIf( bag3 is bag )
+
+ def testInspect(self):
+ bag = CFBagCreate(None, [u"Hello", 42, u"World", 42, u"a", u"a", u"a"], 7)
+ self.failUnless( isinstance(bag, CFBagRef) )
+
+ self.failUnless( CFBagGetCount(bag) == 7)
+ self.failUnless( CFBagGetCountOfValue(bag, u"Hello") == 1)
+ self.failUnless( CFBagGetCountOfValue(bag, 42) == 2)
+ self.failUnless( CFBagGetCountOfValue(bag, u"a") == 3)
+
+ self.failUnless( CFBagContainsValue(bag, u"a") )
+ self.failIf( CFBagContainsValue(bag, u"b") )
+
+ v = CFBagGetValue(bag, u"b")
+ self.failUnless( v is None)
+
+ v = CFBagGetValue(bag, u"a")
+ self.failUnless( v == u"a")
+
+ exists, value = CFBagGetValueIfPresent(bag, u"a", None)
+ self.failUnless( exists )
+ self.failUnless( value == u"a" )
+
+ exists, value = CFBagGetValueIfPresent(bag, u"b", None)
+ self.failIf( exists )
+ self.failUnless( value is None )
+
+ values = list(CFBagGetValues(bag))
+ values.sort()
+ l = [u"Hello", 42, u"World", 42, u"a", u"a", u"a"]
+ l.sort()
+ self.failUnless( values == l )
+
+
+ def testMutation(self):
+ bag = CFBagCreateMutable(None, 0)
+ self.failUnless( CFBagGetCount(bag) == 0)
+
+ CFBagAddValue(bag, u"hello")
+ self.failUnless( CFBagGetCount(bag) == 1)
+ CFBagAddValue(bag, u"hello")
+ self.failUnless( CFBagGetCount(bag) == 2)
+
+ CFBagReplaceValue(bag, u"hello")
+ self.failUnless( CFBagGetCount(bag) == 2)
+
+ CFBagReplaceValue(bag, u"world")
+ self.failUnless( CFBagGetCount(bag) == 2)
+
+ CFBagSetValue(bag, u"world")
+ self.failUnless( CFBagGetCount(bag) == 3)
+
+ CFBagSetValue(bag, u"world")
+ self.failUnless( CFBagGetCount(bag) == 3)
+
+ CFBagRemoveValue(bag, u"hello")
+ self.failUnless( CFBagGetCount(bag) == 2)
+ CFBagRemoveValue(bag, u"hello")
+ self.failUnless( CFBagGetCount(bag) == 1)
+
+ CFBagRemoveAllValues(bag)
+ self.failUnless( CFBagGetCount(bag) == 0)
+
+
+
if __name__ == "__main__":
unittest.main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfbinaryheap.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfbinaryheap.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfbinaryheap.py Thu Aug 21 06:56:55 2008
@@ -3,31 +3,25 @@
import unittest
class TestCFBinaryHeap (unittest.TestCase):
- def dont_testCreation(self):
- def compare(l, r, info):
- return cmp(l, r)
+ def testCreation(self):
heap = CFBinaryHeapCreate(
- None, 0,
- kCFStringBinaryHeapCallBacks,
- None)
+ None, 0)
self.assert_(isinstance(heap, CFBinaryHeapRef))
CFBinaryHeapAddValue(heap, "hello")
CFBinaryHeapAddValue(heap, "world")
CFBinaryHeapAddValue(heap, "aapjes")
- self.failUnless(CFBinaryHeapContainsValue("hello"))
- self.failIf(CFBinaryHeapContainsValue("niemand"))
+ self.failUnless(CFBinaryHeapContainsValue(heap, "hello"))
+ self.failIf(CFBinaryHeapContainsValue(heap, "niemand"))
- def dont_testApply(self):
+ def testApply(self):
def compare(l, r, info):
return cmp(l, r)
heap = CFBinaryHeapCreate(
- None, 0,
- kCFStringBinaryHeapCallBacks,
- None)
+ None, 0)
self.assert_(isinstance(heap, CFBinaryHeapRef))
CFBinaryHeapAddValue(heap, "hello")
@@ -39,12 +33,73 @@
def function(item, context):
items.append(item * 2)
- context.append(context)
+ contexts.append(context)
CFBinaryHeapApplyFunction(heap, function, None)
self.assertEquals(contexts, [None, None, None])
- #items.sort()
self.assertEquals(items, ["aapjesaapjes", "hellohello", "worldworld"])
+ ctx = ['']
+ def function(item, context):
+ context[0] += item
+ CFBinaryHeapApplyFunction(heap, function, ctx)
+ self.assertEquals(ctx[0], 'aapjeshelloworld')
+
+
+ def testTypeID(self):
+ v = CFBinaryHeapGetTypeID()
+ self.failUnless( isinstance(v, (int, long)) )
+
+ def testCopy(self):
+ heap = CFBinaryHeapCreate(
+ None, 0)
+ self.assert_(isinstance(heap, CFBinaryHeapRef))
+
+ CFBinaryHeapAddValue(heap, "hello")
+ CFBinaryHeapAddValue(heap, "world")
+ CFBinaryHeapAddValue(heap, "aapjes")
+
+ heap2 = CFBinaryHeapCreateCopy(None, 0, heap)
+ self.assert_(isinstance(heap2, CFBinaryHeapRef))
+
+ def testInspect(self):
+ heap = CFBinaryHeapCreate(
+ None, 0)
+ self.assert_(isinstance(heap, CFBinaryHeapRef))
+
+ CFBinaryHeapAddValue(heap, "hello")
+ CFBinaryHeapAddValue(heap, "world")
+ CFBinaryHeapAddValue(heap, "aapjes")
+
+ count = CFBinaryHeapGetCount(heap)
+ self.failUnless(count == 3)
+
+ count = CFBinaryHeapGetCountOfValue(heap, "hello")
+ self.failUnless(count == 1)
+ count = CFBinaryHeapGetCountOfValue(heap, "fobar")
+ self.failUnless(count == 0)
+
+ self.failUnless(CFBinaryHeapContainsValue(heap, "hello"))
+ self.failIf(CFBinaryHeapContainsValue(heap, "foobar"))
+
+ min = CFBinaryHeapGetMinimum(heap)
+ self.failUnless(min == "aapjes")
+
+ ok, min = CFBinaryHeapGetMinimumIfPresent(heap, None)
+ self.failUnless(ok)
+ self.failUnless(min == "aapjes")
+
+ values = CFBinaryHeapGetValues(heap)
+ self.failUnless(values == ("aapjes", "hello", "world"))
+
+ CFBinaryHeapRemoveMinimumValue(heap)
+ values = CFBinaryHeapGetValues(heap)
+ self.failUnless(values == ("hello", "world"))
+
+ CFBinaryHeapRemoveAllValues(heap)
+ values = CFBinaryHeapGetValues(heap)
+ self.failUnless(values == ())
+
+
if __name__ == "__main__":
unittest.main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfcalendar.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfcalendar.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfcalendar.py Thu Aug 21 06:56:55 2008
@@ -1,38 +1,38 @@
import unittest
-import CoreFoundation
+from CoreFoundation import *
class TestCFCalendarVariadic (unittest.TestCase):
def testCFCalendarComposeAbsoluteTime(self):
- calendar = CoreFoundation.CFCalendarCreateWithIdentifier(
- None, CoreFoundation.kCFGregorianCalendar)
+ calendar = CFCalendarCreateWithIdentifier(
+ None, kCFGregorianCalendar)
self.assert_(calendar is not None)
- success, at = CoreFoundation.CFCalendarComposeAbsoluteTime(
+ success, at = CFCalendarComposeAbsoluteTime(
calendar, None, '')
self.assertEquals(success, True)
self.assert_(isinstance(at, float))
- success, at = CoreFoundation.CFCalendarComposeAbsoluteTime(
+ success, at = CFCalendarComposeAbsoluteTime(
calendar, None, "yMdHms", 1965, 1, 6, 14, 10, 0)
self.assertEquals(success, True)
self.assert_(isinstance(at, float))
def testCFCalendarAddComponents(self):
- calendar = CoreFoundation.CFCalendarCreateWithIdentifier(
- None, CoreFoundation.kCFGregorianCalendar)
+ calendar = CFCalendarCreateWithIdentifier(
+ None, kCFGregorianCalendar)
self.assert_(calendar is not None)
- success, at = CoreFoundation.CFCalendarComposeAbsoluteTime(
+ success, at = CFCalendarComposeAbsoluteTime(
calendar, None, "yMdHms", 1965, 1, 6, 14, 10, 0)
self.assertEquals(success, True)
self.assert_(isinstance(at, float))
- success, at2 = CoreFoundation.CFCalendarAddComponents(
+ success, at2 = CFCalendarAddComponents(
calendar, at, 0, "yH", 2, 3)
self.assertEquals(success, True)
self.assert_(isinstance(at2, float))
- success, y, H = CoreFoundation.CFCalendarGetComponentDifference(
+ success, y, H = CFCalendarGetComponentDifference(
calendar, at, at2, 0, "yH")
self.assertEquals(success, True)
self.assertEquals(y, 2)
@@ -40,16 +40,16 @@
def testCFCalendarDecomposeAbsoluteTime(self):
- calendar = CoreFoundation.CFCalendarCreateWithIdentifier(
- None, CoreFoundation.kCFGregorianCalendar)
+ calendar = CFCalendarCreateWithIdentifier(
+ None, kCFGregorianCalendar)
self.assert_(calendar is not None)
- success, at = CoreFoundation.CFCalendarComposeAbsoluteTime(
+ success, at = CFCalendarComposeAbsoluteTime(
calendar, None, "yMdHms", 1965, 1, 6, 14, 10, 0)
self.assertEquals(success, True)
self.assert_(isinstance(at, float))
- success, y, M, d, H, m, s = CoreFoundation.CFCalendarDecomposeAbsoluteTime(
+ success, y, M, d, H, m, s = CFCalendarDecomposeAbsoluteTime(
calendar, at, "yMdHms")
self.assertEquals(y, 1965)
self.assertEquals(M, 1)
@@ -59,26 +59,140 @@
self.assertEquals(s, 0)
def testCFCalendarGetComponentDifference(self):
- calendar = CoreFoundation.CFCalendarCreateWithIdentifier(
- None, CoreFoundation.kCFGregorianCalendar)
+ calendar = CFCalendarCreateWithIdentifier(
+ None, kCFGregorianCalendar)
self.assert_(calendar is not None)
- success, at1 = CoreFoundation.CFCalendarComposeAbsoluteTime(
+ success, at1 = CFCalendarComposeAbsoluteTime(
calendar, None, "yMdHms", 1965, 1, 6, 14, 10, 0)
self.assertEquals(success, True)
self.assert_(isinstance(at1, float))
- success, at2 = CoreFoundation.CFCalendarComposeAbsoluteTime(
+ success, at2 = CFCalendarComposeAbsoluteTime(
calendar, None, "yMdHms", 1967, 2, 6, 14, 10, 0)
self.assertEquals(success, True)
self.assert_(isinstance(at2, float))
- success, y, M = CoreFoundation.CFCalendarGetComponentDifference(
+ success, y, M = CFCalendarGetComponentDifference(
calendar, at1, at2, 0, "yM")
self.assertEquals(success, True)
self.assertEquals(y, 2)
self.assertEquals(M, 1)
+ def testTypeID(self):
+ v = CFCalendarGetTypeID()
+ self.failUnless(isinstance(v, (int, long)))
+
+ def testCreation(self):
+ cal = CFCalendarCopyCurrent()
+ self.failUnless( isinstance(cal, CFCalendarRef) )
+
+ cal = CFCalendarCreateWithIdentifier(None, kCFBuddhistCalendar)
+ self.failUnless( isinstance(cal, CFCalendarRef) )
+
+
+ def testInspection(self):
+ cal = CFCalendarCreateWithIdentifier(None, kCFBuddhistCalendar)
+ self.failUnless( isinstance(cal, CFCalendarRef) )
+
+ name = CFCalendarGetIdentifier(cal)
+ self.failUnless(name == kCFBuddhistCalendar)
+
+ locale = CFCalendarCopyLocale(cal)
+ self.failUnless( isinstance(locale, CFLocaleRef) )
+
+ timezone = CFCalendarCopyTimeZone(cal)
+ self.failUnless( isinstance(timezone, CFTimeZoneRef) )
+
+ weekday = CFCalendarGetFirstWeekday(cal)
+ self.failUnless(0 <= weekday <= 7)
+
+ num = CFCalendarGetMinimumDaysInFirstWeek(cal)
+ self.failUnless(0 <= num <= 7)
+
+
+ rng = CFCalendarGetMinimumRangeOfUnit(cal, kCFCalendarUnitEra)
+ self.failUnless(isinstance(rng, CFRange))
+
+ rng = CFCalendarGetMaximumRangeOfUnit(cal, kCFCalendarUnitEra)
+ self.failUnless(isinstance(rng, CFRange))
+
+ rng = CFCalendarGetRangeOfUnit(cal, kCFCalendarUnitDay, kCFCalendarUnitYear, CFAbsoluteTimeGetCurrent())
+ self.failUnless(isinstance(rng, CFRange))
+ self.failUnless(rng.location == 1)
+ self.failUnless(rng.length == 31)
+
+
+ v = CFCalendarGetOrdinalityOfUnit(cal, kCFCalendarUnitDay, kCFCalendarUnitYear, CFAbsoluteTimeGetCurrent())
+ self.failUnless( isinstance(v, (int, long)) )
+
+ ok, startp, tip = CFCalendarGetTimeRangeOfUnit(cal, kCFCalendarUnitDay, CFAbsoluteTimeGetCurrent(), None, None)
+ self.failUnless(ok is True)
+ self.failUnless(isinstance(startp, float))
+ self.failUnless(isinstance(tip, float))
+ self.failUnless(tip == 86400.0)
+
+
+ def testMutation(self):
+ cal = CFCalendarCreateWithIdentifier(None, kCFBuddhistCalendar)
+
+ loc = CFLocaleCreate(None, u"mr_IN")
+ self.failUnless(isinstance(loc, CFLocaleRef))
+ id1 = CFLocaleGetIdentifier(loc)
+
+ orig_loc = CFCalendarCopyLocale(cal)
+ self.failUnless(isinstance(orig_loc, CFLocaleRef))
+ orig_id = CFLocaleGetIdentifier(orig_loc)
+ CFCalendarSetLocale(cal, loc)
+ new_loc = CFCalendarCopyLocale(cal)
+ self.failUnless(isinstance(new_loc, CFLocaleRef))
+ new_id = CFLocaleGetIdentifier(new_loc)
+
+ self.failUnless(new_id == id1)
+ self.failIf(orig_id == id1)
+
+ tz = CFTimeZoneCreateWithName(None, u"Pacific/Wallis", True)
+ self.failUnless(isinstance(tz, CFTimeZoneRef))
+ orig_zone = CFCalendarCopyTimeZone(cal)
+ self.failUnless(isinstance(orig_zone, CFTimeZoneRef))
+
+ CFCalendarSetTimeZone(cal, tz)
+ new_zone = CFCalendarCopyTimeZone(cal)
+ self.failUnless(isinstance(new_zone, CFTimeZoneRef))
+
+ self.failUnless( CFTimeZoneGetName(new_zone) == u'Pacific/Wallis' )
+
+
+ weekday = CFCalendarGetFirstWeekday(cal)
+ weekday = weekday + 2 % 7
+ CFCalendarSetFirstWeekday(cal, weekday)
+ new = CFCalendarGetFirstWeekday(cal)
+ self.failUnless(new == weekday)
+
+ num = CFCalendarGetMinimumDaysInFirstWeek(cal)
+ if num == 1:
+ num = 2
+ else:
+ num = 1
+
+ CFCalendarSetMinimumDaysInFirstWeek(cal, num)
+ num2 = CFCalendarGetMinimumDaysInFirstWeek(cal)
+ self.failUnless(num2 == num)
+
+
+ def testConstants(self):
+ self.failUnless( kCFCalendarUnitEra == (1 << 1) )
+ self.failUnless( kCFCalendarUnitYear == (1 << 2) )
+ self.failUnless( kCFCalendarUnitMonth == (1 << 3) )
+ self.failUnless( kCFCalendarUnitDay == (1 << 4) )
+ self.failUnless( kCFCalendarUnitHour == (1 << 5) )
+ self.failUnless( kCFCalendarUnitMinute == (1 << 6) )
+ self.failUnless( kCFCalendarUnitSecond == (1 << 7) )
+ self.failUnless( kCFCalendarUnitWeek == (1 << 8) )
+ self.failUnless( kCFCalendarUnitWeekday == (1 << 9) )
+ self.failUnless( kCFCalendarUnitWeekdayOrdinal == (1 << 10) )
+
+ self.failUnless( kCFCalendarComponentsWrap == (1 << 0) )
if __name__ == "__main__":
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfdictionary.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfdictionary.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfdictionary.py Thu Aug 21 06:56:55 2008
@@ -3,16 +3,12 @@
import unittest
class TestCFDictionary (unittest.TestCase):
+
def testCreation(self):
- dictionary = NSDictionary.dictionaryWithDictionary_(
- { 'aap': 'monkey', 'noot': 'nut', 'mies': 'missy',
- 'wim': 'john' })
- #dictionary = CFDictionaryCreate(None,
- # ('aap', 'noot', 'mies', 'wim'),
- # ('monkey', 'nut', 'missy', 'john'),
- # 4,
- # kCFTypeDictionaryKeyCallBacks,
- # kCFTypeDictionaryValueCallBacks)
+ dictionary = CFDictionaryCreate(None,
+ ('aap', 'noot', 'mies', 'wim'),
+ ('monkey', 'nut', 'missy', 'john'),
+ 4)
self.assert_(isinstance(dictionary, CFDictionaryRef))
self.assertEquals(dictionary, {
'aap': 'monkey',
@@ -21,20 +17,111 @@
'wim': 'john'
})
- #dictionary = CFDictionaryCreateMutable(
- # None, 0,
- # kCFTypeDictionaryKeyCallBacks,
- # kCFTypeDictionaryValueCallBacks)
- dictionary = NSMutableDictionary.dictionary()
+ dictionary = CFDictionaryCreateMutable(None, 0)
self.assert_(isinstance(dictionary, CFMutableDictionaryRef))
CFDictionarySetValue(dictionary, 'hello', 'world')
self.assertEquals(dictionary, {'hello': 'world'})
def testApplyFunction(self):
- dictionary = NSDictionary.dictionaryWithDictionary_({
- 'foo': 'bar',
- 40: 42,
- })
+ dictionary = CFDictionaryCreate(None,
+ ('aap', 'noot', 'mies', 'wim'),
+ ('monkey', 'nut', 'missy', 'john'), 4)
+
+ context = []
+
+ def function(key, value, context):
+ context.append((key, value))
+
+ CFDictionaryApplyFunction(dct, function, context)
+
+ context.sort()
+ self.failUnless(len(context) == 4)
+ self.assertEquals(context,
+ [
+ ('aap', 'monkey'),
+ ('noot', 'nut'),
+ ('mies', 'missy'),
+ ('wim', 'john')
+ ])
+
+ def testTypeID(self):
+ self.failUnless(isinstance(CFDictionaryGetTypeID(), (int, long)))
+
+ def testCreation(self):
+ dct = CFDictionaryCreate(None, [u"key1", u"key2"], [42, 43], 2)
+ self.failUnless(isinstance(dct, CFDictionaryRef))
+
+ dct = CFDictionaryCreateCopy(None, dct)
+ self.failUnless(isinstance(dct, CFDictionaryRef))
+
+ dct = CFDictionaryCreateMutable(None, 0)
+ self.failUnless(isinstance(dct, CFDictionaryRef))
+
+ dct = CFDictionaryCreateMutableCopy(None, 0, dct)
+ self.failUnless(isinstance(dct, CFDictionaryRef))
+
+ def testInspection(self):
+ dct = CFDictionaryCreate(None, [u"key1", u"key2"], [42, 42], 2)
+ self.failUnless(isinstance(dct, CFDictionaryRef))
+
+ self.failUnless(CFDictionaryGetCount(dct) == 2)
+ self.failUnless(CFDictionaryGetCountOfKey(dct, u"key1") == 1)
+ self.failUnless(CFDictionaryGetCountOfKey(dct, u"key3") == 0)
+
+ self.failUnless(CFDictionaryGetCountOfValue(dct, 42) == 2)
+ self.failUnless(CFDictionaryGetCountOfValue(dct, 44) == 0)
+
+ self.failUnless(CFDictionaryContainsKey(dct, u"key1"))
+ self.failIf(CFDictionaryContainsKey(dct, u"key3"))
+
+ self.failUnless(CFDictionaryContainsValue(dct, 42))
+ self.failIf(CFDictionaryContainsValue(dct, u"key3"))
+
+ self.failUnless(CFDictionaryGetValue(dct, "key2") == 42)
+ self.failUnless(CFDictionaryGetValue(dct, "key3") is None)
+
+ ok, value = CFDictionaryGetValueIfPresent(dct, "key2", None)
+ self.failUnless(ok)
+ self.failUnless(value == 42)
+
+ ok, value = CFDictionaryGetValueIfPresent(dct, "key3", None)
+ self.failIf(ok)
+ self.failUnless(value is None)
+
+
+ keys, values = CFDictionaryGetKeysAndValues(dct, None, None)
+ self.failUnless(values == (42, 42))
+ keys = list(keys)
+ keys.sort()
+ self.failUnless(keys == ['key1', 'key2'])
+
+ def testMutation(self):
+ dct = CFDictionaryCreateMutable(None, 0)
+ self.failUnless(CFDictionaryGetCount(dct) == 0)
+
+ CFDictionaryAddValue(dct, u"key1", u"value1")
+ self.failUnless(CFDictionaryGetCount(dct) == 1)
+ self.failUnless(CFDictionaryContainsKey(dct, u"key1"))
+
+ CFDictionarySetValue(dct, u"key2", u"value2")
+ self.failUnless(CFDictionaryGetCount(dct) == 2)
+ self.failUnless(CFDictionaryContainsKey(dct, u"key2"))
+
+ CFDictionaryReplaceValue(dct, u"key2", u"value2b")
+ self.failUnless(CFDictionaryGetCount(dct) == 2)
+ self.failUnless(CFDictionaryContainsKey(dct, u"key2"))
+ self.failUnless(CFDictionaryGetValue(dct, "key2") == u"value2b")
+
+ CFDictionaryReplaceValue(dct, u"key3", u"value2b")
+ self.failUnless(CFDictionaryGetCount(dct) == 2)
+ self.failIf(CFDictionaryContainsKey(dct, u"key3"))
+
+ CFDictionaryRemoveValue(dct, u"key1")
+ self.failIf(CFDictionaryContainsKey(dct, u"key1"))
+
+ CFDictionaryRemoveAllValues(dct)
+ self.failIf(CFDictionaryContainsKey(dct, u"key2"))
+ self.failUnless(CFDictionaryGetCount(dct) == 0)
if __name__ == "__main__":
unittest.main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfnumber.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfnumber.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cfnumber.py Thu Aug 21 06:56:55 2008
@@ -1,82 +1,240 @@
-import unittest
+import unittest, sys
from CoreFoundation import *
class TestCFNumber (unittest.TestCase):
def testCFNumberGetValue(self):
number = 42
- ok, v = CFNumberGetValue(number, kCFNumberSInt8Type);
+ ok, v = CFNumberGetValue(number, kCFNumberSInt8Type, None);
self.assert_(ok)
self.assert_(isinstance(v, (int, long)))
self.assertEquals(v, 42)
- ok, v = CFNumberGetValue(number, kCFNumberSInt16Type);
+ ok, v = CFNumberGetValue(number, kCFNumberSInt16Type, None);
self.assert_(ok)
self.assert_(isinstance(v, (int, long)))
self.assertEquals(v, 42)
- ok, v = CFNumberGetValue(number, kCFNumberSInt32Type);
+ ok, v = CFNumberGetValue(number, kCFNumberSInt32Type, None);
self.assert_(ok)
self.assert_(isinstance(v, (int, long)))
self.assertEquals(v, 42)
- ok, v = CFNumberGetValue(number, kCFNumberSInt64Type);
+ ok, v = CFNumberGetValue(number, kCFNumberSInt64Type, None);
self.assert_(ok)
self.assert_(isinstance(v, (int, long)))
self.assertEquals(v, 42)
- ok, v = CFNumberGetValue(number, kCFNumberCharType);
+ ok, v = CFNumberGetValue(number, kCFNumberCharType, None);
self.assert_(ok)
self.assert_(isinstance(v, (int, long)))
self.assertEquals(v, 42)
- ok, v = CFNumberGetValue(number, kCFNumberShortType);
+ ok, v = CFNumberGetValue(number, kCFNumberShortType, None);
self.assert_(ok)
self.assert_(isinstance(v, (int, long)))
self.assertEquals(v, 42)
- ok, v = CFNumberGetValue(number, kCFNumberIntType);
+ ok, v = CFNumberGetValue(number, kCFNumberIntType, None);
self.assert_(ok)
self.assert_(isinstance(v, (int, long)))
self.assertEquals(v, 42)
- ok, v = CFNumberGetValue(number, kCFNumberLongType);
+ ok, v = CFNumberGetValue(number, kCFNumberLongType, None);
self.assert_(ok)
self.assert_(isinstance(v, (int, long)))
self.assertEquals(v, 42)
- ok, v = CFNumberGetValue(number, kCFNumberLongLongType);
+ ok, v = CFNumberGetValue(number, kCFNumberLongLongType, None);
self.assert_(ok)
self.assert_(isinstance(v, (int, long)))
self.assertEquals(v, 42)
- ok, v = CFNumberGetValue(number, kCFNumberCFIndexType);
+ ok, v = CFNumberGetValue(number, kCFNumberCFIndexType, None);
self.assert_(ok)
self.assert_(isinstance(v, (int, long)))
self.assertEquals(v, 42)
- ok, v = CFNumberGetValue(number, kCFNumberFloat32Type)
+ ok, v = CFNumberGetValue(number, kCFNumberFloat32Type, None)
self.assert_(ok)
self.assert_(isinstance(v, float))
self.assertEquals(v, 42.0)
- ok, v = CFNumberGetValue(number, kCFNumberFloat64Type)
+ ok, v = CFNumberGetValue(number, kCFNumberFloat64Type, None)
self.assert_(ok)
self.assert_(isinstance(v, float))
self.assertEquals(v, 42.0)
- ok, v = CFNumberGetValue(number, kCFNumberFloatType)
+ ok, v = CFNumberGetValue(number, kCFNumberFloatType, None)
self.assert_(ok)
self.assert_(isinstance(v, float))
self.assertEquals(v, 42.0)
- ok, v = CFNumberGetValue(number, kCFNumberDoubleType)
+ ok, v = CFNumberGetValue(number, kCFNumberDoubleType, None)
self.assert_(ok)
self.assert_(isinstance(v, float))
self.assertEquals(v, 42.0)
- ok, v = CFNumberGetValue(number, kCFNumberMaxType+2)
- self.assert_(not ok)
+ ## Don't test this, the wrapper shouldn't range-check
+ ## arguments and CFNumberGetValue will crash when the
+ ## number type is invalid
+ #ok, v = CFNumberGetValue(number, kCFNumberMaxType+2)
+ #self.assert_(not ok)
+
+ def testBoolean(self):
+ self.failUnless(isinstance(CFBooleanGetTypeID(), (int, long)))
+
+ self.failUnless(CFBooleanGetValue(kCFBooleanTrue))
+ self.failIf(CFBooleanGetValue(kCFBooleanFalse))
+ self.failUnless(CFBooleanGetValue(True))
+ self.failIf(CFBooleanGetValue(False))
+
+ def no_testNumber(self):
+ self.failUnless(isinstance(CFNumberGetTypeID(), (int, long)))
+
+ # Add cases for all number types
+ num = CFNumberCreate(None, kCFNumberSInt8Type, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failIf(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberSInt8Type, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failIf(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberSInt16Type, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failIf(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberSInt32Type, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failIf(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberSInt64Type, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failIf(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberFloat32Type, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failUnless(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberFloat64Type, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failUnless(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberCharType, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failIf(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberShortType, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failIf(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberIntType, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failIf(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberLongType, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failIf(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberLongLongType, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failIf(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberFloatType, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failUnless(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberDoubleType, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failUnless(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberCFIndexType, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failIf(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberNSIntegerType, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failIf(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+ num = CFNumberCreate(None, kCFNumberCGFloatType, 1)
+ self.failUnless(isinstance(num, CFNumberRef))
+ self.failUnless(CFNumberIsFloatType(num))
+ self.failUnless(num == 1)
+
+
+
+ def testNumberTypes(self):
+ v = CFNumberGetType(44)
+ self.failUnless(v == kCFNumberLongType)
+
+ v = CFNumberGetType(2.5)
+ self.failUnless(v == kCFNumberDoubleType)
+
+ v = CFNumberGetByteSize(44)
+ if sys.maxint > 2 ** 32:
+ self.failUnless(v == 8)
+ else:
+ self.failUnless(v == 4)
+
+ v = CFNumberGetByteSize(44.0)
+ self.failUnless(v == 8)
+
+ self.failIf(CFNumberIsFloatType(44))
+ self.failUnless(CFNumberIsFloatType(1.0))
+
+ r = CFNumberCompare(44, 45, 0)
+ self.failUnless(r < 0)
+
+
+
+
+ def testConstants(self):
+ self.failUnless(kCFBooleanTrue is True)
+ self.failUnless(kCFBooleanFalse is False)
+
+ self.failUnless(kCFNumberSInt8Type == 1)
+ self.failUnless(kCFNumberSInt16Type == 2)
+ self.failUnless(kCFNumberSInt32Type == 3)
+ self.failUnless(kCFNumberSInt64Type == 4)
+ self.failUnless(kCFNumberFloat32Type == 5)
+ self.failUnless(kCFNumberFloat64Type == 6)
+ self.failUnless(kCFNumberCharType == 7)
+ self.failUnless(kCFNumberShortType == 8)
+ self.failUnless(kCFNumberIntType == 9)
+ self.failUnless(kCFNumberLongType == 10)
+ self.failUnless(kCFNumberLongLongType == 11)
+ self.failUnless(kCFNumberFloatType == 12)
+ self.failUnless(kCFNumberDoubleType == 13)
+ self.failUnless(kCFNumberCFIndexType == 14)
+ self.failUnless(kCFNumberNSIntegerType == 15)
+ self.failUnless(kCFNumberCGFloatType == 16)
+ self.failUnless(kCFNumberMaxType == 16)
+
+ self.failUnless(isinstance(kCFNumberPositiveInfinity, float))
+ self.failUnless(isinstance(kCFNumberNegativeInfinity, float))
+ self.failUnless(isinstance(kCFNumberNaN, float))
+
+
+
+
+
if __name__ == "__main__":
unittest.main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cftree.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cftree.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_cftree.py Thu Aug 21 06:56:55 2008
@@ -2,6 +2,9 @@
import unittest
class TestCFTree (unittest.TestCase):
+ def testDummy(self):
+ self.fail("CFTree tests are not yet complete")
+
def testCreation(self):
context = object()
tree = CFTreeCreate(None, context)
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsaffinetransform.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsaffinetransform.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsaffinetransform.py Thu Aug 21 06:56:55 2008
@@ -167,5 +167,18 @@
self.assertRaises(TypeError, operator.delslice, p, 0, 2)
+class TestAffineTransform (unittest.TestCase):
+ def testStructReturn (self):
+ transform = NSAffineTransform.transform()
+ s = transform.transformStruct()
+ self.failUnless(isinstance(s, NSAffineTransformStruct))
+
+ s = NSAffineTransformStruct(0, 1, 2, 3, 4, 5)
+ transform.setTransformStruct_(s)
+
+ t = transform.transformStruct()
+ self.failUnless(isinstance(t, NSAffineTransformStruct))
+ self.assertEquals(s, t)
+
if __name__ == "__main__":
unittest.main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsnumber.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsnumber.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsnumber.py Thu Aug 21 06:56:55 2008
@@ -31,6 +31,9 @@
class TestNSNumber( unittest.TestCase ):
+ def testFixme(self):
+ self.fail("need attention")
+
def testSimple(self):
self.assertEquals(NSNumber.numberWithFloat_(1.0), 1,0)
self.assertEquals(NSNumber.numberWithInt_(1), 1)
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsundomanager.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsundomanager.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsundomanager.py Thu Aug 21 06:56:55 2008
@@ -9,6 +9,9 @@
foo[0] += 1
class TestNSUndoManager(unittest.TestCase):
+ def testFail(self):
+ self.fail("Add tests that check undo calling methods with odd signatures")
+
def testUndoManager(self):
x = TestHelper.new()
m = NSUndoManager.new()
@@ -55,9 +58,6 @@
class TestSubclassingUndo(unittest.TestCase):
# Bugreport: 678759 Subclassing NSUndoManager fails
- pass
-
-if 0:
def testSubclass(self):
class UndoSubclass (NSUndoManager):
pass
@@ -71,5 +71,17 @@
self.assertEquals(l[0], 1)
+ def testConstants(self):
+ self.failUnless(isinstance(NSUndoManagerCheckpointNotification, unicode))
+ self.failUnless(isinstance(NSUndoManagerWillUndoChangeNotification, unicode))
+ self.failUnless(isinstance(NSUndoManagerWillRedoChangeNotification, unicode))
+
+ self.failUnless(isinstance(NSUndoManagerDidUndoChangeNotification, unicode))
+ self.failUnless(isinstance(NSUndoManagerDidRedoChangeNotification, unicode))
+
+ self.failUnless(isinstance(NSUndoManagerDidOpenUndoGroupNotification, unicode))
+ self.failUnless(isinstance(NSUndoManagerWillCloseUndoGroupNotification, unicode))
+
+
if __name__ == '__main__':
unittest.main( )
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsuserdefaults.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsuserdefaults.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsuserdefaults.py Thu Aug 21 06:56:55 2008
@@ -1,13 +1,52 @@
-import Foundation
+from Foundation import *
import unittest
class PythonListAsValue (unittest.TestCase):
def testSettingPythonList(self):
- defaults = Foundation.NSUserDefaults.standardUserDefaults()
+ defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject_forKey_([u'a', u'b', u'c'], u'randomKey')
self.assertEquals(defaults.arrayForKey_(u'randomKey'), [u'a', u'b', u'c'])
+
+ def testConstants(self):
+ self.failUnless(isinstance(NSGlobalDomain, unicode))
+ self.failUnless(isinstance(NSArgumentDomain, unicode))
+ self.failUnless(isinstance(NSRegistrationDomain, unicode))
+
+ self.failUnless(isinstance(NSUserDefaultsDidChangeNotification, unicode))
+
+ self.failUnless(isinstance(NSWeekDayNameArray, unicode))
+ self.failUnless(isinstance(NSShortWeekDayNameArray, unicode))
+ self.failUnless(isinstance(NSMonthNameArray, unicode))
+
+ self.failUnless(isinstance(NSShortMonthNameArray, unicode))
+ self.failUnless(isinstance(NSTimeFormatString, unicode))
+ self.failUnless(isinstance(NSDateFormatString, unicode))
+ self.failUnless(isinstance(NSTimeDateFormatString, unicode))
+ self.failUnless(isinstance(NSShortTimeDateFormatString, unicode))
+ self.failUnless(isinstance(NSCurrencySymbol, unicode))
+ self.failUnless(isinstance(NSDecimalSeparator, unicode))
+ self.failUnless(isinstance(NSThousandsSeparator, unicode))
+ self.failUnless(isinstance(NSDecimalDigits, unicode))
+ self.failUnless(isinstance(NSAMPMDesignation, unicode))
+ self.failUnless(isinstance(NSHourNameDesignations, unicode))
+ self.failUnless(isinstance(NSYearMonthWeekDesignations, unicode))
+ self.failUnless(isinstance(NSEarlierTimeDesignations, unicode))
+ self.failUnless(isinstance(NSLaterTimeDesignations, unicode))
+ self.failUnless(isinstance(NSThisDayDesignations, unicode))
+ self.failUnless(isinstance(NSNextDayDesignations, unicode))
+ self.failUnless(isinstance(NSNextNextDayDesignations, unicode))
+ self.failUnless(isinstance(NSPriorDayDesignations, unicode))
+ self.failUnless(isinstance(NSDateTimeOrdering, unicode))
+ self.failUnless(isinstance(NSInternationalCurrencyString, unicode))
+ self.failUnless(isinstance(NSShortDateFormatString, unicode))
+ self.failUnless(isinstance(NSPositiveCurrencyFormatString, unicode))
+ self.failUnless(isinstance(NSNegativeCurrencyFormatString, unicode))
+
+
+
+
if __name__ == "__main__":
unittest.main()
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsworkspace.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsworkspace.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nsworkspace.py Thu Aug 21 06:56:55 2008
@@ -19,5 +19,69 @@
self.assert_(res[1] == u'/System/Library/CoreServices/Finder.app')
self.assert_(res[2] == u'')
+ def testGetFileSystemInfo(self):
+ self.fail('- (BOOL)getFileSystemInfoForPath:(NSString *)fullPath isRemovable:(BOOL *)removableFlag isWritable:(BOOL *)writableFlag isUnmountable:(BOOL *)unmountableFlag description:(NSString **)description type:(NSString **)fileSystemType;')
+
+ def testPerformOperation(self):
+ self.fail('- (BOOL)performFileOperation:(NSString *)operation source:(NSString *)source destination:(NSString *)destination files:(NSArray *)files tag:(NSInteger *)tag;')
+
+ def testLaunchApp(self):
+ self.fail('- (BOOL)launchAppWithBundleIdentifier:(NSString *)bundleIdentifier options:(NSWorkspaceLaunchOptions)options additionalEventParamDescriptor:(NSAppleEventDescriptor *)descriptor launchIdentifier:(NSNumber **)identifier;')
+
+ def testOpenURLs(self):
+ self.fail('- (BOOL)openURLs:(NSArray *)urls withAppBundleIdentifier:(NSString *)bundleIdentifier options:(NSWorkspaceLaunchOptions)options additionalEventParamDescriptor:(NSAppleEventDescriptor *)descriptor launchIdentifiers:(NSArray **)identifiers;')
+
+ def testTypeOfFile(self):
+ self.fail('- (NSString *)typeOfFile:(NSString *)absoluteFilePath error:(NSError **)outError;')
+
+
+ def testConstants(self):
+ self.assertEquals(NSWorkspaceLaunchAndPrint, 0x00000002)
+ self.assertEquals(NSWorkspaceLaunchInhibitingBackgroundOnly, 0x00000080)
+ self.assertEquals(NSWorkspaceLaunchWithoutAddingToRecents, 0x00000100)
+ self.assertEquals(NSWorkspaceLaunchWithoutActivation, 0x00000200)
+ self.assertEquals(NSWorkspaceLaunchAsync, 0x00010000)
+ self.assertEquals(NSWorkspaceLaunchAllowingClassicStartup, 0x00020000)
+ self.assertEquals(NSWorkspaceLaunchPreferringClassic, 0x00040000)
+ self.assertEquals(NSWorkspaceLaunchNewInstance, 0x00080000)
+ self.assertEquals(NSWorkspaceLaunchAndHide, 0x00100000)
+ self.assertEquals(NSWorkspaceLaunchAndHideOthers, 0x00200000)
+ self.assertEquals(NSWorkspaceLaunchDefault, (
+ NSWorkspaceLaunchAsync | NSWorkspaceLaunchAllowingClassicStartup))
+
+ self.assertEquals(NSExcludeQuickDrawElementsIconCreationOption, 1 << 1)
+ self.assertEquals(NSExclude10_4ElementsIconCreationOption, 1 << 2)
+
+ self.failUnless(isinstance(NSWorkspaceDidLaunchApplicationNotification, unicode))
+ self.failUnless(isinstance(NSWorkspaceDidMountNotification, unicode))
+ self.failUnless(isinstance(NSWorkspaceDidPerformFileOperationNotification, unicode))
+ self.failUnless(isinstance(NSWorkspaceDidTerminateApplicationNotification, unicode))
+ self.failUnless(isinstance(NSWorkspaceDidUnmountNotification, unicode))
+ self.failUnless(isinstance(NSWorkspaceWillLaunchApplicationNotification, unicode))
+ self.failUnless(isinstance(NSWorkspaceWillPowerOffNotification, unicode))
+ self.failUnless(isinstance(NSWorkspaceWillUnmountNotification, unicode))
+ self.failUnless(isinstance(NSWorkspaceWillSleepNotification, unicode))
+ self.failUnless(isinstance(NSWorkspaceDidWakeNotification, unicode))
+ self.failUnless(isinstance(NSWorkspaceSessionDidBecomeActiveNotification, unicode))
+ self.failUnless(isinstance(NSWorkspaceSessionDidResignActiveNotification, unicode))
+ self.failUnless(isinstance(NSPlainFileType, unicode))
+ self.failUnless(isinstance(NSDirectoryFileType, unicode))
+ self.failUnless(isinstance(NSApplicationFileType, unicode))
+ self.failUnless(isinstance(NSFilesystemFileType, unicode))
+ self.failUnless(isinstance(NSShellCommandFileType, unicode))
+ self.failUnless(isinstance(NSWorkspaceMoveOperation, unicode))
+ self.failUnless(isinstance(NSWorkspaceCopyOperation, unicode))
+ self.failUnless(isinstance(NSWorkspaceLinkOperation, unicode))
+ self.failUnless(isinstance(NSWorkspaceCompressOperation, unicode))
+ self.failUnless(isinstance(NSWorkspaceDecompressOperation, unicode))
+ self.failUnless(isinstance(NSWorkspaceEncryptOperation, unicode))
+ self.failUnless(isinstance(NSWorkspaceDecryptOperation, unicode))
+ self.failUnless(isinstance(NSWorkspaceDestroyOperation, unicode))
+ self.failUnless(isinstance(NSWorkspaceRecycleOperation, unicode))
+ self.failUnless(isinstance(NSWorkspaceDuplicateOperation, unicode))
+
+
+
+
if __name__ == '__main__':
unittest.main( )
Modified: trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nszone.py
==============================================================================
--- trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nszone.py (original)
+++ trunk/pyobjc/pyobjc-framework-Cocoa/PyObjCTest/test_nszone.py Thu Aug 21 06:56:55 2008
@@ -1,6 +1,10 @@
import unittest, objc
from Foundation import *
+# HACK
+import Foundation
+NSZonePtr = getattr(Foundation, 'NSZone*')
+
class TestNSZone (unittest.TestCase):
def testWithZones(self):
obj = NSObject.allocWithZone_(None).init()
@@ -15,5 +19,60 @@
self.assertRaises(TypeError, NSObject.allocWithZone_, 10)
#self.assertRaises(TypeError, NSObject.allocWithZone_, objc.NULL)
+
+ def testNoMallocAndFriends(self):
+ import Foundation
+ self.failIf(hasattr(Foundation, 'NSZoneMalloc'))
+ self.failIf(hasattr(Foundation, 'NSZoneCalloc'))
+ self.failIf(hasattr(Foundation, 'NSZoneRealloc'))
+ self.failIf(hasattr(Foundation, 'NSZoneFree'))
+ self.failIf(hasattr(Foundation, 'NSZoneFromPointer'))
+ self.failIf(hasattr(Foundation, 'NSAllocateCollectable'))
+ self.failIf(hasattr(Foundation, 'NSReallocateCollectable'))
+ self.failIf(hasattr(Foundation, 'NSAllocateMemoryPages'))
+ self.failIf(hasattr(Foundation, 'NSDeallocateMemoryPages'))
+ self.failIf(hasattr(Foundation, 'NSCopyMemoryPages'))
+
+ def testConstants(self):
+ self.assertEquals(NSScannedOption, (1<<0))
+ self.assertEquals(NSCollectorDisabledOption, (1<<1))
+
+ def testMakeCollectable(self):
+ v = NSMakeCollectable
+
+ o = NSObject.alloc().init()
+ CFRetain(o)
+ v = NSMakeCollectable(o)
+ self.failUnless(v is o)
+
+ v = NSMakeCollectable(None)
+ self.failUnless(v is None)
+
+ def testInfoFunctions(self):
+ v = NSPageSize()
+ self.failUnless(isinstance(v, (int, long)))
+ v = NSLogPageSize()
+ self.failUnless(isinstance(v, (int, long)))
+ v = NSRoundUpToMultipleOfPageSize(500)
+ self.failUnless(isinstance(v, (int, long)))
+ v = NSRoundDownToMultipleOfPageSize(500)
+ self.failUnless(isinstance(v, (int, long)))
+ v = NSRealMemoryAvailable()
+ self.failUnless(isinstance(v, (int, long)))
+
+ def testZoneCreation(self):
+ z = NSDefaultMallocZone()
+ self.failUnless(z is None or isinstance(z, NSZonePtr))
+
+ z = NSCreateZone(5000, 100, True)
+ self.failUnless(isinstance(z, NSZonePtr))
+
+ NSSetZoneName(z, u"Hello World")
+ nm = NSZoneName(z)
+ self.assertEquals(nm, u"Hello World")
+
+ NSRecycleZone(z); z = None
+
+
if __name__ == "__main__":
unittest.main()
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/