LexicalUtilTest xref

View Javadoc

    1   /*
    2    * Copyright (c) 2010 QOS.ch All rights reserved.
    3    *
    4    * Permission is hereby granted, free of charge, to any person obtaining a copy
    5    * of this software and associated documentation files (the "Software"), to deal
    6    * in the Software without restriction, including without limitation the rights
    7    * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    8    * copies of the Software, and to permit persons to whom the Software is
    9    * furnished to do so, subject to the following conditions:
    10   *
    11   * The above copyright notice and this permission notice shall be included in
    12   * all copies or substantial portions of the Software.
    13   *
    14   * THE SOFTWARE IS PROVIDED "AS  IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    17   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    19   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    20   * SOFTWARE.
    21   */
    22  package ch.qos.cal10n.util;
    23
    24  import org.junit.Test;
    25
    26  import static org.junit.Assert.assertEquals;
    27
    28  /**
    29   * @author Ceki G&uuml;c&uuml;
    30   */
    31  public class LexicalUtilTest {
    32
    33
    34    void verify(String in, String expected) {
    35      StringBuilder inBuf = new StringBuilder(in);
    36      StringBuilder outBuf = LexicalUtil.convertSpecialCharacters(inBuf);
    37      assertEquals(expected, outBuf.toString());
    38    }
    39
    40    @Test
    41    public void identity() {
    42      verify("abc", "abc");
    43    }
    44
    45    @Test
    46    public void empty() {
    47      verify("", "");
    48    }
    49
    50    @Test
    51    public void withLF() {
    52      verify("a\\nbc", "a\nbc");
    53    }
    54
    55    @Test
    56    public void withMultipleLF() {
    57      verify("a\\nb\\rc", "a\nb\rc");
    58      verify("a\\nb\\r", "a\nb\r");
    59      verify("\\nb\\r", "\nb\r");
    60    }
    61
    62    @Test
    63    public void withUnicode() {
    64      verify("a\\u00FCbc", "a\u00FCbc");
    65      verify("a\\u00fcbc", "a\u00fcbc");
    66      verify("a\\u2297bc", "a\u2297bc");
    67
    68      verify("a\\u2169bc", "a\u2169bc");
    69      verify("\\u2169", "\u2169");
    70      verify("a\\u2169", "a\u2169");
    71
    72    }
    73
    74    @Test
    75    public void withEscapedColon()  {
    76      verify("foo\\:bar", "foo:bar");
    77    }
    78
    79    @Test
    80    public void withEscapedExclamation()  {
    81       verify("foo\\!bar", "foo!bar");
    82    }
    83
    84    @Test
    85    public void withEscapedHash()  {
    86       verify("foo\\#bar", "foo#bar");
    87    }
    88
    89    @Test
    90    public void withEscapedEquals()  {
    91       verify("foo\\=bar", "foo=bar");
    92    }
    93
    94    @Test
    95    public void testCal29() {
    96      verify("\\\\n", "\\\\n");
    97      verify("beans\\\\n\\\\nProducer", "beans\\\\n\\\\nProducer");
    98    }
    99  }