Skip to content

Commit 0424b22

Browse files
wooster0RX14
authored andcommittedMar 29, 2018
Fix HEREDOC error message grammar (#5887)
* Fix HEREDOC error message grammar * Update parser_spec.cr
1 parent 4927ecc commit 0424b22

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed
 

Diff for: ‎spec/compiler/parser/parser_spec.cr

+6-6
Original file line numberDiff line numberDiff line change
@@ -1202,12 +1202,12 @@ describe "Parser" do
12021202
it_parses "<<-HERE1; <<-HERE2\nHERE1\nHERE2", ["".string_interpolation, "".string_interpolation] of ASTNode
12031203
it_parses "<<-HERE1; <<-HERE2\nhere1\nHERE1\nHERE2", ["here1".string_interpolation, "".string_interpolation] of ASTNode
12041204
it_parses "<<-HERE1; <<-HERE2\nHERE1\nhere2\nHERE2", ["".string_interpolation, "here2".string_interpolation] of ASTNode
1205-
assert_syntax_error "<<-HERE\n One\nwrong\n Zero\n HERE", "heredoc line must have an indent greater or equal than 2", 3, 1
1206-
assert_syntax_error "<<-HERE\n One\n wrong\n Zero\n HERE", "heredoc line must have an indent greater or equal than 2", 3, 1
1207-
assert_syntax_error "<<-HERE\n One\n \#{1}\n Zero\n HERE", "heredoc line must have an indent greater or equal than 2", 3, 1
1208-
assert_syntax_error "<<-HERE\n One\n \#{1}\n wrong\n HERE", "heredoc line must have an indent greater or equal than 2", 4, 1
1209-
assert_syntax_error "<<-HERE\n One\n \#{1}\n wrong\#{1}\n HERE", "heredoc line must have an indent greater or equal than 2", 4, 1
1210-
assert_syntax_error "<<-HERE\n One\n \#{1}\n HERE", "heredoc line must have an indent greater or equal than 2", 2, 1
1205+
assert_syntax_error "<<-HERE\n One\nwrong\n Zero\n HERE", "heredoc line must have an indent greater than or equal to 2", 3, 1
1206+
assert_syntax_error "<<-HERE\n One\n wrong\n Zero\n HERE", "heredoc line must have an indent greater than or equal to 2", 3, 1
1207+
assert_syntax_error "<<-HERE\n One\n \#{1}\n Zero\n HERE", "heredoc line must have an indent greater than or equal to 2", 3, 1
1208+
assert_syntax_error "<<-HERE\n One\n \#{1}\n wrong\n HERE", "heredoc line must have an indent greater than or equal to 2", 4, 1
1209+
assert_syntax_error "<<-HERE\n One\n \#{1}\n wrong\#{1}\n HERE", "heredoc line must have an indent greater than or equal to 2", 4, 1
1210+
assert_syntax_error "<<-HERE\n One\n \#{1}\n HERE", "heredoc line must have an indent greater than or equal to 2", 2, 1
12111211
assert_syntax_error %("\#{<<-HERE}"\nHERE), "heredoc cannot be used inside interpolation"
12121212
assert_syntax_error %("foo" "bar")
12131213

Diff for: ‎src/compiler/crystal/syntax/parser.cr

+2-2
Original file line numberDiff line numberDiff line change
@@ -2022,7 +2022,7 @@ module Crystal
20222022
if remove_indent
20232023
line = current_line.to_s
20242024
if (line.size < indent) || !line.each_char.first(indent).all?(&.ascii_whitespace?)
2025-
raise "heredoc line must have an indent greater or equal than #{indent}", line_number, 1
2025+
raise "heredoc line must have an indent greater than or equal to #{indent}", line_number, 1
20262026
else
20272027
line = line[indent..-1]
20282028
end
@@ -2071,7 +2071,7 @@ module Crystal
20712071
line[indent..-1]
20722072
end
20732073
else
2074-
raise "heredoc line must have an indent greater or equal than #{indent}", line_number, 1
2074+
raise "heredoc line must have an indent greater than or equal to #{indent}", line_number, 1
20752075
end
20762076
end
20772077

0 commit comments

Comments
 (0)
Please sign in to comment.