fixes missing string tests and expression/transformation
This commit is contained in:
1
test/runners/hello.rb
Normal file
1
test/runners/hello.rb
Normal file
@ -0,0 +1 @@
|
||||
puts( "hello world" )
|
@ -32,6 +32,15 @@ class TestAst < MiniTest::Test
|
||||
check
|
||||
end
|
||||
|
||||
def test_string
|
||||
@input = <<HERE
|
||||
"hello"
|
||||
HERE
|
||||
@expected = Parser::StringExpression.new('hello')
|
||||
@parser = @parser.string
|
||||
check
|
||||
end
|
||||
|
||||
def test_one_argument
|
||||
@input = '(42)'
|
||||
@expected = { :argument_list => Parser::IntegerExpression.new(42) }
|
||||
|
@ -45,6 +45,15 @@ class ParserTest < MiniTest::Test
|
||||
check
|
||||
end
|
||||
|
||||
def test_string
|
||||
@input = <<HERE
|
||||
"hello"
|
||||
HERE
|
||||
@expected = {:string=>"hello"}
|
||||
@parser = @parser.string
|
||||
check
|
||||
end
|
||||
|
||||
def test_one_argument
|
||||
@input = '(42)'
|
||||
@expected = {:argument_list => {:argument => {:integer => '42'}} }
|
||||
@ -70,6 +79,18 @@ class ParserTest < MiniTest::Test
|
||||
check
|
||||
end
|
||||
|
||||
def test_function_call_string
|
||||
@input = <<HERE
|
||||
puts( "hello")
|
||||
HERE
|
||||
@expected = {:function_call => {:name => 'baz' },
|
||||
:argument_list => [{:argument => {:integer => '42'}},
|
||||
{:argument => {:name => 'foo'}}]}
|
||||
|
||||
@parser = @parser.function_call
|
||||
check
|
||||
end
|
||||
|
||||
def test_expression_else
|
||||
@input = <<HERE
|
||||
4
|
||||
|
@ -25,6 +25,8 @@ class TestRunner < MiniTest::Test
|
||||
#link
|
||||
# execute
|
||||
# check result ?
|
||||
puts string
|
||||
puts " "
|
||||
puts tree.inspect
|
||||
end
|
||||
|
||||
|
@ -26,6 +26,13 @@ class TransformTest < MiniTest::Test
|
||||
check
|
||||
end
|
||||
|
||||
def test_string
|
||||
@input = {:string=>"hello"}
|
||||
@expected = Parser::StringExpression.new('hello')
|
||||
@parser = @parser.string
|
||||
check
|
||||
end
|
||||
|
||||
def test_argument_list
|
||||
@input = {:argument_list => [{:argument => {:integer => '42'}},
|
||||
{:argument => {:name => 'foo'}}]}
|
||||
|
Reference in New Issue
Block a user