diff --git a/javatests/jflex/testcase/eof/BUILD.bazel b/javatests/jflex/testcase/eof/BUILD.bazel new file mode 100644 index 000000000..5eb225a90 --- /dev/null +++ b/javatests/jflex/testcase/eof/BUILD.bazel @@ -0,0 +1,43 @@ +# This build file was generated automatically, but won't be re-generated. +# Feel free to improve. + +load("@jflex_rules//jflex:jflex.bzl", "jflex") + +# eof + +jflex( + name = "gen_eof_scanner", + srcs = ["eof.flex"], + jflex_bin = "//jflex:jflex_bin", + outputs = ["Eof.java"], +) + +java_library( + name = "eof_scanner", + srcs = [ + ":gen_eof_scanner", + ], + deps = [ + "//java/jflex/testing/testsuite/golden", + "//third_party/com/google/guava", + ], +) + +java_test( + name = "EofGoldenTest", + srcs = [ + "EofGoldenTest.java", + ], + data = [ + "eof-0.input", + "eof-0.output", + ], + deps = [ + ":eof_scanner", + "//java/jflex/testing/diff", + "//java/jflex/testing/testsuite/golden", + "//java/jflex/util/scanner:scanner_factory", + "//third_party/com/google/guava", + "//third_party/com/google/truth", + ], +) diff --git a/javatests/jflex/testcase/eof/EofGoldenTest.java b/javatests/jflex/testcase/eof/EofGoldenTest.java new file mode 100644 index 000000000..7fc1f1e29 --- /dev/null +++ b/javatests/jflex/testcase/eof/EofGoldenTest.java @@ -0,0 +1,40 @@ +// test: eof + +package jflex.testcase.eof; + +import java.io.File; +import jflex.testing.testsuite.golden.AbstractGoldenTest; +import jflex.testing.testsuite.golden.GoldenInOutFilePair; +import jflex.util.scanner.ScannerFactory; +import org.junit.Test; + +/** + * test %eof and %eofthrows directives https://github.com/jflex-de/jflex/issues/743 + * + *
Note: This test was generated from {@code jflex-testsuite-maven-plugin} test cases. The test
+ * relies on golden files for testing, expecting the scanner to output logs on the {@code
+ * System.out}. Please migrate to proper unit tests, as describe in
+ * //javatest/jflex/testcase.
+ */
+// TODO Migrate this test to proper unit tests.
+public class EofGoldenTest extends AbstractGoldenTest {
+
+ /** Creates a scanner conforming to the {@code eof.flex} specification. */
+ private final ScannerFactory