]> gitweb.factorcode.org Git - factor.git/blob - extra/fjsc/fjsc-tests.factor
arm.64.factor: extra semicolon removed
[factor.git] / extra / fjsc / fjsc-tests.factor
1 ! Copyright (C) 2006 Chris Double. All Rights Reserved.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel tools.test peg fjsc ;
4
5 { T{ ast-expression f V{ T{ ast-number f 55 } T{ ast-identifier f "2abc1" } T{ ast-number f 100 } } } } [
6   "55 2abc1 100" expression-parser parse
7 ] unit-test
8
9 { T{ ast-quotation f V{ T{ ast-number f 55 } T{ ast-identifier f "2abc1" } T{ ast-number f 100 } } } } [
10   "[ 55 2abc1 100 ]" quotation-parser parse
11 ] unit-test
12
13 { T{ ast-array f V{ T{ ast-number f 55 } T{ ast-identifier f "2abc1" } T{ ast-number f 100 } } } } [
14   "{ 55 2abc1 100 }" array-parser parse
15 ] unit-test
16
17 { T{ ast-stack-effect f V{ } V{ "d" "e" "f" } } } [
18   "( -- d e f )" stack-effect-parser parse
19 ] unit-test
20
21 { T{ ast-stack-effect f V{ "a" "b" "c" } V{ "d" "e" "f" } } } [
22   "( a b c -- d e f )" stack-effect-parser parse
23 ] unit-test
24
25 { T{ ast-stack-effect f V{ "a" "b" "c" } V{ } } } [
26   "( a b c -- )" stack-effect-parser parse
27 ] unit-test
28
29 { T{ ast-stack-effect f V{ } V{ } } } [
30   "( -- )" stack-effect-parser parse
31 ] unit-test
32
33 { f } [
34   ": foo ( a b -- c d ) abcdefghijklmn 123 ;" expression-parser parse not
35 ] unit-test
36
37
38 { T{ ast-expression f V{ T{ ast-string f "abcd" } } } } [
39   "\"abcd\"" statement-parser parse
40 ] unit-test
41
42 { T{ ast-expression f V{ T{ ast-use f "foo" } } } } [
43   "USE: foo" statement-parser parse
44 ] unit-test
45
46 { T{ ast-expression f V{ T{ ast-in f "foo" } } } } [
47   "IN: foo" statement-parser parse
48 ] unit-test
49
50 { T{ ast-expression f V{ T{ ast-using f V{ "foo" "bar" }  } } } } [
51   "USING: foo bar ;" statement-parser parse
52 ] unit-test