json-simple/tags/1.1.1-1/src/test/java/org/json/simple/parser/YylexTest.java

Code
Comments
Other
Rev Date Author Line
50 26 Feb 19 nicklas 1 package org.json.simple.parser;
50 26 Feb 19 nicklas 2
50 26 Feb 19 nicklas 3 import java.io.IOException;
50 26 Feb 19 nicklas 4 import java.io.StringReader;
50 26 Feb 19 nicklas 5
50 26 Feb 19 nicklas 6 import junit.framework.TestCase;
50 26 Feb 19 nicklas 7
50 26 Feb 19 nicklas 8 public class YylexTest extends TestCase {
50 26 Feb 19 nicklas 9
50 26 Feb 19 nicklas 10   public void testYylex() throws Exception{
50 26 Feb 19 nicklas 11     String s="\"\\/\"";
50 26 Feb 19 nicklas 12     System.out.println(s);
50 26 Feb 19 nicklas 13     StringReader in = new StringReader(s);
50 26 Feb 19 nicklas 14     Yylex lexer=new Yylex(in);
50 26 Feb 19 nicklas 15     Yytoken token=lexer.yylex();
50 26 Feb 19 nicklas 16     assertEquals(Yytoken.TYPE_VALUE,token.type);
50 26 Feb 19 nicklas 17     assertEquals("/",token.value);
50 26 Feb 19 nicklas 18     
50 26 Feb 19 nicklas 19     s="\"abc\\/\\r\\b\\n\\t\\f\\\\\"";
50 26 Feb 19 nicklas 20     System.out.println(s);
50 26 Feb 19 nicklas 21     in = new StringReader(s);
50 26 Feb 19 nicklas 22     lexer=new Yylex(in);
50 26 Feb 19 nicklas 23     token=lexer.yylex();
50 26 Feb 19 nicklas 24     assertEquals(Yytoken.TYPE_VALUE,token.type);
50 26 Feb 19 nicklas 25     assertEquals("abc/\r\b\n\t\f\\",token.value);
50 26 Feb 19 nicklas 26     
50 26 Feb 19 nicklas 27     s="[\t \n\r\n{ \t \t\n\r}";
50 26 Feb 19 nicklas 28     System.out.println(s);
50 26 Feb 19 nicklas 29     in = new StringReader(s);
50 26 Feb 19 nicklas 30     lexer=new Yylex(in);
50 26 Feb 19 nicklas 31     token=lexer.yylex();
50 26 Feb 19 nicklas 32     assertEquals(Yytoken.TYPE_LEFT_SQUARE,token.type);
50 26 Feb 19 nicklas 33     token=lexer.yylex();
50 26 Feb 19 nicklas 34     assertEquals(Yytoken.TYPE_LEFT_BRACE,token.type);
50 26 Feb 19 nicklas 35     token=lexer.yylex();
50 26 Feb 19 nicklas 36     assertEquals(Yytoken.TYPE_RIGHT_BRACE,token.type);
50 26 Feb 19 nicklas 37     
50 26 Feb 19 nicklas 38     s="\b\f{";
50 26 Feb 19 nicklas 39     System.out.println(s);
50 26 Feb 19 nicklas 40     in = new StringReader(s);
50 26 Feb 19 nicklas 41     lexer=new Yylex(in);
50 26 Feb 19 nicklas 42     ParseException err=null;
50 26 Feb 19 nicklas 43     try{
50 26 Feb 19 nicklas 44       token=lexer.yylex();
50 26 Feb 19 nicklas 45     }
50 26 Feb 19 nicklas 46     catch(ParseException e){
50 26 Feb 19 nicklas 47       err=e;
50 26 Feb 19 nicklas 48       System.out.println("error:"+err);
50 26 Feb 19 nicklas 49       assertEquals(ParseException.ERROR_UNEXPECTED_CHAR, e.getErrorType());
50 26 Feb 19 nicklas 50       assertEquals(0,e.getPosition());
50 26 Feb 19 nicklas 51       assertEquals(new Character('\b'),e.getUnexpectedObject());
50 26 Feb 19 nicklas 52     }
50 26 Feb 19 nicklas 53     catch(IOException ie){
50 26 Feb 19 nicklas 54       throw ie;
50 26 Feb 19 nicklas 55     }
50 26 Feb 19 nicklas 56     assertTrue(err!=null);
50 26 Feb 19 nicklas 57     
50 26 Feb 19 nicklas 58     s="{a : b}";
50 26 Feb 19 nicklas 59     System.out.println(s);
50 26 Feb 19 nicklas 60     in = new StringReader(s);
50 26 Feb 19 nicklas 61     lexer=new Yylex(in);
50 26 Feb 19 nicklas 62     err=null;
50 26 Feb 19 nicklas 63     try{
50 26 Feb 19 nicklas 64       lexer.yylex();
50 26 Feb 19 nicklas 65       token=lexer.yylex();
50 26 Feb 19 nicklas 66     }
50 26 Feb 19 nicklas 67     catch(ParseException e){
50 26 Feb 19 nicklas 68       err=e;
50 26 Feb 19 nicklas 69       System.out.println("error:"+err);
50 26 Feb 19 nicklas 70       assertEquals(ParseException.ERROR_UNEXPECTED_CHAR, e.getErrorType());
50 26 Feb 19 nicklas 71       assertEquals(new Character('a'),e.getUnexpectedObject());
50 26 Feb 19 nicklas 72       assertEquals(1,e.getPosition());
50 26 Feb 19 nicklas 73     }
50 26 Feb 19 nicklas 74     catch(IOException ie){
50 26 Feb 19 nicklas 75       throw ie;
50 26 Feb 19 nicklas 76     }
50 26 Feb 19 nicklas 77     assertTrue(err!=null);
50 26 Feb 19 nicklas 78   }
50 26 Feb 19 nicklas 79
50 26 Feb 19 nicklas 80 }