]> gitweb.factorcode.org Git - factor.git/blob - basis/xmode/marker/marker-tests.factor
Fix permission bits
[factor.git] / basis / xmode / marker / marker-tests.factor
1 USING: xmode.tokens xmode.catalog
2 xmode.marker tools.test kernel ;
3 IN: xmode.marker.tests
4
5 [
6     {
7         T{ token f "int" KEYWORD3 }
8         T{ token f " " f }
9         T{ token f "x" f }
10     }
11 ] [ f "int x" "c" load-mode tokenize-line nip ] unit-test
12
13 [
14     {
15         T{ token f "\"" LITERAL1 }
16         T{ token f "hello\\\"" LITERAL1 }
17         T{ token f " " LITERAL1 }
18         T{ token f "world" LITERAL1 }
19         T{ token f "\"" LITERAL1 }
20     }
21 ] [ f "\"hello\\\" world\"" "c" load-mode tokenize-line nip ] unit-test
22
23 [
24     {
25         T{ token f "\"" LITERAL1 }
26         T{ token f "hello\\\ world" LITERAL1 }
27         T{ token f "\"" LITERAL1 }
28     }
29 ] [ f "\"hello\\\ world\"" "c" load-mode tokenize-line nip ] unit-test
30
31 [
32     {
33         T{ token f "int" KEYWORD3 }
34         T{ token f " " f }
35         T{ token f "x" f }
36     }
37 ] [ f "int x" "java" load-mode tokenize-line nip ] unit-test
38
39 [
40     {
41         T{ token f "//" COMMENT2 }
42         T{ token f " " COMMENT2 }
43         T{ token f "hello" COMMENT2 }
44         T{ token f " " COMMENT2 }
45         T{ token f "world" COMMENT2 }
46     }
47 ] [ f "// hello world" "java" load-mode tokenize-line nip ] unit-test
48
49
50 [
51     {
52         T{ token f "hello" f }
53         T{ token f " " f }
54         T{ token f "world" f }
55         T{ token f ":" f }
56     }
57 ] [ f "hello world:" "java" load-mode tokenize-line nip ] unit-test
58
59 [
60     {
61         T{ token f "hello_world" LABEL }
62         T{ token f ":" OPERATOR }
63     }
64 ] [ f "hello_world:" "java" load-mode tokenize-line nip ] unit-test
65
66 [
67     {
68         T{ token f "\t" f }
69         T{ token f "hello_world" LABEL }
70         T{ token f ":" OPERATOR }
71     }
72 ] [ f "\thello_world:" "java" load-mode tokenize-line nip ] unit-test
73
74 [
75     {
76         T{ token f "<!" KEYWORD2 }
77         T{ token f "ELEMENT" KEYWORD2 }
78         T{ token f " " KEYWORD2 }
79         T{ token f "%" LITERAL2 }
80         T{ token f "hello" LITERAL2 }
81         T{ token f ";" LITERAL2 }
82         T{ token f " " KEYWORD2 }
83         T{ token f ">" KEYWORD2 }
84     }
85 ] [
86      f "<!ELEMENT %hello; >" "xml" load-mode tokenize-line nip
87 ] unit-test
88
89 [
90     {
91         T{ token f "<!" KEYWORD2 }
92         T{ token f "ELEMENT" KEYWORD2 }
93         T{ token f " " KEYWORD2 }
94         T{ token f "%" LITERAL2 }
95         T{ token f "hello-world" LITERAL2 }
96         T{ token f ";" LITERAL2 }
97         T{ token f " " KEYWORD2 }
98         T{ token f ">" KEYWORD2 }
99     }
100 ] [
101      f "<!ELEMENT %hello-world; >" "xml" load-mode tokenize-line nip
102 ] unit-test
103
104 [
105     {
106         T{ token f "$" KEYWORD2 }
107         T{ token f "FOO" KEYWORD2 }
108     }
109 ] [
110     f "$FOO" "shellscript" load-mode tokenize-line nip
111 ] unit-test
112
113 [
114     {
115         T{ token f "AND" KEYWORD1 }
116     }
117 ] [
118     f "AND" "pascal" load-mode tokenize-line nip
119 ] unit-test
120
121 [
122     {
123         T{ token f "Comment {" COMMENT1 }
124         T{ token f "XXX" COMMENT1 }
125         T{ token f "}" COMMENT1 }
126     }
127 ] [
128     f "Comment {XXX}" "rebol" load-mode tokenize-line nip
129 ] unit-test
130
131 [
132     
133 ] [
134     f "font:75%/1.6em \"Lucida Grande\", \"Lucida Sans Unicode\", verdana, geneva, sans-serif;" "css" load-mode tokenize-line 2drop
135 ] unit-test
136
137 [
138     {
139         T{ token f "<" MARKUP }
140         T{ token f "aaa" MARKUP }
141         T{ token f ">" MARKUP }
142     }
143 ] [ f "<aaa>" "html" load-mode tokenize-line nip ] unit-test