aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Formula')
-rw-r--r--Library/Formula/antlr.rb22
1 files changed, 20 insertions, 2 deletions
diff --git a/Library/Formula/antlr.rb b/Library/Formula/antlr.rb
index 003b41046..3533b0217 100644
--- a/Library/Formula/antlr.rb
+++ b/Library/Formula/antlr.rb
@@ -1,5 +1,3 @@
-require "formula"
-
class Antlr < Formula
homepage "http://www.antlr.org/"
url "http://www.antlr.org/download/antlr-4.4-complete.jar"
@@ -13,4 +11,24 @@ class Antlr < Formula
java -classpath #{prefix}/antlr-#{version}-complete.jar:. org.antlr.v4.runtime.misc.TestRig "$@"
EOS
end
+
+ test do
+ path = testpath/"Expr.g4"
+ path.write <<-EOS.undent
+ grammar Expr;
+ prog:\t(expr NEWLINE)* ;
+ expr:\texpr ('*'|'/') expr
+ |\texpr ('+'|'-') expr
+ |\tINT
+ |\t'(' expr ')'
+ ;
+ NEWLINE :\t[\\r\\n]+ ;
+ INT :\t[0-9]+ ;
+ EOS
+ ENV.prepend "CLASSPATH", "#{prefix}/antlr-#{version}-complete.jar", ":"
+ ENV.prepend "CLASSPATH", ".", ":"
+ system "#{bin}/antlr4", "Expr.g4"
+ system "javac", *Dir["Expr*.java"]
+ assert_match(/^$/, pipe_output("#{bin}/grun Expr prog", "22+20\n"))
+ end
end