Package org.jboss.ide.eclipse.freemarker.lang

Examples of org.jboss.ide.eclipse.freemarker.lang.ParserUtils


    assertEquals(true, ParserUtils.isLetter('A'));
    assertEquals(false, ParserUtils.isLetter('9'));
  }

  public void testConsumeIdentifier() throws ParseException {
    ParserUtils parser = new ParserUtils("var='val'"); //$NON-NLS-1$
    assertEquals(3, parser.consumeIdentifier());
    assertEquals("var", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils("var ='val'"); //$NON-NLS-1$
    assertEquals(3, parser.consumeIdentifier());
    assertEquals("var", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils("v ='val'"); //$NON-NLS-1$
    assertEquals(1, parser.consumeIdentifier());
    assertEquals("v", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils("v0 ='val'"); //$NON-NLS-1$
    assertEquals(2, parser.consumeIdentifier());
    assertEquals("v0", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils("v0"); //$NON-NLS-1$
    assertEquals(2, parser.consumeIdentifier());
    assertEquals("v0", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils(""); //$NON-NLS-1$
    try {
      parser.consumeIdentifier();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    parser = new ParserUtils("0 ='val'"); //$NON-NLS-1$
    try {
      parser.consumeIdentifier();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    parser = new ParserUtils(" var ='val'"); //$NON-NLS-1$
    try {
      parser.consumeIdentifier();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }
  }
View Full Code Here


    } catch (ParseException expected) {
    }
  }

  public void testConsumeStringLiteral() throws ParseException {
    ParserUtils parser = new ParserUtils("'val'"); //$NON-NLS-1$
    assertEquals(5, parser.consumeStringLiteral());
    assertEquals("'val'", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils("'val' "); //$NON-NLS-1$
    assertEquals(5, parser.consumeStringLiteral());
    assertEquals("'val'", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils("'val'>"); //$NON-NLS-1$
    assertEquals(5, parser.consumeStringLiteral());
    assertEquals("'val'", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils("''"); //$NON-NLS-1$
    assertEquals(2, parser.consumeStringLiteral());
    assertEquals("''", parser.getLastToken()); //$NON-NLS-1$

    /* newline and other chars */
    parser = new ParserUtils("'\n\t\r'"); //$NON-NLS-1$
    assertEquals(5, parser.consumeStringLiteral());
    assertEquals("'\n\t\r'", parser.getLastToken()); //$NON-NLS-1$

    /* quot in apos */
    parser = new ParserUtils("'\"'"); //$NON-NLS-1$
    assertEquals(3, parser.consumeStringLiteral());
    assertEquals("'\"'", parser.getLastToken()); //$NON-NLS-1$

    /* apos in apos */
    parser = new ParserUtils("'\\''"); //$NON-NLS-1$
    assertEquals(4, parser.consumeStringLiteral());
    assertEquals("'\\''", parser.getLastToken()); //$NON-NLS-1$

    /* simple escapes */
    parser = new ParserUtils("'\\n\\t\\r\\\\'"); //$NON-NLS-1$
    assertEquals(10, parser.consumeStringLiteral());
    assertEquals("'\\n\\t\\r\\\\'", parser.getLastToken()); //$NON-NLS-1$

    /* hex escapes */
    parser = new ParserUtils("'\\x00ab\\xab\\xff\\xAB\\xFF'"); //$NON-NLS-1$
    assertEquals(24, parser.consumeStringLiteral());
    assertEquals("'\\x00ab\\xab\\xff\\xAB\\xFF'", parser.getLastToken()); //$NON-NLS-1$

    /* with double quotes */
    parser = new ParserUtils("\"val\""); //$NON-NLS-1$
    assertEquals(5, parser.consumeStringLiteral());
    assertEquals("\"val\"", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils("\"\""); //$NON-NLS-1$
    assertEquals(2, parser.consumeStringLiteral());
    assertEquals("\"\"", parser.getLastToken()); //$NON-NLS-1$

    /* quot in quot */
    parser = new ParserUtils("\"\\\"\""); //$NON-NLS-1$
    assertEquals(4, parser.consumeStringLiteral());
    assertEquals("\"\\\"\"", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils("val"); //$NON-NLS-1$
    try {
      parser.consumeStringLiteral();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    parser = new ParserUtils(""); //$NON-NLS-1$
    try {
      parser.consumeStringLiteral();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    /* unfinished apos */
    parser = new ParserUtils("'"); //$NON-NLS-1$
    try {
      parser.consumeStringLiteral();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    /* unfinished quot */
    parser = new ParserUtils("\""); //$NON-NLS-1$
    try {
      parser.consumeStringLiteral();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }
  }
View Full Code Here

    } catch (ParseException expected) {
    }
  }

  public void testConsumeRawString() throws ParseException {
    ParserUtils parser = new ParserUtils("r'val'"); //$NON-NLS-1$
    assertEquals(6, parser.consumeRawString());
    assertEquals("r'val'", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils("r''"); //$NON-NLS-1$
    assertEquals(3, parser.consumeRawString());
    assertEquals("r''", parser.getLastToken()); //$NON-NLS-1$

    /* escaping apos does not work in the same way as in string literal */
    parser = new ParserUtils("r' \\' '"); //$NON-NLS-1$
    assertEquals(5, parser.consumeRawString());
    assertEquals("r' \\'", parser.getLastToken()); //$NON-NLS-1$

    /* escaping quot does not work in the same way as in string literal */
    parser = new ParserUtils("r\" \\\" \""); //$NON-NLS-1$
    assertEquals(5, parser.consumeRawString());
    assertEquals("r\" \\\"", parser.getLastToken()); //$NON-NLS-1$


    parser = new ParserUtils(""); //$NON-NLS-1$
    try {
      parser.consumeRawString();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    parser = new ParserUtils("r"); //$NON-NLS-1$
    try {
      parser.consumeRawString();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    /* unfinished apos */
    parser = new ParserUtils("r'"); //$NON-NLS-1$
    try {
      parser.consumeRawString();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    /* unfinished quot */
    parser = new ParserUtils("r\""); //$NON-NLS-1$
    try {
      parser.consumeRawString();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }
  }
View Full Code Here

    } catch (ParseException expected) {
    }
  }

  public void testConsumeIdentifierOrStringLiteral() throws ParseException {
    ParserUtils parser = new ParserUtils("'val'"); //$NON-NLS-1$
    assertEquals(5, parser.consumeIdentifierOrStringLiteral());
    assertEquals("'val'", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils("'val val'"); //$NON-NLS-1$
    assertEquals(9, parser.consumeIdentifierOrStringLiteral());
    assertEquals("'val val'", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils("''"); //$NON-NLS-1$
    assertEquals(2, parser.consumeIdentifierOrStringLiteral());
    assertEquals("''", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils("var"); //$NON-NLS-1$
    assertEquals(3, parser.consumeIdentifierOrStringLiteral());
    assertEquals("var", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils(""); //$NON-NLS-1$
    try {
      parser.consumeIdentifierOrStringLiteral();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    parser = new ParserUtils("123"); //$NON-NLS-1$
    try {
      parser.consumeIdentifierOrStringLiteral();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    parser = new ParserUtils(" "); //$NON-NLS-1$
    try {
      parser.consumeIdentifierOrStringLiteral();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

  }
View Full Code Here

    }

  }

  public void testConsumeEscapedChar() throws ParseException {
    ParserUtils parser = new ParserUtils("\\n"); //$NON-NLS-1$
    assertEquals(2, parser.consumeEscapedChar());

    parser = new ParserUtils("\\r"); //$NON-NLS-1$
    assertEquals(2, parser.consumeEscapedChar());

    parser = new ParserUtils("\\t"); //$NON-NLS-1$
    assertEquals(2, parser.consumeEscapedChar());

    parser = new ParserUtils("\\r"); //$NON-NLS-1$
    assertEquals(2, parser.consumeEscapedChar());

    parser = new ParserUtils("\\f"); //$NON-NLS-1$
    assertEquals(2, parser.consumeEscapedChar());

    parser = new ParserUtils("\\b"); //$NON-NLS-1$
    assertEquals(2, parser.consumeEscapedChar());

    parser = new ParserUtils("\\l"); //$NON-NLS-1$
    assertEquals(2, parser.consumeEscapedChar());

    parser = new ParserUtils("\\a"); //$NON-NLS-1$
    assertEquals(2, parser.consumeEscapedChar());

    parser = new ParserUtils("\\\\"); //$NON-NLS-1$
    assertEquals(2, parser.consumeEscapedChar());

    parser = new ParserUtils("\\'"); //$NON-NLS-1$
    assertEquals(2, parser.consumeEscapedChar());

    parser = new ParserUtils("\\\""); //$NON-NLS-1$
    assertEquals(2, parser.consumeEscapedChar());

    parser = new ParserUtils("\\$"); //$NON-NLS-1$
    assertEquals(2, parser.consumeEscapedChar());

    parser = new ParserUtils("\\{"); //$NON-NLS-1$
    assertEquals(2, parser.consumeEscapedChar());

    parser = new ParserUtils("\\x0"); //$NON-NLS-1$
    assertEquals(3, parser.consumeEscapedChar());

    parser = new ParserUtils("\\xa"); //$NON-NLS-1$
    assertEquals(3, parser.consumeEscapedChar());

    parser = new ParserUtils("\\xA"); //$NON-NLS-1$
    assertEquals(3, parser.consumeEscapedChar());

    parser = new ParserUtils("\\xf"); //$NON-NLS-1$
    assertEquals(3, parser.consumeEscapedChar());

    parser = new ParserUtils("\\xF"); //$NON-NLS-1$
    assertEquals(3, parser.consumeEscapedChar());

    parser = new ParserUtils(""); //$NON-NLS-1$
    try {
      parser.consumeEscapedChar();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    parser = new ParserUtils("123"); //$NON-NLS-1$
    try {
      parser.consumeEscapedChar();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    parser = new ParserUtils(" "); //$NON-NLS-1$
    try {
      parser.consumeEscapedChar();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    parser = new ParserUtils("\\"); //$NON-NLS-1$
    try {
      parser.consumeEscapedChar();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    parser = new ParserUtils("\\ "); //$NON-NLS-1$
    try {
      parser.consumeEscapedChar();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    parser = new ParserUtils("\\x"); //$NON-NLS-1$
    try {
      parser.consumeEscapedChar();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

    parser = new ParserUtils("\\x "); //$NON-NLS-1$
    try {
      parser.consumeEscapedChar();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

  }
View Full Code Here


public class AssignmentDirective extends AbstractDirective {

  public static Boolean isNestable(String cont, Directive type) throws ParseException {
    ParserUtils parser = new ParserUtils(cont);
    /* the directive name */
    parser.match(type.getKeyword().toString());
    parser.consumeWhiteSpace();
    /* first variable name */
    parser.consumeIdentifierOrStringLiteral();
    parser.consumeWhiteSpace();
    /* lack of an equals sign at this position means that this is a nesting form of assign */
    return Boolean.valueOf(parser.isAtEndOfInput()
        || !parser.matches(LexicalConstants.EQUALS, false));

  }
View Full Code Here

    }

  }

  public void testConsumeWhiteSpace() {
    ParserUtils parser = new ParserUtils(" \t\n\r"); //$NON-NLS-1$
    assertEquals(4, parser.consumeWhiteSpace());
    assertEquals(" \t\n\r", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils(""); //$NON-NLS-1$
    assertEquals(0, parser.consumeWhiteSpace());
    assertEquals("", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils("x"); //$NON-NLS-1$
    assertEquals(0, parser.consumeWhiteSpace());
    assertEquals("", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils(" x"); //$NON-NLS-1$
    assertEquals(1, parser.consumeWhiteSpace());
    assertEquals(" ", parser.getLastToken()); //$NON-NLS-1$

  }
View Full Code Here

    assertEquals(" ", parser.getLastToken()); //$NON-NLS-1$

  }

  public void testIsAtEndOfInput() {
    ParserUtils parser = new ParserUtils(" \t\n\r"); //$NON-NLS-1$
    assertEquals(false, parser.isAtEndOfInput());

    parser = new ParserUtils("x"); //$NON-NLS-1$
    assertEquals(false, parser.isAtEndOfInput());

    parser = new ParserUtils(""); //$NON-NLS-1$
    assertEquals(true, parser.isAtEndOfInput());
  }
View Full Code Here

    parser = new ParserUtils(""); //$NON-NLS-1$
    assertEquals(true, parser.isAtEndOfInput());
  }

  public void testMatch() throws ParseException {
    ParserUtils parser = new ParserUtils("assign"); //$NON-NLS-1$
    assertEquals(6, parser.match("assign")); //$NON-NLS-1$
    assertEquals("assign", parser.getLastToken()); //$NON-NLS-1$

    parser = new ParserUtils("\\x "); //$NON-NLS-1$
    try {
      parser.consumeEscapedChar();
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }
  }
View Full Code Here

    } catch (ParseException expected) {
    }
  }

  public void testMatches() throws ParseException {
    ParserUtils parser = new ParserUtils("assign"); //$NON-NLS-1$
    assertEquals(true, parser.matches('a', true));

    parser = new ParserUtils("assign"); //$NON-NLS-1$
    assertEquals(false, parser.matches('b', true));

    parser = new ParserUtils(""); //$NON-NLS-1$
    try {
      parser.matches('a', true);
      fail("ParseException expected"); //$NON-NLS-1$
    } catch (ParseException expected) {
    }

  }
View Full Code Here

TOP

Related Classes of org.jboss.ide.eclipse.freemarker.lang.ParserUtils

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.