summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rwxr-xr-xtest/language/lexer.rb20
-rwxr-xr-xtest/language/parser.rb8
2 files changed, 27 insertions, 1 deletions
diff --git a/test/language/lexer.rb b/test/language/lexer.rb
index 7b4909fb1..c2dd17324 100755
--- a/test/language/lexer.rb
+++ b/test/language/lexer.rb
@@ -111,7 +111,7 @@ class TestLexer < Test::Unit::TestCase
types.each { |t|
@lexer.string = t
assert_equal(
- [[:TYPE,t],[false,false]],
+ [[:CLASSREF,t],[false,false]],
@lexer.fullscan
)
}
@@ -254,6 +254,24 @@ class TestLexer < Test::Unit::TestCase
@lexer.scan {}
assert_equal("]", @lexer.expected, "expected value is wrong after pop")
end
+
+ # #774
+ def test_classref_token
+ string = ["Foo", "::Foo","Foo::Bar","::Foo::Bar"]
+
+ string.each do |foo|
+ assert_nothing_raised {
+ @lexer.string = foo
+ }
+
+ ret = nil
+ assert_nothing_raised {
+ ret = @lexer.fullscan
+ }
+
+ assert_equal([:CLASSREF, foo],ret[0], "Did not correctly tokenize '%s'" % foo)
+ end
+ end
end
# $Id$
diff --git a/test/language/parser.rb b/test/language/parser.rb
index 1cef72dcb..6f7599f27 100755
--- a/test/language/parser.rb
+++ b/test/language/parser.rb
@@ -653,6 +653,14 @@ file { "/tmp/yayness":
}
end
+ # #774
+ def test_fully_qualified_collection_statement
+ parser = mkparser
+ assert_nothing_raised("Could not parse fully qualified collection statement") {
+ parser.parse %{Foo::Bar <||>}
+ }
+ end
+
def test_module_import
basedir = File.join(tmpdir(), "module-import")
@@tmpfiles << basedir