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