2009-02-11 14:56:09 -05:00
|
|
|
! Copyright (C) 2009 Philipp Brüschweiler
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2009-02-07 19:03:35 -05:00
|
|
|
USING: infix.ast infix.tokenizer tools.test ;
|
|
|
|
IN: infix.tokenizer.tests
|
|
|
|
|
2017-03-16 19:14:51 -04:00
|
|
|
{ V{ T{ ast-value f 1 } } } [ "1" tokenize-infix ] unit-test
|
|
|
|
{ V{ T{ ast-value f 1.02 } CHAR: * T{ ast-value f 3 } } } [ "1.02*3" tokenize-infix ] unit-test
|
|
|
|
{ V{ T{ ast-value f 3 } CHAR: / CHAR: ( T{ ast-value f 3 } CHAR: + T{ ast-value f 4 } CHAR: ) } }
|
2009-02-07 19:03:35 -05:00
|
|
|
[ "3/(3+4)" tokenize-infix ] unit-test
|
2015-07-03 12:39:59 -04:00
|
|
|
{ V{ "foo" CHAR: ( "x" CHAR: , "y" CHAR: , "z" CHAR: ) } } [ "foo(x,y,z)" tokenize-infix ] unit-test
|
2017-08-26 02:46:04 -04:00
|
|
|
{ V{ "arr" CHAR: \[ "x" CHAR: + T{ ast-value f 3 } CHAR: ] } }
|
2009-02-07 19:03:35 -05:00
|
|
|
[ "arr[x+3]" tokenize-infix ] unit-test
|
|
|
|
[ "1.0.4" tokenize-infix ] must-fail
|
2017-03-16 19:14:51 -04:00
|
|
|
{ V{ CHAR: + CHAR: ] T{ ast-value f 3.4 } CHAR: , "bar" } }
|
2009-02-07 19:03:35 -05:00
|
|
|
[ "+]3.4,bar" tokenize-infix ] unit-test
|
2015-07-03 12:39:59 -04:00
|
|
|
{ V{ "baz_34c" } } [ "baz_34c" tokenize-infix ] unit-test
|
2017-03-16 19:14:51 -04:00
|
|
|
{ V{ T{ ast-value f 34 } "c_baz" } } [ "34c_baz" tokenize-infix ] unit-test
|
|
|
|
{ V{ CHAR: ( T{ ast-value f 1 } CHAR: + T{ ast-value f 2 } CHAR: ) } }
|
2009-02-07 19:03:35 -05:00
|
|
|
[ "(1+2)" tokenize-infix ] unit-test
|
2017-03-16 19:14:51 -04:00
|
|
|
{ V{ T{ ast-value f 1 } CHAR: + T{ ast-value f 2 } CHAR: / T{ ast-value f 3 } } }
|
2009-02-07 19:03:35 -05:00
|
|
|
[ "1\n+\r2\t/ 3" tokenize-infix ] unit-test
|