summaryrefslogtreecommitdiff
path: root/test/scanners/ruby
diff options
context:
space:
mode:
Diffstat (limited to 'test/scanners/ruby')
-rw-r--r--test/scanners/ruby/nested-heredoc.expected.raydebug27
-rwxr-xr-xtest/scanners/ruby/nested-heredoc.in.rb27
2 files changed, 54 insertions, 0 deletions
diff --git a/test/scanners/ruby/nested-heredoc.expected.raydebug b/test/scanners/ruby/nested-heredoc.expected.raydebug
new file mode 100644
index 0000000..4aa4fed
--- /dev/null
+++ b/test/scanners/ruby/nested-heredoc.expected.raydebug
@@ -0,0 +1,27 @@
+ident(p) string<delimiter(")inline<inline_delimiter(#{)string<delimiter(<<'END')>operator(.)ident(strip)operator(.)ident(reverse)inline_delimiter(})>char(\\
+)content(First
+END
+Second)delimiter(")>
+
+ident(p) shell<delimiter(<<`one`)> operator(;) ident(p) string<delimiter(")inline<inline_delimiter(#{)string<delimiter(<<two)>inline_delimiter(})>delimiter(")>shell<content(
+1)delimiter(
+one)>string<content(
+2)delimiter(
+two)>
+
+ident(this)operator(.)ident(should)operator(.)ident(be)operator(.)ident(plain)
+
+comment(# from Rails)
+reserved(unless) ident(new_record?)
+ ident(connection)operator(.)ident(delete) string<delimiter(<<-end_sql)>operator(,) string<delimiter(")inline<inline_delimiter(#{)pre_constant(self)operator(.)ident(class)operator(.)ident(name)inline_delimiter(})>content( Destroy)delimiter(")>string<content(
+ DELETE FROM )inline<inline_delimiter(#{)pre_constant(self)operator(.)ident(class)operator(.)ident(table_name)inline_delimiter(})>content(
+ WHERE )inline<inline_delimiter(#{)pre_constant(self)operator(.)ident(class)operator(.)ident(primary_key)inline_delimiter(})>content( = )inline<inline_delimiter(#{)ident(quoted_id)inline_delimiter(})>delimiter(
+ end_sql)>
+reserved(end)
+
+ident(p) string<delimiter(<<this)>string<content(
+but it may break )inline<inline_delimiter(#{)string<delimiter(<<that)>inline_delimiter(})>content(
+code.
+that)delimiter(
+this)>
+ident(that)operator(.)ident(should)operator(.)ident(be)operator(.)ident(plain) \ No newline at end of file
diff --git a/test/scanners/ruby/nested-heredoc.in.rb b/test/scanners/ruby/nested-heredoc.in.rb
new file mode 100755
index 0000000..3059e48
--- /dev/null
+++ b/test/scanners/ruby/nested-heredoc.in.rb
@@ -0,0 +1,27 @@
+p "#{<<'END'.strip.reverse}\
+First
+END
+Second"
+
+p <<`one` ; p "#{<<two}"
+1
+one
+2
+two
+
+this.should.be.plain
+
+# from Rails
+unless new_record?
+ connection.delete <<-end_sql, "#{self.class.name} Destroy"
+ DELETE FROM #{self.class.table_name}
+ WHERE #{self.class.primary_key} = #{quoted_id}
+ end_sql
+end
+
+p <<this
+but it may break #{<<that}
+code.
+that
+this
+that.should.be.plain \ No newline at end of file