From: Wolfgang T. <wth...@us...> - 2006-03-17 05:32:07
|
Update of /cvsroot/hoc/hoc/Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24465/Tests Modified Files: TestFoundation.hs Log Message: Support arbitrary unicode for NSString <-> String conversions Index: TestFoundation.hs =================================================================== RCS file: /cvsroot/hoc/hoc/Tests/TestFoundation.hs,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- TestFoundation.hs 5 Oct 2005 02:23:19 -0000 1.7 +++ TestFoundation.hs 17 Mar 2006 05:32:04 -0000 1.8 @@ -134,7 +134,28 @@ actual_ns <- _NSString # alloc >>= initWithContentsOfFile (toNSString "TestFoundation.hs") fromNSString actual_ns @?= expected - ) + ), + "Unicode" ~: + let zhongwen = "\x4E2D\x6587" -- "Chinese" in Chinese + fermata = "\x1D110" -- Fermata (Musical Symbol) + in test [ + "nsString-haskellString" ~: (assertNoLeaks $ do + actual <- nsString zhongwen >>= haskellString + actual @?= zhongwen + ), + "length" ~: (assertNoLeaks $ do + actual <- nsString zhongwen >>= Foundation.length + actual @?= 2 + ), + "nsString-haskellString-fermata" ~: (assertNoLeaks $ do + actual <- nsString fermata >>= haskellString + actual @?= fermata + ), + "length-fermata" ~: (assertNoLeaks $ do + actual <- nsString fermata >>= Foundation.length + actual @?= 2 -- yes, 2. NSString uses UTF-16. + ) + ] ], "HaskellObjectWithOutlet" ~: test [ "alloc-init" ~: (assertNoLeaks $ do @@ -203,6 +224,11 @@ fromNSString str @?= "<HaskellObjectWithDescription: TEST>" ), "structs" ~: test [ + "pointArg" ~: (do + let point = NSPoint 6.42 7.42 + result <- _NSValue # valueWithPoint point + return () + ), "point" ~: (do let point = NSPoint 6.42 7.42 result <- _NSValue # valueWithPoint point >>= pointValue |