/*
* Copyright 2009 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.google.jstestdriver.html;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
import junit.framework.TestCase;
import com.google.jstestdriver.token.ConcreteToken;
import com.google.jstestdriver.token.Token;
import com.google.jstestdriver.token.TokenEmitter;
/**
* @author corysmith@google.com (Cory Smith)
*
*/
public class TokenEmitterTest extends TestCase {
public void testEmitTokens() throws Exception {
ByteArrayInputStream stream = new ByteArrayInputStream("{}".getBytes());
TokenEmitter emitter = new TokenEmitter(new BufferedInputStream(stream), new Token[]{
ConcreteToken.from("{"),
ConcreteToken.from("}"),
});
assertTrue(emitter.hasNext());
assertEquals(ConcreteToken.from("{"), emitter.next());
assertTrue(emitter.hasNext());
assertEquals(ConcreteToken.from("}"), emitter.next());
assertFalse(emitter.hasNext());
}
public void testEmitFallThroughTokens() throws Exception {
ByteArrayInputStream stream = new ByteArrayInputStream("foo,bar,foo}".getBytes());
TokenEmitter emitter = new TokenEmitter(new BufferedInputStream(stream), new Token[]{
ConcreteToken.from("}"),
});
assertTrue(emitter.hasNext());
assertEquals(ConcreteToken.from("foo,bar,foo"), emitter.next());
assertTrue(emitter.hasNext());
assertEquals(ConcreteToken.from("}"), emitter.next());
assertFalse(emitter.hasNext());
}
}