| Index: lib/src/prism/tests/languages/ruby/string_feature.test
|
| diff --git a/lib/src/prism/tests/languages/ruby/string_feature.test b/lib/src/prism/tests/languages/ruby/string_feature.test
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..810a84479875e16ce5154d76f1e0413ff98e9cc8
|
| --- /dev/null
|
| +++ b/lib/src/prism/tests/languages/ruby/string_feature.test
|
| @@ -0,0 +1,285 @@
|
| +''
|
| +""
|
| +'foo'
|
| +"foo"
|
| +'foo\
|
| +bar'
|
| +"foo\
|
| +bar"
|
| +
|
| +"foo #{ 42 } bar"
|
| +
|
| +%!foo #{ 42 }!
|
| +%(foo #{ 42 })
|
| +%{foo #{ 42 }}
|
| +%[foo #{ 42 }]
|
| +%<foo #{ 42 }>
|
| +%Q!foo #{ 42 }!
|
| +%Q(foo #{ 42 })
|
| +%Q{foo #{ 42 }}
|
| +%Q[foo #{ 42 }]
|
| +%Q<foo #{ 42 }>
|
| +%I!foo #{ 42 }!
|
| +%I(foo #{ 42 })
|
| +%I{foo #{ 42 }}
|
| +%I[foo #{ 42 }]
|
| +%I<foo #{ 42 }>
|
| +%W!foo #{ 42 }!
|
| +%W(foo #{ 42 })
|
| +%W{foo #{ 42 }}
|
| +%W[foo #{ 42 }]
|
| +%W<foo #{ 42 }>
|
| +%x!foo #{ 42 }!
|
| +%x(foo #{ 42 })
|
| +%x{foo #{ 42 }}
|
| +%x[foo #{ 42 }]
|
| +%x<foo #{ 42 }>
|
| +
|
| +----------------------------------------------------
|
| +
|
| +[
|
| + ["string", ["''"]],
|
| + ["string", ["\"\""]],
|
| + ["string", ["'foo'"]],
|
| + ["string", ["\"foo\""]],
|
| + ["string", ["'foo\\\r\nbar'"]],
|
| + ["string", ["\"foo\\\r\nbar\""]],
|
| + ["string", [
|
| + "\"foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + " bar\""
|
| + ]],
|
| + ["string", [
|
| + "%!foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + "!"
|
| + ]],
|
| + ["string", [
|
| + "%(foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + ")"
|
| + ]],
|
| + ["string", [
|
| + "%{foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + "}"
|
| + ]],
|
| + ["string", [
|
| + "%[foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + "]"
|
| + ]],
|
| + ["string", [
|
| + "%<foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + ">"
|
| + ]],
|
| + ["string", [
|
| + "%Q!foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + "!"
|
| + ]],
|
| + ["string", [
|
| + "%Q(foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + ")"
|
| + ]],
|
| + ["string", [
|
| + "%Q{foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + "}"
|
| + ]],
|
| + ["string", [
|
| + "%Q[foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + "]"
|
| + ]],
|
| + ["string", [
|
| + "%Q<foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + ">"
|
| + ]],
|
| + ["string", [
|
| + "%I!foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + "!"
|
| + ]],
|
| + ["string", [
|
| + "%I(foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + ")"
|
| + ]],
|
| + ["string", [
|
| + "%I{foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + "}"
|
| + ]],
|
| + ["string", [
|
| + "%I[foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + "]"
|
| + ]],
|
| + ["string", [
|
| + "%I<foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + ">"
|
| + ]],
|
| + ["string", [
|
| + "%W!foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + "!"
|
| + ]],
|
| + ["string", [
|
| + "%W(foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + ")"
|
| + ]],
|
| + ["string", [
|
| + "%W{foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + "}"
|
| + ]],
|
| + ["string", [
|
| + "%W[foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + "]"
|
| + ]],
|
| + ["string", [
|
| + "%W<foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + ">"
|
| + ]],
|
| + ["string", [
|
| + "%x!foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + "!"
|
| + ]],
|
| + ["string", [
|
| + "%x(foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + ")"
|
| + ]],
|
| + ["string", [
|
| + "%x{foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + "}"
|
| + ]],
|
| + ["string", [
|
| + "%x[foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + "]"
|
| + ]],
|
| + ["string", [
|
| + "%x<foo ",
|
| + ["interpolation", [
|
| + ["delimiter", "#{"],
|
| + ["number", "42"],
|
| + ["delimiter", "}"]
|
| + ]],
|
| + ">"
|
| + ]]
|
| +]
|
| +
|
| +----------------------------------------------------
|
| +
|
| +Checks for strings and string interpolation.
|
|
|