factor: fix unit tests.

locals-and-roots
Doug Coleman 2016-06-07 09:37:38 -07:00
parent 90984e4255
commit 391b01b661
25 changed files with 100 additions and 100 deletions

View File

@ -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? ;

View File

@ -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 }

View File

@ -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 ;

View File

@ -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:" [

View File

@ -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

View File

@ -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

View File

@ -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 [

View File

@ -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

View File

@ -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

View File

@ -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 ;

View File

@ -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 ;

View File

@ -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 )

View File

@ -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 ;

View File

@ -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

View File

@ -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

View File

@ -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
*/ */

View File

@ -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

View File

@ -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

View File

@ -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 ;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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