factor: fix unit tests.
parent
90984e4255
commit
391b01b661
|
@ -7,7 +7,7 @@ CONSTANT: will
|
||||||
IHS{
|
IHS{
|
||||||
$ the-real-slim-shady
|
$ the-real-slim-shady
|
||||||
"marshall mathers"
|
"marshall mathers"
|
||||||
}
|
} ;
|
||||||
|
|
||||||
: please-stand-up ( set obj -- ? )
|
: please-stand-up ( set obj -- ? )
|
||||||
swap in? ;
|
swap in? ;
|
||||||
|
|
|
@ -3,7 +3,7 @@ in: persistent.heaps.tests
|
||||||
|
|
||||||
CONSTANT: test-input
|
CONSTANT: test-input
|
||||||
{ { "hello" 3 } { "goodbye" 2 } { "whatever" 5 }
|
{ { "hello" 3 } { "goodbye" 2 } { "whatever" 5 }
|
||||||
{ "foo" 1 } { "bar" -1 } { "baz" -7 } { "bing" 0 } }
|
{ "foo" 1 } { "bar" -1 } { "baz" -7 } { "bing" 0 } } ;
|
||||||
|
|
||||||
{
|
{
|
||||||
{ { "baz" -7 } { "bar" -1 } { "bing" 0 } { "foo" 1 }
|
{ { "baz" -7 } { "bar" -1 } { "bing" 0 } { "foo" 1 }
|
||||||
|
|
|
@ -8,7 +8,7 @@ CONSTANT: will
|
||||||
IH{
|
IH{
|
||||||
{ $ the-real-slim-shady t }
|
{ $ the-real-slim-shady t }
|
||||||
{ "marshall mathers" f }
|
{ "marshall mathers" f }
|
||||||
}
|
} ;
|
||||||
|
|
||||||
: please-stand-up ( assoc key -- value )
|
: please-stand-up ( assoc key -- value )
|
||||||
of ;
|
of ;
|
||||||
|
|
|
@ -196,7 +196,7 @@ in: bootstrap.syntax
|
||||||
|
|
||||||
|
|
||||||
"ALIAS:" [
|
"ALIAS:" [
|
||||||
scan-new-word scan-word ";" expect define-alias
|
scan-new-escaped scan-escaped-word ";" expect define-alias
|
||||||
] define-core-syntax
|
] define-core-syntax
|
||||||
|
|
||||||
"CONSTANT:" [
|
"CONSTANT:" [
|
||||||
|
|
|
@ -5,7 +5,7 @@ ALIAS: foo + ;
|
||||||
{ } [ "in: words.alias.tests CONSTANT: foo 5" eval( -- ) ] unit-test
|
{ } [ "in: words.alias.tests CONSTANT: foo 5" eval( -- ) ] unit-test
|
||||||
{ ( -- value ) } [ \ foo stack-effect ] unit-test
|
{ ( -- value ) } [ \ foo stack-effect ] unit-test
|
||||||
|
|
||||||
ALIAS: MY-H{ H{ ;
|
ALIAS: \ MY-H{ \ H{ ;
|
||||||
{ H{ { 1 2 } } } [
|
{ H{ { 1 2 } } } [
|
||||||
"in: words.alias.tests MY-H{ { 1 2 } }" eval( -- x )
|
"in: words.alias.tests MY-H{ { 1 2 } }" eval( -- x )
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
|
@ -7,7 +7,7 @@ CONSTANT: test-extensions
|
||||||
"GL_ARB_vent_core_frogblast"
|
"GL_ARB_vent_core_frogblast"
|
||||||
"GL_EXT_resonance_cascade"
|
"GL_EXT_resonance_cascade"
|
||||||
"GL_EXT_slipgate"
|
"GL_EXT_slipgate"
|
||||||
}
|
} ;
|
||||||
|
|
||||||
{ t }
|
{ t }
|
||||||
[ "GL_ARB_vent_core_frogblast" test-extensions (has-extension?) ] unit-test
|
[ "GL_ARB_vent_core_frogblast" test-extensions (has-extension?) ] unit-test
|
||||||
|
|
|
@ -33,7 +33,7 @@ CONSTANT: cube-edges
|
||||||
T{ edge { face 5 } { vertex 0 } { opposite-edge 3 } { next-edge 22 } }
|
T{ edge { face 5 } { vertex 0 } { opposite-edge 3 } { next-edge 22 } }
|
||||||
T{ edge { face 5 } { vertex 2 } { opposite-edge 15 } { next-edge 23 } }
|
T{ edge { face 5 } { vertex 2 } { opposite-edge 15 } { next-edge 23 } }
|
||||||
T{ edge { face 5 } { vertex 6 } { opposite-edge 11 } { next-edge 20 } }
|
T{ edge { face 5 } { vertex 6 } { opposite-edge 11 } { next-edge 20 } }
|
||||||
}
|
} ;
|
||||||
|
|
||||||
: connect-cube-edges ( -- )
|
: connect-cube-edges ( -- )
|
||||||
cube-edges [
|
cube-edges [
|
||||||
|
|
|
@ -4,8 +4,8 @@ alien.data alien.fortran alien.fortran.private alien.strings
|
||||||
classes.struct arrays assocs byte-arrays combinators fry
|
classes.struct arrays assocs byte-arrays combinators fry
|
||||||
generalizations io.encodings.ascii kernel macros
|
generalizations io.encodings.ascii kernel macros
|
||||||
macros.expander namespaces sequences shuffle tools.test vocabs.parser ;
|
macros.expander namespaces sequences shuffle tools.test vocabs.parser ;
|
||||||
FROM: alien.syntax => pointer: ;
|
|
||||||
QUALIFIED-WITH: alien.c-types c ;
|
QUALIFIED-WITH: alien.c-types c ;
|
||||||
|
QUALIFIED-WITH: alien.syntax s ;
|
||||||
in: alien.fortran.tests
|
in: alien.fortran.tests
|
||||||
|
|
||||||
<< intel-unix-abi "(alien.fortran-tests)" (add-fortran-library) >>
|
<< intel-unix-abi "(alien.fortran-tests)" (add-fortran-library) >>
|
||||||
|
@ -101,16 +101,16 @@ intel-unix-abi fortran-abi [
|
||||||
|
|
||||||
! fortran-arg-type>c-type
|
! fortran-arg-type>c-type
|
||||||
|
|
||||||
[ pointer: c:int { } ]
|
[ s:pointer: c:int { } ]
|
||||||
[ "integer" fortran-arg-type>c-type ] unit-test
|
[ "integer" fortran-arg-type>c-type ] unit-test
|
||||||
|
|
||||||
[ pointer: { c:int 3 } { } ]
|
[ s:pointer: { c:int 3 } { } ]
|
||||||
[ "integer(3)" fortran-arg-type>c-type ] unit-test
|
[ "integer(3)" fortran-arg-type>c-type ] unit-test
|
||||||
|
|
||||||
[ pointer: { c:int 0 } { } ]
|
[ s:pointer: { c:int 0 } { } ]
|
||||||
[ "integer(*)" fortran-arg-type>c-type ] unit-test
|
[ "integer(*)" fortran-arg-type>c-type ] unit-test
|
||||||
|
|
||||||
[ pointer: fortran_test_record { } ]
|
[ s:pointer: fortran_test_record { } ]
|
||||||
[
|
[
|
||||||
[
|
[
|
||||||
"alien.fortran.tests" use-vocab
|
"alien.fortran.tests" use-vocab
|
||||||
|
@ -118,13 +118,13 @@ intel-unix-abi fortran-abi [
|
||||||
] with-manifest
|
] with-manifest
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
[ pointer: c:char { } ]
|
[ s:pointer: c:char { } ]
|
||||||
[ "character" fortran-arg-type>c-type ] unit-test
|
[ "character" fortran-arg-type>c-type ] unit-test
|
||||||
|
|
||||||
[ pointer: c:char { } ]
|
[ s:pointer: c:char { } ]
|
||||||
[ "character(1)" fortran-arg-type>c-type ] unit-test
|
[ "character(1)" fortran-arg-type>c-type ] unit-test
|
||||||
|
|
||||||
[ pointer: { c:char 17 } { long } ]
|
[ s:pointer: { c:char 17 } { long } ]
|
||||||
[ "character(17)" fortran-arg-type>c-type ] unit-test
|
[ "character(17)" fortran-arg-type>c-type ] unit-test
|
||||||
|
|
||||||
! fortran-ret-type>c-type
|
! fortran-ret-type>c-type
|
||||||
|
@ -132,7 +132,7 @@ intel-unix-abi fortran-abi [
|
||||||
[ c:char { } ]
|
[ c:char { } ]
|
||||||
[ "character(1)" fortran-ret-type>c-type ] unit-test
|
[ "character(1)" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
[ c:void { pointer: { c:char 17 } long } ]
|
[ c:void { s:pointer: { c:char 17 } long } ]
|
||||||
[ "character(17)" fortran-ret-type>c-type ] unit-test
|
[ "character(17)" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
[ c:int { } ]
|
[ c:int { } ]
|
||||||
|
@ -144,22 +144,22 @@ intel-unix-abi fortran-abi [
|
||||||
[ c:float { } ]
|
[ c:float { } ]
|
||||||
[ "real" fortran-ret-type>c-type ] unit-test
|
[ "real" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
[ c:void { pointer: { c:float 0 } } ]
|
[ c:void { s:pointer: { c:float 0 } } ]
|
||||||
[ "real(*)" fortran-ret-type>c-type ] unit-test
|
[ "real(*)" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
[ c:double { } ]
|
[ c:double { } ]
|
||||||
[ "double-precision" fortran-ret-type>c-type ] unit-test
|
[ "double-precision" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
[ c:void { pointer: complex-float } ]
|
[ c:void { s:pointer: complex-float } ]
|
||||||
[ "complex" fortran-ret-type>c-type ] unit-test
|
[ "complex" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
[ c:void { pointer: complex-double } ]
|
[ c:void { s:pointer: complex-double } ]
|
||||||
[ "double-complex" fortran-ret-type>c-type ] unit-test
|
[ "double-complex" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
[ c:void { pointer: { c:int 0 } } ]
|
[ c:void { s:pointer: { c:int 0 } } ]
|
||||||
[ "integer(*)" fortran-ret-type>c-type ] unit-test
|
[ "integer(*)" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
[ c:void { pointer: fortran_test_record } ]
|
[ c:void { s:pointer: fortran_test_record } ]
|
||||||
[
|
[
|
||||||
[
|
[
|
||||||
"alien.fortran.tests" use-vocab
|
"alien.fortran.tests" use-vocab
|
||||||
|
@ -169,19 +169,19 @@ intel-unix-abi fortran-abi [
|
||||||
|
|
||||||
! fortran-sig>c-sig
|
! fortran-sig>c-sig
|
||||||
|
|
||||||
[ c:float { pointer: c:int pointer: { c:char 17 } pointer: c:float pointer: c:double c:long } ]
|
[ c:float { s:pointer: c:int s:pointer: { c:char 17 } s:pointer: c:float s:pointer: c:double c:long } ]
|
||||||
[ "real" { "integer" "character*17" "real" "real*8" } fortran-sig>c-sig ]
|
[ "real" { "integer" "character*17" "real" "real*8" } fortran-sig>c-sig ]
|
||||||
unit-test
|
unit-test
|
||||||
|
|
||||||
[ c:char { pointer: { c:char 17 } pointer: c:char pointer: c:int c:long } ]
|
[ c:char { s:pointer: { c:char 17 } s:pointer: c:char s:pointer: c:int c:long } ]
|
||||||
[ "character(1)" { "character*17" "character" "integer" } fortran-sig>c-sig ]
|
[ "character(1)" { "character*17" "character" "integer" } fortran-sig>c-sig ]
|
||||||
unit-test
|
unit-test
|
||||||
|
|
||||||
[ c:void { pointer: { c:char 18 } c:long pointer: { c:char 17 } pointer: c:char pointer: c:int c:long } ]
|
[ c:void { s:pointer: { c:char 18 } c:long s:pointer: { c:char 17 } s:pointer: c:char s:pointer: c:int c:long } ]
|
||||||
[ "character*18" { "character*17" "character" "integer" } fortran-sig>c-sig ]
|
[ "character*18" { "character*17" "character" "integer" } fortran-sig>c-sig ]
|
||||||
unit-test
|
unit-test
|
||||||
|
|
||||||
[ c:void { pointer: complex-float pointer: { c:char 17 } pointer: c:char pointer: c:int c:long } ]
|
[ c:void { s:pointer: complex-float s:pointer: { c:char 17 } s:pointer: c:char s:pointer: c:int c:long } ]
|
||||||
[ "complex" { "character*17" "character" "integer" } fortran-sig>c-sig ]
|
[ "complex" { "character*17" "character" "integer" } fortran-sig>c-sig ]
|
||||||
unit-test
|
unit-test
|
||||||
|
|
||||||
|
@ -202,7 +202,7 @@ intel-unix-abi fortran-abi [
|
||||||
! [fortran-invoke]
|
! [fortran-invoke]
|
||||||
[
|
[
|
||||||
c:void "funpack" "funtimes_"
|
c:void "funpack" "funtimes_"
|
||||||
{ pointer: { c:char 12 } pointer: c:longlong pointer: c:float pointer: complex-float pointer: c:short c:long }
|
{ s:pointer: { c:char 12 } s:pointer: c:longlong s:pointer: c:float s:pointer: complex-float s:pointer: c:short c:long }
|
||||||
alien-invoke
|
alien-invoke
|
||||||
] 6 nkeep
|
] 6 nkeep
|
||||||
! [fortran-results>]
|
! [fortran-results>]
|
||||||
|
@ -227,7 +227,7 @@ intel-unix-abi fortran-abi [
|
||||||
[ { [ drop ] } spread ]
|
[ { [ drop ] } spread ]
|
||||||
} 1 ncleave
|
} 1 ncleave
|
||||||
! [fortran-invoke]
|
! [fortran-invoke]
|
||||||
[ c:float "funpack" "fun_times_" { pointer: { c:float 0 } } alien-invoke ]
|
[ c:float "funpack" "fun_times_" { s:pointer: { c:float 0 } } alien-invoke ]
|
||||||
1 nkeep
|
1 nkeep
|
||||||
! [fortran-results>]
|
! [fortran-results>]
|
||||||
shuffle( reta aa -- reta aa )
|
shuffle( reta aa -- reta aa )
|
||||||
|
@ -245,7 +245,7 @@ intel-unix-abi fortran-abi [
|
||||||
! [fortran-invoke]
|
! [fortran-invoke]
|
||||||
[
|
[
|
||||||
c:void "funpack" "fun_times_"
|
c:void "funpack" "fun_times_"
|
||||||
{ pointer: complex-float pointer: { c:float 0 } }
|
{ s:pointer: complex-float s:pointer: { c:float 0 } }
|
||||||
alien-invoke
|
alien-invoke
|
||||||
] 2 nkeep
|
] 2 nkeep
|
||||||
! [fortran-results>]
|
! [fortran-results>]
|
||||||
|
@ -262,7 +262,7 @@ intel-unix-abi fortran-abi [
|
||||||
! [fortran-invoke]
|
! [fortran-invoke]
|
||||||
[
|
[
|
||||||
c:void "funpack" "fun_times_"
|
c:void "funpack" "fun_times_"
|
||||||
{ pointer: { c:char 20 } long }
|
{ s:pointer: { c:char 20 } long }
|
||||||
alien-invoke
|
alien-invoke
|
||||||
] 2 nkeep
|
] 2 nkeep
|
||||||
! [fortran-results>]
|
! [fortran-results>]
|
||||||
|
@ -288,7 +288,7 @@ intel-unix-abi fortran-abi [
|
||||||
! [fortran-invoke]
|
! [fortran-invoke]
|
||||||
[
|
[
|
||||||
c:void "funpack" "fun_times_"
|
c:void "funpack" "fun_times_"
|
||||||
{ pointer: { c:char 10 } long pointer: { c:char 20 } pointer: c:float pointer: { c:char 30 } c:long c:long }
|
{ s:pointer: { c:char 10 } long s:pointer: { c:char 20 } s:pointer: c:float s:pointer: { c:char 30 } c:long c:long }
|
||||||
alien-invoke
|
alien-invoke
|
||||||
] 7 nkeep
|
] 7 nkeep
|
||||||
! [fortran-results>]
|
! [fortran-results>]
|
||||||
|
@ -322,16 +322,16 @@ f2c-abi fortran-abi [
|
||||||
[ { c:char 1 } ]
|
[ { c:char 1 } ]
|
||||||
[ "character(1)" fortran-type>c-type ] unit-test
|
[ "character(1)" fortran-type>c-type ] unit-test
|
||||||
|
|
||||||
[ pointer: c:char { c:long } ]
|
[ s:pointer: c:char { c:long } ]
|
||||||
[ "character" fortran-arg-type>c-type ] unit-test
|
[ "character" fortran-arg-type>c-type ] unit-test
|
||||||
|
|
||||||
[ c:void { pointer: c:char c:long } ]
|
[ c:void { s:pointer: c:char c:long } ]
|
||||||
[ "character" fortran-ret-type>c-type ] unit-test
|
[ "character" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
[ c:double { } ]
|
[ c:double { } ]
|
||||||
[ "real" fortran-ret-type>c-type ] unit-test
|
[ "real" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
[ c:void { pointer: { c:float 0 } } ]
|
[ c:void { s:pointer: { c:float 0 } } ]
|
||||||
[ "real(*)" fortran-ret-type>c-type ] unit-test
|
[ "real(*)" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
[ "fun_" ] [ "FUN" fortran-name>symbol-name ] unit-test
|
[ "fun_" ] [ "FUN" fortran-name>symbol-name ] unit-test
|
||||||
|
@ -345,7 +345,7 @@ gfortran-abi fortran-abi [
|
||||||
[ c:float { } ]
|
[ c:float { } ]
|
||||||
[ "real" fortran-ret-type>c-type ] unit-test
|
[ "real" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
[ c:void { pointer: { c:float 0 } } ]
|
[ c:void { s:pointer: { c:float 0 } } ]
|
||||||
[ "real(*)" fortran-ret-type>c-type ] unit-test
|
[ "real(*)" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
[ complex-float { } ]
|
[ complex-float { } ]
|
||||||
|
@ -357,10 +357,10 @@ gfortran-abi fortran-abi [
|
||||||
[ { char 1 } ]
|
[ { char 1 } ]
|
||||||
[ "character(1)" fortran-type>c-type ] unit-test
|
[ "character(1)" fortran-type>c-type ] unit-test
|
||||||
|
|
||||||
[ pointer: c:char { c:long } ]
|
[ s:pointer: c:char { c:long } ]
|
||||||
[ "character" fortran-arg-type>c-type ] unit-test
|
[ "character" fortran-arg-type>c-type ] unit-test
|
||||||
|
|
||||||
[ c:void { pointer: c:char c:long } ]
|
[ c:void { s:pointer: c:char c:long } ]
|
||||||
[ "character" fortran-ret-type>c-type ] unit-test
|
[ "character" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
[ complex-float { } ]
|
[ complex-float { } ]
|
||||||
|
@ -369,7 +369,7 @@ gfortran-abi fortran-abi [
|
||||||
[ complex-double { } ]
|
[ complex-double { } ]
|
||||||
[ "double-complex" fortran-ret-type>c-type ] unit-test
|
[ "double-complex" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
[ c:void { pointer: { complex-double 3 } } ]
|
[ c:void { s:pointer: { complex-double 3 } } ]
|
||||||
[ "double-complex(3)" fortran-ret-type>c-type ] unit-test
|
[ "double-complex(3)" fortran-ret-type>c-type ] unit-test
|
||||||
|
|
||||||
] with-variable
|
] with-variable
|
||||||
|
|
|
@ -12,7 +12,7 @@ STRUCT: foo
|
||||||
{ w ushort } ;
|
{ w ushort } ;
|
||||||
|
|
||||||
specialized-array: foo
|
specialized-array: foo
|
||||||
VECTORED-STRUCT: foo
|
vectored-struct: foo
|
||||||
|
|
||||||
{
|
{
|
||||||
T{ vectored-foo
|
T{ vectored-foo
|
||||||
|
|
|
@ -113,5 +113,5 @@ M: T-array struct-transpose
|
||||||
|
|
||||||
FUNCTOR;
|
FUNCTOR;
|
||||||
|
|
||||||
SYNTAX: \ VECTORED-STRUCT:
|
SYNTAX: \ vectored-struct:
|
||||||
scan-word define-vectored-struct ;
|
scan-word define-vectored-struct ;
|
||||||
|
|
|
@ -85,12 +85,12 @@ in: compiler.cfg.intrinsics.simd.tests
|
||||||
] make-classes ; inline
|
] make-classes ; inline
|
||||||
|
|
||||||
CONSTANT: signed-reps
|
CONSTANT: signed-reps
|
||||||
{ char-16-rep short-8-rep int-4-rep longlong-2-rep float-4-rep double-2-rep }
|
{ char-16-rep short-8-rep int-4-rep longlong-2-rep float-4-rep double-2-rep } ;
|
||||||
CONSTANT: all-reps
|
CONSTANT: all-reps
|
||||||
{
|
{
|
||||||
char-16-rep short-8-rep int-4-rep longlong-2-rep float-4-rep double-2-rep
|
char-16-rep short-8-rep int-4-rep longlong-2-rep float-4-rep double-2-rep
|
||||||
uchar-16-rep ushort-8-rep uint-4-rep ulonglong-2-rep
|
uchar-16-rep ushort-8-rep uint-4-rep ulonglong-2-rep
|
||||||
}
|
} ;
|
||||||
|
|
||||||
TUPLE: scalar-cpu ;
|
TUPLE: scalar-cpu ;
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ TUPLE: a-monster < monster ;
|
||||||
TUPLE: b-monster < monster ;
|
TUPLE: b-monster < monster ;
|
||||||
|
|
||||||
<<
|
<<
|
||||||
SLOT-CONSTRUCTOR: a-monster
|
slot-constructor: a-monster
|
||||||
>>
|
>>
|
||||||
|
|
||||||
: <a-monster> ( name hp max-hp -- obj )
|
: <a-monster> ( name hp max-hp -- obj )
|
||||||
|
|
|
@ -59,6 +59,6 @@ SYNTAX: \ CONSTRUCTOR:
|
||||||
: scan-full-input-effect ( -- effect )
|
: scan-full-input-effect ( -- effect )
|
||||||
"(" expect scan-rest-input-effect ;
|
"(" expect scan-rest-input-effect ;
|
||||||
|
|
||||||
SYNTAX: \ SLOT-CONSTRUCTOR:
|
SYNTAX: \ slot-constructor:
|
||||||
scan-new-word [ name>> "(" append create-reset ] keep
|
scan-new-word [ name>> "(" append create-reset ] keep
|
||||||
'[ scan-rest-input-effect in>> _ '[ _ _ slots>boa ] append! ] define-syntax ;
|
'[ scan-rest-input-effect in>> _ '[ _ _ slots>boa ] append! ] define-syntax ;
|
||||||
|
|
|
@ -60,7 +60,7 @@ cpu x86.64? [
|
||||||
|
|
||||||
! %clear
|
! %clear
|
||||||
{ t } [
|
{ t } [
|
||||||
[ D: 0 %clear ] B{ } make
|
[ d: 0 %clear ] B{ } make
|
||||||
cpu x86.32? B{ 199 6 144 18 0 0 } B{ 73 199 6 144 18 0 0 } ? =
|
cpu x86.32? B{ 199 6 144 18 0 0 } B{ 73 199 6 144 18 0 0 } ? =
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
|
@ -96,6 +96,6 @@ cpu x86.64? [
|
||||||
B{ 73 199 6 0 0 0 0 }
|
B{ 73 199 6 0 0 0 0 }
|
||||||
}
|
}
|
||||||
[
|
[
|
||||||
init-relocation [ 34.0 D: 0 %replace-imm ] B{ } make
|
init-relocation [ 34.0 d: 0 %replace-imm ] B{ } make
|
||||||
] unit-test
|
] unit-test
|
||||||
] when
|
] when
|
||||||
|
|
|
@ -7,16 +7,16 @@ in: io.encodings.iso2022
|
||||||
{ "hello" } [ "hello" >byte-array iso2022 decode ] unit-test
|
{ "hello" } [ "hello" >byte-array iso2022 decode ] unit-test
|
||||||
{ "hello" } [ "hello" iso2022 encode >string ] unit-test
|
{ "hello" } [ "hello" iso2022 encode >string ] unit-test
|
||||||
|
|
||||||
{ "hi" } [ B{ char: h $ ESC char: ( char: B char: i } iso2022 decode ] unit-test
|
{ "hi" } [ B{ char: h $ ESC char: \( char: B char: i } iso2022 decode ] unit-test
|
||||||
{ "hi" } [ B{ char: h char: i $ ESC char: ( char: B } iso2022 decode ] unit-test
|
{ "hi" } [ B{ char: h char: i $ ESC char: \( char: B } iso2022 decode ] unit-test
|
||||||
{ "hi\u00fffd" } [ B{ char: h char: i $ ESC char: ( } iso2022 decode ] unit-test
|
{ "hi\u00fffd" } [ B{ char: h char: i $ ESC char: \( } iso2022 decode ] unit-test
|
||||||
{ "hi\u00fffd" } [ B{ char: h char: i $ ESC } iso2022 decode ] unit-test
|
{ "hi\u00fffd" } [ B{ char: h char: i $ ESC } iso2022 decode ] unit-test
|
||||||
|
|
||||||
{ B{ char: h $ ESC char: ( char: J 0xD8 } } [ "h\u00ff98" iso2022 encode ] unit-test
|
{ B{ char: h $ ESC char: \( char: J 0xD8 } } [ "h\u00ff98" iso2022 encode ] unit-test
|
||||||
{ "h\u00ff98" } [ B{ char: h $ ESC char: ( char: J 0xD8 } iso2022 decode ] unit-test
|
{ "h\u00ff98" } [ B{ char: h $ ESC char: \( char: J 0xD8 } iso2022 decode ] unit-test
|
||||||
{ "hi" } [ B{ char: h $ ESC char: ( char: J char: i } iso2022 decode ] unit-test
|
{ "hi" } [ B{ char: h $ ESC char: \( char: J char: i } iso2022 decode ] unit-test
|
||||||
{ "h" } [ B{ char: h $ ESC char: ( char: J } iso2022 decode ] unit-test
|
{ "h" } [ B{ char: h $ ESC char: \( char: J } iso2022 decode ] unit-test
|
||||||
{ "h\u00fffd" } [ B{ char: h $ ESC char: ( char: J 0x80 } iso2022 decode ] unit-test
|
{ "h\u00fffd" } [ B{ char: h $ ESC char: \( char: J 0x80 } iso2022 decode ] unit-test
|
||||||
|
|
||||||
{ B{ char: h $ ESC char: $ char: B 0x3E 0x47 } } [ "h\u007126" iso2022 encode ] unit-test
|
{ B{ char: h $ ESC char: $ char: B 0x3E 0x47 } } [ "h\u007126" iso2022 encode ] unit-test
|
||||||
{ "h\u007126" } [ B{ char: h $ ESC char: $ char: B 0x3E 0x47 } iso2022 decode ] unit-test
|
{ "h\u007126" } [ B{ char: h $ ESC char: $ char: B 0x3E 0x47 } iso2022 decode ] unit-test
|
||||||
|
@ -26,11 +26,11 @@ in: io.encodings.iso2022
|
||||||
{ "h\u00fffd" } [ B{ char: h $ ESC } iso2022 decode ] unit-test
|
{ "h\u00fffd" } [ B{ char: h $ ESC } iso2022 decode ] unit-test
|
||||||
{ "h\u00fffd" } [ B{ char: h $ ESC char: $ char: B 0x80 0x80 } iso2022 decode ] unit-test
|
{ "h\u00fffd" } [ B{ char: h $ ESC char: $ char: B 0x80 0x80 } iso2022 decode ] unit-test
|
||||||
|
|
||||||
{ B{ char: h $ ESC char: $ char: ( char: D 0x38 0x54 } } [ "h\u0058ce" iso2022 encode ] unit-test
|
{ B{ char: h $ ESC char: $ char: \( char: D 0x38 0x54 } } [ "h\u0058ce" iso2022 encode ] unit-test
|
||||||
{ "h\u0058ce" } [ B{ char: h $ ESC char: $ char: ( char: D 0x38 0x54 } iso2022 decode ] unit-test
|
{ "h\u0058ce" } [ B{ char: h $ ESC char: $ char: \( char: D 0x38 0x54 } iso2022 decode ] unit-test
|
||||||
{ "h\u00fffd" } [ B{ char: h $ ESC char: $ char: ( char: D 0x38 } iso2022 decode ] unit-test
|
{ "h\u00fffd" } [ B{ char: h $ ESC char: $ char: \( char: D 0x38 } iso2022 decode ] unit-test
|
||||||
{ "h" } [ B{ char: h $ ESC char: $ char: ( char: D } iso2022 decode ] unit-test
|
{ "h" } [ B{ char: h $ ESC char: $ char: \( char: D } iso2022 decode ] unit-test
|
||||||
{ "h\u00fffd" } [ B{ char: h $ ESC char: $ char: ( } iso2022 decode ] unit-test
|
{ "h\u00fffd" } [ B{ char: h $ ESC char: $ char: \( } iso2022 decode ] unit-test
|
||||||
{ "h\u00fffd" } [ B{ char: h $ ESC char: $ char: ( char: D 0x70 0x70 } iso2022 decode ] unit-test
|
{ "h\u00fffd" } [ B{ char: h $ ESC char: $ char: \( char: D 0x70 0x70 } iso2022 decode ] unit-test
|
||||||
|
|
||||||
[ "\u{syriac-music}" iso2022 encode ] must-fail
|
[ "\u{syriac-music}" iso2022 encode ] must-fail
|
||||||
|
|
|
@ -81,7 +81,8 @@ SYNTAX: MULTILINE-LITERAL: parse-here suffix! ;
|
||||||
CONSTANT: foo { MULTILINE-LITERAL:
|
CONSTANT: foo { MULTILINE-LITERAL:
|
||||||
bar
|
bar
|
||||||
;
|
;
|
||||||
} foo
|
} ;
|
||||||
|
foo
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
! Make sure parse-here fails if extra crap appears on the first line
|
! Make sure parse-here fails if extra crap appears on the first line
|
||||||
|
@ -89,6 +90,6 @@ bar
|
||||||
"CONSTANT: foo { MULTILINE-LITERAL: asdfasfdasdfas
|
"CONSTANT: foo { MULTILINE-LITERAL: asdfasfdasdfas
|
||||||
bar
|
bar
|
||||||
;
|
;
|
||||||
}" eval
|
} ;" eval
|
||||||
] must-fail
|
] must-fail
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
! Copyright (C) 2006 Chris Double.
|
! Copyright (C) 2006 Chris Double.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
!
|
|
||||||
USING: tools.test kernel serialize io io.streams.byte-array
|
USING: tools.test kernel serialize io io.streams.byte-array
|
||||||
alien arrays byte-arrays bit-arrays specialized-arrays
|
alien arrays byte-arrays bit-arrays specialized-arrays
|
||||||
sequences math prettyprint parser classes math.constants
|
sequences math prettyprint parser classes math.constants
|
||||||
|
@ -63,7 +62,7 @@ CONSTANT: objects
|
||||||
<< 1 [ 2 ] curry suffix! >>
|
<< 1 [ 2 ] curry suffix! >>
|
||||||
{ { "a" "bc" } { "de" "fg" } }
|
{ { "a" "bc" } { "de" "fg" } }
|
||||||
H{ { "a" "bc" } { "de" "fg" } }
|
H{ { "a" "bc" } { "de" "fg" } }
|
||||||
}
|
} ;
|
||||||
|
|
||||||
: check-serialize-1 ( obj -- ? )
|
: check-serialize-1 ( obj -- ? )
|
||||||
"=====" print
|
"=====" print
|
||||||
|
|
|
@ -5,7 +5,7 @@ in: tuple-arrays.tests
|
||||||
symbol: mat
|
symbol: mat
|
||||||
TUPLE: foo bar ; final
|
TUPLE: foo bar ; final
|
||||||
C: <foo> foo ;
|
C: <foo> foo ;
|
||||||
TUPLE-ARRAY: foo
|
tuple-array: foo
|
||||||
|
|
||||||
{ 2 } [ 2 <foo-array> dup mat set length ] unit-test
|
{ 2 } [ 2 <foo-array> dup mat set length ] unit-test
|
||||||
{ T{ foo } } [ mat get first ] unit-test
|
{ T{ foo } } [ mat get first ] unit-test
|
||||||
|
@ -19,7 +19,7 @@ TUPLE-ARRAY: foo
|
||||||
{ T{ foo f 1 } } [ T{ foo f 1 } 0 mat get [ set-nth ] keep first ] unit-test
|
{ T{ foo f 1 } } [ T{ foo f 1 } 0 mat get [ set-nth ] keep first ] unit-test
|
||||||
|
|
||||||
TUPLE: baz { bing integer } bong ; final
|
TUPLE: baz { bing integer } bong ; final
|
||||||
TUPLE-ARRAY: baz
|
tuple-array: baz
|
||||||
|
|
||||||
{ 0 } [ 1 <baz-array> first bing>> ] unit-test
|
{ 0 } [ 1 <baz-array> first bing>> ] unit-test
|
||||||
{ f } [ 1 <baz-array> first bong>> ] unit-test
|
{ f } [ 1 <baz-array> first bong>> ] unit-test
|
||||||
|
@ -27,7 +27,7 @@ TUPLE-ARRAY: baz
|
||||||
TUPLE: broken x ; final
|
TUPLE: broken x ; final
|
||||||
: broken ( -- ) ;
|
: broken ( -- ) ;
|
||||||
|
|
||||||
TUPLE-ARRAY: broken
|
tuple-array: broken
|
||||||
|
|
||||||
{ 100 } [ 100 <broken-array> length ] unit-test
|
{ 100 } [ 100 <broken-array> length ] unit-test
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ must-fail-with
|
||||||
! Empty tuple
|
! Empty tuple
|
||||||
TUPLE: empty-tuple ; final
|
TUPLE: empty-tuple ; final
|
||||||
|
|
||||||
TUPLE-ARRAY: empty-tuple
|
tuple-array: empty-tuple
|
||||||
|
|
||||||
{ 100 } [ 100 <empty-tuple-array> length ] unit-test
|
{ 100 } [ 100 <empty-tuple-array> length ] unit-test
|
||||||
{ T{ empty-tuple } } [ 100 <empty-tuple-array> first ] unit-test
|
{ T{ empty-tuple } } [ 100 <empty-tuple-array> first ] unit-test
|
||||||
|
@ -56,7 +56,7 @@ TUPLE-ARRAY: empty-tuple
|
||||||
! of crashing Factor
|
! of crashing Factor
|
||||||
TUPLE: tuple-to-struct x ; final
|
TUPLE: tuple-to-struct x ; final
|
||||||
|
|
||||||
TUPLE-ARRAY: tuple-to-struct
|
tuple-array: tuple-to-struct
|
||||||
|
|
||||||
{ f } [ tuple-to-struct struct-class? ] unit-test
|
{ f } [ tuple-to-struct struct-class? ] unit-test
|
||||||
|
|
||||||
|
|
|
@ -73,4 +73,4 @@ INSTANCE: CLASS-array sequence ;
|
||||||
|
|
||||||
FUNCTOR;
|
FUNCTOR;
|
||||||
|
|
||||||
SYNTAX: \ TUPLE-ARRAY: scan-word define-tuple-array ;
|
SYNTAX: \ tuple-array: scan-word define-tuple-array ;
|
||||||
|
|
|
@ -51,32 +51,32 @@ in: c.lexer.tests
|
||||||
{ f }
|
{ f }
|
||||||
[
|
[
|
||||||
"\"abc\" asdf" <sequence-parser>
|
"\"abc\" asdf" <sequence-parser>
|
||||||
[ char: \ char: " take-quoted-string drop ] [ "asdf" take-sequence ] bi
|
[ char: \ char: \" take-quoted-string drop ] [ "asdf" take-sequence ] bi
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ "abc\\\"def" }
|
{ "abc\\\"def" }
|
||||||
[
|
[
|
||||||
"\"abc\\\"def\" asdf" <sequence-parser>
|
"\"abc\\\"def\" asdf" <sequence-parser>
|
||||||
char: \ char: " take-quoted-string
|
char: \ char: \" take-quoted-string
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ "asdf" }
|
{ "asdf" }
|
||||||
[
|
[
|
||||||
"\"abc\" asdf" <sequence-parser>
|
"\"abc\" asdf" <sequence-parser>
|
||||||
[ char: \ char: " take-quoted-string drop ]
|
[ char: \ char: \" take-quoted-string drop ]
|
||||||
[ skip-whitespace "asdf" take-sequence ] bi
|
[ skip-whitespace "asdf" take-sequence ] bi
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ f }
|
{ f }
|
||||||
[
|
[
|
||||||
"\"abc asdf" <sequence-parser>
|
"\"abc asdf" <sequence-parser>
|
||||||
char: \ char: " take-quoted-string
|
char: \ char: \" take-quoted-string
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ "\"abc" }
|
{ "\"abc" }
|
||||||
[
|
[
|
||||||
"\"abc asdf" <sequence-parser>
|
"\"abc asdf" <sequence-parser>
|
||||||
[ char: \ char: " take-quoted-string drop ]
|
[ char: \ char: \" take-quoted-string drop ]
|
||||||
[ "\"abc" take-sequence ] bi
|
[ "\"abc" take-sequence ] bi
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ in: c.lexer.tests
|
||||||
[ "" <sequence-parser> take-token ] unit-test
|
[ "" <sequence-parser> take-token ] unit-test
|
||||||
|
|
||||||
{ "abcd e \\\"f g" }
|
{ "abcd e \\\"f g" }
|
||||||
[ "\"abcd e \\\"f g\"" <sequence-parser> char: \ char: " take-token* ] unit-test
|
[ "\"abcd e \\\"f g\"" <sequence-parser> char: \ char: \" take-token* ] unit-test
|
||||||
|
|
||||||
{ "123" }
|
{ "123" }
|
||||||
[ "123jjj" <sequence-parser> take-c-integer ] unit-test
|
[ "123jjj" <sequence-parser> take-c-integer ] unit-test
|
||||||
|
|
|
@ -18,7 +18,7 @@ f 7 8 6 5
|
||||||
f 3 4 8 7
|
f 3 4 8 7
|
||||||
f 2 6 8 4
|
f 2 6 8 4
|
||||||
f 5 1 3 7
|
f 5 1 3 7
|
||||||
"
|
" ;
|
||||||
|
|
||||||
CONSTANT: valid-cube-obj-relative-indices
|
CONSTANT: valid-cube-obj-relative-indices
|
||||||
"v -1.0 -1.0 -1.0
|
"v -1.0 -1.0 -1.0
|
||||||
|
@ -35,7 +35,7 @@ f 7 8 6 5
|
||||||
f 3 4 8 7
|
f 3 4 8 7
|
||||||
f 2 6 8 4
|
f 2 6 8 4
|
||||||
f 5 1 3 7
|
f 5 1 3 7
|
||||||
"
|
" ;
|
||||||
|
|
||||||
CONSTANT: valid-cube-obj-texcoords
|
CONSTANT: valid-cube-obj-texcoords
|
||||||
"# comment should be ignored
|
"# comment should be ignored
|
||||||
|
@ -57,7 +57,7 @@ f 7/3 8/4 6/2 5/1
|
||||||
f 3/3 4/4 8/4 7/3
|
f 3/3 4/4 8/4 7/3
|
||||||
f 2/2 6/2 8/4 4/4
|
f 2/2 6/2 8/4 4/4
|
||||||
f 5/1 1/1 3/3 7/3
|
f 5/1 1/1 3/3 7/3
|
||||||
"
|
" ;
|
||||||
|
|
||||||
{ $ valid-cube-obj } [ [ valid-cube-b-rep write-obj ] with-string-writer ] unit-test
|
{ $ valid-cube-obj } [ [ valid-cube-b-rep write-obj ] with-string-writer ] unit-test
|
||||||
|
|
||||||
|
|
|
@ -5,17 +5,17 @@ in: infix.tokenizer.tests
|
||||||
|
|
||||||
{ V{ T{ ast-number f 1 } } } [ "1" tokenize-infix ] unit-test
|
{ V{ T{ ast-number f 1 } } } [ "1" tokenize-infix ] unit-test
|
||||||
{ V{ T{ ast-number f 1.02 } char: * T{ ast-number f 3 } } } [ "1.02*3" tokenize-infix ] unit-test
|
{ V{ T{ ast-number f 1.02 } char: * T{ ast-number f 3 } } } [ "1.02*3" tokenize-infix ] unit-test
|
||||||
{ V{ T{ ast-number f 3 } char: / char: ( T{ ast-number f 3 } char: + T{ ast-number f 4 } char: ) } }
|
{ V{ T{ ast-number f 3 } char: / char: \( T{ ast-number f 3 } char: + T{ ast-number f 4 } char: ) } }
|
||||||
[ "3/(3+4)" tokenize-infix ] unit-test
|
[ "3/(3+4)" tokenize-infix ] unit-test
|
||||||
{ V{ "foo" char: ( "x" char: , "y" char: , "z" char: ) } } [ "foo(x,y,z)" tokenize-infix ] unit-test
|
{ V{ "foo" char: \( "x" char: , "y" char: , "z" char: ) } } [ "foo(x,y,z)" tokenize-infix ] unit-test
|
||||||
{ V{ "arr" char: [ "x" char: + T{ ast-number f 3 } char: ] } }
|
{ V{ "arr" char: \[ "x" char: + T{ ast-number f 3 } char: ] } }
|
||||||
[ "arr[x+3]" tokenize-infix ] unit-test
|
[ "arr[x+3]" tokenize-infix ] unit-test
|
||||||
[ "1.0.4" tokenize-infix ] must-fail
|
[ "1.0.4" tokenize-infix ] must-fail
|
||||||
{ V{ char: + char: ] T{ ast-number f 3.4 } char: , "bar" } }
|
{ V{ char: + char: ] T{ ast-number f 3.4 } char: , "bar" } }
|
||||||
[ "+]3.4,bar" tokenize-infix ] unit-test
|
[ "+]3.4,bar" tokenize-infix ] unit-test
|
||||||
{ V{ "baz_34c" } } [ "baz_34c" tokenize-infix ] unit-test
|
{ V{ "baz_34c" } } [ "baz_34c" tokenize-infix ] unit-test
|
||||||
{ V{ T{ ast-number f 34 } "c_baz" } } [ "34c_baz" tokenize-infix ] unit-test
|
{ V{ T{ ast-number f 34 } "c_baz" } } [ "34c_baz" tokenize-infix ] unit-test
|
||||||
{ V{ char: ( T{ ast-number f 1 } char: + T{ ast-number f 2 } char: ) } }
|
{ V{ char: \( T{ ast-number f 1 } char: + T{ ast-number f 2 } char: ) } }
|
||||||
[ "(1+2)" tokenize-infix ] unit-test
|
[ "(1+2)" tokenize-infix ] unit-test
|
||||||
{ V{ T{ ast-number f 1 } char: + T{ ast-number f 2 } char: / T{ ast-number f 3 } } }
|
{ V{ T{ ast-number f 1 } char: + T{ ast-number f 2 } char: / T{ ast-number f 3 } } }
|
||||||
[ "1\n+\r2\t/ 3" tokenize-infix ] unit-test
|
[ "1\n+\r2\t/ 3" tokenize-infix ] unit-test
|
||||||
|
|
|
@ -2,39 +2,39 @@ USING: tools.test math.rectangles prettyprint io.streams.string
|
||||||
kernel accessors ;
|
kernel accessors ;
|
||||||
in: math.rectangles.tests
|
in: math.rectangles.tests
|
||||||
|
|
||||||
{ RECT: { 10 10 } { 20 20 } }
|
{ RECT: { 10 10 } { 20 20 } ; }
|
||||||
[
|
[
|
||||||
RECT: { 10 10 } { 50 50 }
|
RECT: { 10 10 } { 50 50 } ;
|
||||||
RECT: { -10 -10 } { 40 40 }
|
RECT: { -10 -10 } { 40 40 } ;
|
||||||
rect-intersect
|
rect-intersect
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ RECT: { 200 200 } { 0 0 } }
|
{ RECT: { 200 200 } { 0 0 } ; }
|
||||||
[
|
[
|
||||||
RECT: { 100 100 } { 50 50 }
|
RECT: { 100 100 } { 50 50 } ;
|
||||||
RECT: { 200 200 } { 40 40 }
|
RECT: { 200 200 } { 40 40 } ;
|
||||||
rect-intersect
|
rect-intersect
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ f } [
|
{ f } [
|
||||||
RECT: { 100 100 } { 50 50 }
|
RECT: { 100 100 } { 50 50 } ;
|
||||||
RECT: { 200 200 } { 40 40 }
|
RECT: { 200 200 } { 40 40 } ;
|
||||||
contains-rect?
|
contains-rect?
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ t } [
|
{ t } [
|
||||||
RECT: { 100 100 } { 50 50 }
|
RECT: { 100 100 } { 50 50 } ;
|
||||||
RECT: { 120 120 } { 40 40 }
|
RECT: { 120 120 } { 40 40 } ;
|
||||||
contains-rect?
|
contains-rect?
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ f } [
|
{ f } [
|
||||||
RECT: { 1000 100 } { 50 50 }
|
RECT: { 1000 100 } { 50 50 } ;
|
||||||
RECT: { 120 120 } { 40 40 }
|
RECT: { 120 120 } { 40 40 } ;
|
||||||
contains-rect?
|
contains-rect?
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
{ RECT: { 10 20 } { 20 20 } } [
|
{ RECT: { 10 20 } { 20 20 } ; } [
|
||||||
{
|
{
|
||||||
{ 20 20 }
|
{ 20 20 }
|
||||||
{ 10 40 }
|
{ 10 40 }
|
||||||
|
@ -43,4 +43,4 @@ in: math.rectangles.tests
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
! Prettyprint for RECT: didn't do nesting check properly
|
! Prettyprint for RECT: didn't do nesting check properly
|
||||||
{ } [ [ RECT: f f dup >>dim . ] with-string-writer drop ] unit-test
|
{ } [ [ RECT: f f ; dup >>dim . ] with-string-writer drop ] unit-test
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
! Copyright (C) 2008, 2009 Slava Pestov.
|
! Copyright (C) 2008, 2009 Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: kernel arrays sequences math math.vectors accessors
|
USING: kernel arrays sequences math math.vectors accessors
|
||||||
parser ;
|
parser lexer ;
|
||||||
in: math.rectangles
|
in: math.rectangles
|
||||||
|
|
||||||
TUPLE: rect { loc initial: { 0 0 } } { dim initial: { 0 0 } } ;
|
TUPLE: rect { loc initial: { 0 0 } } { dim initial: { 0 0 } } ;
|
||||||
|
|
||||||
: <rect> ( loc dim -- rect ) rect boa ; inline
|
: <rect> ( loc dim -- rect ) rect boa ; inline
|
||||||
|
|
||||||
SYNTAX: \ RECT: scan-object scan-object <rect> suffix! ;
|
SYNTAX: \ RECT: scan-object scan-object ";" expect <rect> suffix! ;
|
||||||
|
|
||||||
: <zero-rect> ( -- rect ) rect new ; inline
|
: <zero-rect> ( -- rect ) rect new ; inline
|
||||||
|
|
||||||
|
|
|
@ -2,14 +2,14 @@ USING: kernel tools.test ;
|
||||||
in: uu
|
in: uu
|
||||||
|
|
||||||
CONSTANT: plain
|
CONSTANT: plain
|
||||||
"The smooth-scaled python crept over the sleeping dog"
|
"The smooth-scaled python crept over the sleeping dog" ;
|
||||||
|
|
||||||
CONSTANT: encoded
|
CONSTANT: encoded
|
||||||
"begin
|
"begin
|
||||||
M5&AE('-M;V]T:\"US8V%L960@<'ET:&]N(&-R97!T(&]V97(@=&AE('-L965P
|
M5&AE('-M;V]T:\"US8V%L960@<'ET:&]N(&-R97!T(&]V97(@=&AE('-L965P
|
||||||
':6YG(&1O9P
|
':6YG(&1O9P
|
||||||
end
|
end
|
||||||
"
|
" ;
|
||||||
|
|
||||||
{ t } [ plain string>uu encoded = ] unit-test
|
{ t } [ plain string>uu encoded = ] unit-test
|
||||||
{ t } [ encoded uu>string plain = ] unit-test
|
{ t } [ encoded uu>string plain = ] unit-test
|
||||||
|
|
Loading…
Reference in New Issue