/** Give's priority to encoding value, if found else, looks for contentType value; */ private HeadParserToken parseHeader(CSSHeadTokenizer tokenizer) throws IOException { HeadParserToken token = null; HeadParserToken finalToken = null; do { token = tokenizer.getNextToken(); String tokenType = token.getType(); if (canHandleAsUnicodeStream(tokenType)) {} if (tokenType == CSSHeadTokenizerConstants.CHARSET_RULE) { if (tokenizer.hasMoreTokens()) { HeadParserToken valueToken = tokenizer.getNextToken(); String valueTokenType = valueToken.getType(); if (isLegalString(valueTokenType)) { this.fcharset = valueToken.getText(); } } } } while (tokenizer.hasMoreTokens()); finalToken = token; return finalToken; }
private void doTestFile(Reader fileReader, String expectedName, String finalTokenType) throws IOException { CSSHeadTokenizer tokenizer = null; tokenizer = new CSSHeadTokenizer(fileReader); HeadParserToken resultToken = null; HeadParserToken token = parseHeader(tokenizer); String resultValue = this.fcharset; fileReader.close(); if (finalTokenType != null) { assertTrue( "did not end as expected. found: " + token.getType(), finalTokenType.equals(token.getType())); } else { if (expectedName == null) { assertTrue("expected no encoding, but found: " + resultValue, resultToken == null); } else { assertTrue( "expected " + expectedName + " but found " + resultValue, expectedName.equals(resultValue)); } } }