コード例 #1
0
  /** 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;
  }
コード例 #2
0
  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));
      }
    }
  }