summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorHParker <HParker@github.com>2023-10-25 01:07:26 -0700
committerJemma Issroff <jemmaissroff@gmail.com>2023-10-26 11:54:26 -0300
commit8f4a8cd05b95861b59ba70c59c2a12cdb16dde73 (patch)
treeb7982e15b8907b1027a36ef54eb75a3c6382a20a /test/ruby
parent9570a88bb3c86c79a25562a341452002be457c12 (diff)
teach prism define to compile basic types
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_compile_prism.rb48
1 files changed, 46 insertions, 2 deletions
diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb
index 9062d5ffc2..b62bac4132 100644
--- a/test/ruby/test_compile_prism.rb
+++ b/test/ruby/test_compile_prism.rb
@@ -89,8 +89,52 @@ module Prism
end
def test_DefinedNode
- # TODO:
- # assert_prism_eval("defined? foo")
+ assert_prism_eval("defined? nil")
+ assert_prism_eval("defined? self")
+ assert_prism_eval("defined? true")
+ assert_prism_eval("defined? false")
+ assert_prism_eval("defined? 'str'")
+ assert_prism_eval("defined? a && b")
+ assert_prism_eval("defined? a || b")
+
+ assert_prism_eval("defined? @a")
+ assert_prism_eval("defined? $a")
+ assert_prism_eval("defined? @@a")
+ assert_prism_eval("defined? A")
+ assert_prism_eval("defined? yield")
+ assert_prism_eval("defined? super")
+
+ assert_prism_eval("defined? X = 1")
+ assert_prism_eval("defined? X *= 1")
+ assert_prism_eval("defined? X /= 1")
+ assert_prism_eval("defined? X &= 1")
+ assert_prism_eval("defined? X ||= 1")
+
+ assert_prism_eval("defined? $X = 1")
+ assert_prism_eval("defined? $X *= 1")
+ assert_prism_eval("defined? $X /= 1")
+ assert_prism_eval("defined? $X &= 1")
+ assert_prism_eval("defined? $X ||= 1")
+
+ assert_prism_eval("defined? @@X = 1")
+ assert_prism_eval("defined? @@X *= 1")
+ assert_prism_eval("defined? @@X /= 1")
+ assert_prism_eval("defined? @@X &= 1")
+ assert_prism_eval("defined? @@X ||= 1")
+
+ assert_prism_eval("defined? @X = 1")
+ assert_prism_eval("defined? @X *= 1")
+ assert_prism_eval("defined? @X /= 1")
+ assert_prism_eval("defined? @X &= 1")
+ assert_prism_eval("defined? @X ||= 1")
+
+ assert_prism_eval("x = 1; defined? x = 1")
+ assert_prism_eval("x = 1; defined? x *= 1")
+ assert_prism_eval("x = 1; defined? x /= 1")
+ assert_prism_eval("x = 1; defined? x &= 1")
+ assert_prism_eval("x = 1; defined? x ||= 1")
+
+ assert_prism_eval("if defined? A; end")
end
def test_GlobalVariableReadNode