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
|