/******************************************************************************* * Copyright (c) 2010, 2014 EclipseSource and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * EclipseSource - initial API and implementation ******************************************************************************/ package com.yahoo.platform.yui.compressor; import static org.junit.Assert.*; import org.eclipse.rap.clientbuilder.TestUtil; import org.eclipse.rap.clientbuilder.TokenList; import org.junit.Test; import org.mozilla.javascript.ErrorReporter; import org.mozilla.javascript.Token; public class Parser_Test { static final ErrorReporter REPORTER = new TestErrorReporter(); @Test public void testParseNumber() throws Exception { TokenList result = TestUtil.parse( "23.0" ); assertEquals( 2, result.size() ); assertEquals( Token.NUMBER, result.getToken( 0 ).getType() ); assertEquals( Token.SEMI, result.getToken( 1 ).getType() ); } @Test public void testParseVar() throws Exception { TokenList tokens = TestUtil.parse( "var x = 12;" ); assertEquals( 5, tokens.size() ); assertEquals( Token.VAR, tokens.getToken( 0 ).getType() ); assertEquals( Token.NAME, tokens.getToken( 1 ).getType() ); assertEquals( Token.ASSIGN, tokens.getToken( 2 ).getType() ); assertEquals( Token.NUMBER, tokens.getToken( 3 ).getType() ); assertEquals( Token.SEMI, tokens.getToken( 4 ).getType() ); } @Test public void testParseAssignment() throws Exception { TokenList tokens = TestUtil.parse( "a = 1;" ); assertEquals( 4, tokens.size() ); assertEquals( Token.NAME, tokens.getToken( 0 ).getType() ); assertEquals( Token.ASSIGN, tokens.getToken( 1 ).getType() ); assertEquals( Token.NUMBER, tokens.getToken( 2 ).getType() ); assertEquals( Token.SEMI, tokens.getToken( 3 ).getType() ); } @Test public void testParseArrayAccess() throws Exception { TokenList tokens = TestUtil.parse( "a = $[23];" ); assertEquals( 7, tokens.size() ); assertEquals( Token.NAME, tokens.getToken( 0 ).getType() ); assertEquals( Token.ASSIGN, tokens.getToken( 1 ).getType() ); assertEquals( Token.NAME, tokens.getToken( 2 ).getType() ); assertEquals( Token.LB, tokens.getToken( 3 ).getType() ); assertEquals( Token.NUMBER, tokens.getToken( 4 ).getType() ); assertEquals( Token.RB, tokens.getToken( 5 ).getType() ); assertEquals( Token.SEMI, tokens.getToken( 6 ).getType() ); } }