From 39238888bc784eb5887d899dc09fad30997464ac Mon Sep 17 00:00:00 2001 From: eileencodes Date: Fri, 1 Dec 2023 14:28:54 -0500 Subject: Implements missing literals for `defined?` This PR implements the following literals: - String - Symbols - Integers - Floats - Regexs - Ranges - Lambdas - Hashes and tests for them. --- test/ruby/test_compile_prism.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb index f9f42ce7ec..c6047357b2 100644 --- a/test/ruby/test_compile_prism.rb +++ b/test/ruby/test_compile_prism.rb @@ -95,8 +95,16 @@ module Prism assert_prism_eval("defined? self") assert_prism_eval("defined? true") assert_prism_eval("defined? false") + assert_prism_eval("defined? 1") + assert_prism_eval("defined? 1.0") + assert_prism_eval("defined? 1..2") assert_prism_eval("defined? [A, B, C]") + assert_prism_eval("defined? [1, 2, 3]") + assert_prism_eval("defined?({ a: 1 })") assert_prism_eval("defined? 'str'") + assert_prism_eval("defined? :sym") + assert_prism_eval("defined? /foo/") + assert_prism_eval("defined? -> { 1 + 1 }") assert_prism_eval("defined? a && b") assert_prism_eval("defined? a || b") -- cgit v1.2.3