javatests/de/jflex/testcase/ccl_caseless/Ccl_caselessGoldenTest.java (22 lines of code) (raw):
/*
* Copyright 2022, Gerwin Klein <lsf@jflex.de>.
* SPDX-License-Identifier: BSD-3-Clause
*/
package de.jflex.testcase.ccl_caseless;
import de.jflex.testing.testsuite.golden.AbstractGoldenTest;
import de.jflex.testing.testsuite.golden.GoldenInOutFilePair;
import de.jflex.util.scanner.ScannerFactory;
import java.io.File;
import org.junit.Test;
/**
* Test for issue <a href"https://github.com/jflex-de/jflex/issues/974">#974 Unexpected exception
* encountered in JFlex</a>.
*
* <p>Tests that the generated scanner can handle case-insensitive character classes with characters
* outside the current input char set.
*/
public class Ccl_caselessGoldenTest extends AbstractGoldenTest {
/** Creates a scanner conforming to the {@code ccl_caseless.flex} specification. */
private final ScannerFactory<Ccl_caseless> scannerFactory = ScannerFactory.of(Ccl_caseless::new);
private final File testRuntimeDir = new File("javatests/de/jflex/testcase/ccl_caseless");
@Test
public void goldenTest0() throws Exception {
GoldenInOutFilePair golden =
new GoldenInOutFilePair(
new File(testRuntimeDir, "ccl_caseless-0.input"),
new File(testRuntimeDir, "ccl_caseless-0.output"));
compareSystemOutWith(golden);
Ccl_caseless scanner = scannerFactory.createScannerForFile(golden.inputFile);
while (!scanner.yyatEOF()) {
System.out.println(scanner.yylex());
}
}
}