144 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Factor
		
	
	
		
		
			
		
	
	
			144 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Factor
		
	
	
|  | USING: xmode.tokens xmode.catalog | ||
|  | xmode.marker tools.test kernel ;
 | ||
|  | IN: xmode.marker.tests | ||
|  | 
 | ||
|  | [ | ||
|  |     { | ||
|  |         T{ token f "int" KEYWORD3 } | ||
|  |         T{ token f " " f } | ||
|  |         T{ token f "x" f } | ||
|  |     } | ||
|  | ] [ f "int x" "c" load-mode tokenize-line nip ] unit-test | ||
|  | 
 | ||
|  | [ | ||
|  |     { | ||
|  |         T{ token f "\"" LITERAL1 } | ||
|  |         T{ token f "hello\\\"" LITERAL1 } | ||
|  |         T{ token f " " LITERAL1 } | ||
|  |         T{ token f "world" LITERAL1 } | ||
|  |         T{ token f "\"" LITERAL1 } | ||
|  |     } | ||
|  | ] [ f "\"hello\\\" world\"" "c" load-mode tokenize-line nip ] unit-test | ||
|  | 
 | ||
|  | [ | ||
|  |     { | ||
|  |         T{ token f "\"" LITERAL1 } | ||
|  |         T{ token f "hello\\\ world" LITERAL1 } | ||
|  |         T{ token f "\"" LITERAL1 } | ||
|  |     } | ||
|  | ] [ f "\"hello\\\ world\"" "c" load-mode tokenize-line nip ] unit-test | ||
|  | 
 | ||
|  | [ | ||
|  |     { | ||
|  |         T{ token f "int" KEYWORD3 } | ||
|  |         T{ token f " " f } | ||
|  |         T{ token f "x" f } | ||
|  |     } | ||
|  | ] [ f "int x" "java" load-mode tokenize-line nip ] unit-test | ||
|  | 
 | ||
|  | [ | ||
|  |     { | ||
|  |         T{ token f "//" COMMENT2 } | ||
|  |         T{ token f " " COMMENT2 } | ||
|  |         T{ token f "hello" COMMENT2 } | ||
|  |         T{ token f " " COMMENT2 } | ||
|  |         T{ token f "world" COMMENT2 } | ||
|  |     } | ||
|  | ] [ f "// hello world" "java" load-mode tokenize-line nip ] unit-test | ||
|  | 
 | ||
|  | 
 | ||
|  | [ | ||
|  |     { | ||
|  |         T{ token f "hello" f } | ||
|  |         T{ token f " " f } | ||
|  |         T{ token f "world" f } | ||
|  |         T{ token f ":" f } | ||
|  |     } | ||
|  | ] [ f "hello world:" "java" load-mode tokenize-line nip ] unit-test | ||
|  | 
 | ||
|  | [ | ||
|  |     { | ||
|  |         T{ token f "hello_world" LABEL } | ||
|  |         T{ token f ":" OPERATOR } | ||
|  |     } | ||
|  | ] [ f "hello_world:" "java" load-mode tokenize-line nip ] unit-test | ||
|  | 
 | ||
|  | [ | ||
|  |     { | ||
|  |         T{ token f "\t" f } | ||
|  |         T{ token f "hello_world" LABEL } | ||
|  |         T{ token f ":" OPERATOR } | ||
|  |     } | ||
|  | ] [ f "\thello_world:" "java" load-mode tokenize-line nip ] unit-test | ||
|  | 
 | ||
|  | [ | ||
|  |     { | ||
|  |         T{ token f "<!" KEYWORD2 } | ||
|  |         T{ token f "ELEMENT" KEYWORD2 } | ||
|  |         T{ token f " " KEYWORD2 } | ||
|  |         T{ token f "%" LITERAL2 } | ||
|  |         T{ token f "hello" LITERAL2 } | ||
|  |         T{ token f ";" LITERAL2 } | ||
|  |         T{ token f " " KEYWORD2 } | ||
|  |         T{ token f ">" KEYWORD2 } | ||
|  |     } | ||
|  | ] [ | ||
|  |      f "<!ELEMENT %hello; >" "xml" load-mode tokenize-line nip
 | ||
|  | ] unit-test | ||
|  | 
 | ||
|  | [ | ||
|  |     { | ||
|  |         T{ token f "<!" KEYWORD2 } | ||
|  |         T{ token f "ELEMENT" KEYWORD2 } | ||
|  |         T{ token f " " KEYWORD2 } | ||
|  |         T{ token f "%" LITERAL2 } | ||
|  |         T{ token f "hello-world" LITERAL2 } | ||
|  |         T{ token f ";" LITERAL2 } | ||
|  |         T{ token f " " KEYWORD2 } | ||
|  |         T{ token f ">" KEYWORD2 } | ||
|  |     } | ||
|  | ] [ | ||
|  |      f "<!ELEMENT %hello-world; >" "xml" load-mode tokenize-line nip
 | ||
|  | ] unit-test | ||
|  | 
 | ||
|  | [ | ||
|  |     { | ||
|  |         T{ token f "$" KEYWORD2 } | ||
|  |         T{ token f "FOO" KEYWORD2 } | ||
|  |     } | ||
|  | ] [ | ||
|  |     f "$FOO" "shellscript" load-mode tokenize-line nip
 | ||
|  | ] unit-test | ||
|  | 
 | ||
|  | [ | ||
|  |     { | ||
|  |         T{ token f "AND" KEYWORD1 } | ||
|  |     } | ||
|  | ] [ | ||
|  |     f "AND" "pascal" load-mode tokenize-line nip
 | ||
|  | ] unit-test | ||
|  | 
 | ||
|  | [ | ||
|  |     { | ||
|  |         T{ token f "Comment {" COMMENT1 } | ||
|  |         T{ token f "XXX" COMMENT1 } | ||
|  |         T{ token f "}" COMMENT1 } | ||
|  |     } | ||
|  | ] [ | ||
|  |     f "Comment {XXX}" "rebol" load-mode tokenize-line nip
 | ||
|  | ] unit-test | ||
|  | 
 | ||
|  | [ | ||
|  |      | ||
|  | ] [ | ||
|  |     f "font:75%/1.6em \"Lucida Grande\", \"Lucida Sans Unicode\", verdana, geneva, sans-serif;" "css" load-mode tokenize-line 2drop
 | ||
|  | ] unit-test | ||
|  | 
 | ||
|  | [ | ||
|  |     { | ||
|  |         T{ token f "<" MARKUP } | ||
|  |         T{ token f "aaa" MARKUP } | ||
|  |         T{ token f ">" MARKUP } | ||
|  |     } | ||
|  | ] [ f "<aaa>" "html" load-mode tokenize-line nip ] unit-test |