diff options
| author | Jemma Issroff <jemmaissroff@gmail.com> | 2023-12-06 11:05:43 -0500 |
|---|---|---|
| committer | Jemma Issroff <jemmaissroff@gmail.com> | 2023-12-06 11:31:43 -0500 |
| commit | f80262b14d01a977ce386a5a377e911a90ce328d (patch) | |
| tree | 785407ea3e991fb4ab05e33e12d9c3fbb6f9371c /test/ruby | |
| parent | 64ab04da6ae15243e1615739f2529f37e532943d (diff) | |
[PRISM] Account for nil parent in Call{Operator,And,Or}PathWriteNodes
Prior to this commit, we were not accounting for the case of a nil
parent in a CallXPathWriteNode, for example ::A ||= 1. This commit
checks if the parent exists, and if not, uses Object as the inferred
parent
Diffstat (limited to 'test/ruby')
| -rw-r--r-- | test/ruby/test_compile_prism.rb | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb index 8c74003f5e..62edb329bc 100644 --- a/test/ruby/test_compile_prism.rb +++ b/test/ruby/test_compile_prism.rb @@ -253,15 +253,18 @@ module Prism def test_ConstantPathAndWriteNode assert_prism_eval("Prism::CPAWN = 1; Prism::CPAWN &&= 2") assert_prism_eval("Prism::CPAWN &&= 1") + assert_prism_eval("::CPAWN = 1; ::CPAWN &&= 2") end def test_ConstantPathOrWriteNode assert_prism_eval("Prism::CPOrWN = nil; Prism::CPOrWN ||= 1") assert_prism_eval("Prism::CPOrWN ||= 1") + assert_prism_eval("::CPOrWN = nil; ::CPOrWN ||= 1") end def test_ConstantPathOperatorWriteNode assert_prism_eval("Prism::CPOWN = 0; Prism::CPOWN += 1") + assert_prism_eval("::CPOWN = 0; ::CPOWN += 1") end def test_GlobalVariableAndWriteNode |
