|
|
- class MalTestRunner
- def initialize(@test_file : String)
- end
-
- macro check_EOF
- return if l.is_a? Iterator::Stop
- end
-
- def each_test
- lines = File.open(@test_file).each_line
-
- until (l = lines.next).is_a? Iterator::Stop
- while l =~ /^\s*(;|$)/
- l = lines.next
- check_EOF
- end
-
- check_EOF
- input = l
-
- output = [] of String
- loop do
- l = lines.next
- check_EOF
-
- if l =~ /^; /
- output << l[2..-1]
- else
- break
- end
- end
-
- if l =~ /^;=>/
- yield input, output, l[3..-1]
- else
- yield input, output, nil
- end
- end
- end
- end
|