56 lines
1.2 KiB
Factor
56 lines
1.2 KiB
Factor
USING: alien.c-types cocoa cocoa.messages cocoa.subclassing
|
|
cocoa.types compiler.test kernel namespaces cocoa.classes
|
|
cocoa.runtime tools.test memory compiler.units math
|
|
core-graphics.types ;
|
|
IN: cocoa.tests
|
|
|
|
CLASS: Foo < NSObject
|
|
METHOD: void foo: NSRect rect [
|
|
gc rect "x" set
|
|
] ;
|
|
;
|
|
|
|
: test-foo ( -- )
|
|
Foo -> alloc -> init
|
|
dup 1.0 2.0 101.0 102.0 <CGRect> -> foo:
|
|
-> release ;
|
|
|
|
{ } [ test-foo ] 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
|
|
|
|
CLASS: Bar < NSObject
|
|
METHOD: NSRect bar [ test-foo "x" get ] ;
|
|
;
|
|
|
|
{ } [
|
|
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
|
|
|
|
! Make sure that we can add methods
|
|
CLASS: Bar < NSObject
|
|
METHOD: NSRect bar [ test-foo "x" get ] ;
|
|
|
|
METHOD: int babb: int x [ x sq ] ;
|
|
;
|
|
|
|
{ 144 } [
|
|
Bar [
|
|
-> alloc -> init
|
|
dup 12 -> babb:
|
|
swap -> release
|
|
] compile-call
|
|
] unit-test
|