1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package org.json.simple.parser;
- import java.io.IOException;
- import java.io.StringReader;
- import junit.framework.TestCase;
- public class YylexTest extends TestCase {
- public void testYylex() throws Exception{
- String s="\"\\/\"";
- System.out.println(s);
- StringReader in = new StringReader(s);
- Yylex lexer=new Yylex(in);
- Yytoken token=lexer.yylex();
- assertEquals(Yytoken.TYPE_VALUE,token.type);
- assertEquals("/",token.value);
-
- s="\"abc\\/\\r\\b\\n\\t\\f\\\\\"";
- System.out.println(s);
- in = new StringReader(s);
- lexer=new Yylex(in);
- token=lexer.yylex();
- assertEquals(Yytoken.TYPE_VALUE,token.type);
- assertEquals("abc/\r\b\n\t\f\\",token.value);
-
- s="[\t \n\r\n{ \t \t\n\r}";
- System.out.println(s);
- in = new StringReader(s);
- lexer=new Yylex(in);
- token=lexer.yylex();
- assertEquals(Yytoken.TYPE_LEFT_SQUARE,token.type);
- token=lexer.yylex();
- assertEquals(Yytoken.TYPE_LEFT_BRACE,token.type);
- token=lexer.yylex();
- assertEquals(Yytoken.TYPE_RIGHT_BRACE,token.type);
-
- s="\b\f{";
- System.out.println(s);
- in = new StringReader(s);
- lexer=new Yylex(in);
- ParseException err=null;
- try{
- token=lexer.yylex();
- }
- catch(ParseException e){
- err=e;
- System.out.println("error:"+err);
- assertEquals(ParseException.ERROR_UNEXPECTED_CHAR, e.getErrorType());
- assertEquals(0,e.getPosition());
- assertEquals(new Character('\b'),e.getUnexpectedObject());
- }
- catch(IOException ie){
- throw ie;
- }
- assertTrue(err!=null);
-
- s="{a : b}";
- System.out.println(s);
- in = new StringReader(s);
- lexer=new Yylex(in);
- err=null;
- try{
- lexer.yylex();
- token=lexer.yylex();
- }
- catch(ParseException e){
- err=e;
- System.out.println("error:"+err);
- assertEquals(ParseException.ERROR_UNEXPECTED_CHAR, e.getErrorType());
- assertEquals(new Character('a'),e.getUnexpectedObject());
- assertEquals(1,e.getPosition());
- }
- catch(IOException ie){
- throw ie;
- }
- assertTrue(err!=null);
- }
- }
|