JFlexXrefTest.java revision 1108
0N/A * The contents of this file are subject to the terms of the 0N/A * Common Development and Distribution License (the "License"). 0N/A * You may not use this file except in compliance with the License. 0N/A * language governing permissions and limitations under the License. 0N/A * When distributing Covered Code, include this CDDL HEADER in each 0N/A * If applicable, add the following below this CDDL HEADER, with the 0N/A * fields enclosed by brackets "[]" replaced with your own identifying 0N/A * information: Portions Copyright [yyyy] [name of copyright owner] 0N/A * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. 0N/A * Unit tests for JFlexXref. 0N/A * This is what we expect to find at the beginning of the first line 0N/A * returned by an xref. 0N/A "<a class=\"l\" name=\"1\" href=\"#1\">" +
0N/A " 1 </a>";
0N/A * Regression test case for bug #15890. Check that we get the expected the 0N/A * expected line count from input with some special characters that used 0N/A "line 4 with \u000B char\n" +
0N/A "line 5 with \u000C char\n" +
0N/A "line 6 with \u0085 char\n" +
0N/A "line 7 with \u2028 char\n" +
0N/A "line 8 with \u2029 char\n" +
0N/A * Helper method that checks the line count for 0N/A * {@link #testBug15890LineCount()}. 0N/A * @param xref an instance of the xref class to test * Regression test case for bug #15890. Check that an anchor is correctly * inserted for definitions that appear after some special characters that * Helper method for {@link #testBug15890Anchor()}. * @param klass the Xref sub-class to test * @param path path to input file with a definition // Input files contain non-ascii characters and are encoded in UTF-8 //TODO improve below to reflect all possible classes of a definition * Regression test case for bug #14663, which used to break syntax * highlighting in ShXref. // \" should not start a new string literal // \" should not terminate a string literal "<b>echo</b> <span class=\"s\">\"\\\"\"</span>");
// \` should not start a command substitution // \` should not start command substitution inside a string "<b>echo</b> <span class=\"s\">\"\\`\"</span>");
// \` should not terminate command substitution "<b>echo</b> <span>`\\``</span>");
// $# should not start a comment * Helper method that checks that the expected output is produced for a * line with the specified xref class. Fails if the output is not as * @param xrefClass xref class to test * @param inputLine the source code line to parse * @param expectedOutput the expected output from the xreffer * Regression test case for bug #16883. Some of the state used to survive * across invocations in ShXref, so that a syntax error in one file might * cause broken highlighting in subsequent files. Test that the instance // Analyze a script with broken syntax (unterminated string literal) "<b>echo</b> <span class=\"s\">\"xyz</span>",
// Reuse the xref and verify that the broken syntax in the previous // file doesn't cause broken highlighting in the next file "<b>echo</b> <span class=\"s\">\"hello\"</span>",