-USING: cocoa cocoa.messages cocoa.subclassing cocoa.types
-compiler.test kernel namespaces cocoa.classes cocoa.runtime
-tools.test memory compiler.units math core-graphics.types ;
-FROM: alien.c-types => int void ;
+USING: alien.c-types cocoa cocoa.classes cocoa.subclassing
+cocoa.types compiler.test core-graphics.types kernel math memory
+namespaces tools.test ;
IN: cocoa.tests
-CLASS: {
- { +superclass+ "NSObject" }
- { +name+ "Foo" }
-}
-
-METHOD: void foo: NSRect rect [
- gc rect "x" set
-] ;
+<CLASS: Foo < NSObject
+ METHOD: void foo: NSRect rect [
+ gc rect "x" set
+ ] ;
+;CLASS>
: test-foo ( -- )
Foo -> alloc -> init
dup 1.0 2.0 101.0 102.0 <CGRect> -> foo:
-> release ;
-test-foo
-
-[ 1.0 ] [ "x" get CGRect-x ] unit-test
-[ 2.0 ] [ "x" get CGRect-y ] unit-test
-[ 101.0 ] [ "x" get CGRect-w ] unit-test
-[ 102.0 ] [ "x" get CGRect-h ] unit-test
+{ } [ test-foo ] unit-test
-CLASS: {
- { +superclass+ "NSObject" }
- { +name+ "Bar" }
-}
+{ 1.0 } [ "x" get CGRect-x ] unit-test
+{ 2.0 } [ "x" get CGRect-y ] unit-test
+{ 101.0 } [ "x" get CGRect-w ] unit-test
+{ 102.0 } [ "x" get CGRect-h ] unit-test
-METHOD: NSRect bar [ test-foo "x" get ] ;
+<CLASS: Bar < NSObject
+ METHOD: NSRect bar [ test-foo "x" get ] ;
+;CLASS>
-Bar [
- -> alloc -> init
- dup -> bar "x" set
- -> release
-] compile-call
+{ } [
+ Bar [
+ -> alloc -> init
+ dup -> bar "x" set
+ -> release
+ ] compile-call
+] unit-test
-[ 1.0 ] [ "x" get CGRect-x ] unit-test
-[ 2.0 ] [ "x" get CGRect-y ] unit-test
-[ 101.0 ] [ "x" get CGRect-w ] unit-test
-[ 102.0 ] [ "x" get CGRect-h ] unit-test
+{ 1.0 } [ "x" get CGRect-x ] unit-test
+{ 2.0 } [ "x" get CGRect-y ] unit-test
+{ 101.0 } [ "x" get CGRect-w ] unit-test
+{ 102.0 } [ "x" get CGRect-h ] unit-test
! Make sure that we can add methods
-CLASS: {
- { +superclass+ "NSObject" }
- { +name+ "Bar" }
-}
-
-METHOD: NSRect bar [ test-foo "x" get ]
+<CLASS: Bar < NSObject
+ METHOD: NSRect bar [ test-foo "x" get ] ;
-METHOD: int babb: int x [ x sq ] ;
+ METHOD: int babb: int x [ x sq ] ;
+;CLASS>
-[ 144 ] [
+{ 144 } [
Bar [
-> alloc -> init
dup 12 -> babb: