summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2024-07-13 12:59:58 +0900
committerKevin Newton <kddnewton@gmail.com>2024-07-17 14:06:11 -0400
commit644424941a771f471134c40204ecbb4589dc74f2 (patch)
tree300bb16f7b66df659117437c8371de9367a439bb /test
parent7993b88eeec79cce14b04c37f91b0adc3ee1e14f (diff)
[Bug #20457] [Prism] Remove redundant return flag
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/11163
Diffstat (limited to 'test')
-rw-r--r--test/prism/result/redundant_return_test.rb73
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_defn_complex.txt2
-rw-r--r--test/prism/snapshots/seattlerb/parse_line_return.txt2
-rw-r--r--test/prism/snapshots/whitequark/ruby_bug_9669.txt2
4 files changed, 3 insertions, 76 deletions
diff --git a/test/prism/result/redundant_return_test.rb b/test/prism/result/redundant_return_test.rb
deleted file mode 100644
index 3b20aeba00..0000000000
--- a/test/prism/result/redundant_return_test.rb
+++ /dev/null
@@ -1,73 +0,0 @@
-# frozen_string_literal: true
-
-require_relative "../test_helper"
-
-module Prism
- class RedundantReturnTest < TestCase
- def test_statements
- assert_redundant_return("def foo; return; end")
- refute_redundant_return("def foo; return; 1; end")
- end
-
- def test_begin_implicit
- assert_redundant_return("def foo; return; rescue; end")
- refute_redundant_return("def foo; return; 1; rescue; end")
- refute_redundant_return("def foo; return; rescue; else; end")
- end
-
- def test_begin_explicit
- assert_redundant_return("def foo; begin; return; rescue; end; end")
- refute_redundant_return("def foo; begin; return; 1; rescue; end; end")
- refute_redundant_return("def foo; begin; return; rescue; else; end; end")
- end
-
- def test_if
- assert_redundant_return("def foo; return if bar; end")
- end
-
- def test_unless
- assert_redundant_return("def foo; return unless bar; end")
- end
-
- def test_else
- assert_redundant_return("def foo; if bar; baz; else; return; end; end")
- end
-
- def test_case_when
- assert_redundant_return("def foo; case bar; when baz; return; end; end")
- end
-
- def test_case_else
- assert_redundant_return("def foo; case bar; when baz; else; return; end; end")
- end
-
- def test_case_match_in
- assert_redundant_return("def foo; case bar; in baz; return; end; end")
- end
-
- def test_case_match_else
- assert_redundant_return("def foo; case bar; in baz; else; return; end; end")
- end
-
- private
-
- def assert_redundant_return(source)
- assert find_return(source).redundant?
- end
-
- def refute_redundant_return(source)
- refute find_return(source).redundant?
- end
-
- def find_return(source)
- queue = [Prism.parse(source).value]
-
- while (current = queue.shift)
- return current if current.is_a?(ReturnNode)
- queue.concat(current.compact_child_nodes)
- end
-
- flunk "Could not find return node in #{node.inspect}"
- end
- end
-end
diff --git a/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt b/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt
index 2a91fc6bba..fb4d1940f2 100644
--- a/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt
@@ -56,7 +56,7 @@
│ │ ├── binary_operator: :*
│ │ └── depth: 0
│ └── @ ReturnNode (location: (4,2)-(4,10))
- │ ├── flags: newline, redundant
+ │ ├── flags: newline
│ ├── keyword_loc: (4,2)-(4,8) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (4,9)-(4,10))
diff --git a/test/prism/snapshots/seattlerb/parse_line_return.txt b/test/prism/snapshots/seattlerb/parse_line_return.txt
index 70a7286746..14d18e71d3 100644
--- a/test/prism/snapshots/seattlerb/parse_line_return.txt
+++ b/test/prism/snapshots/seattlerb/parse_line_return.txt
@@ -27,7 +27,7 @@
│ │ ├── flags: ∅
│ │ └── body: (length: 1)
│ │ └── @ ReturnNode (location: (3,10)-(3,19))
- │ │ ├── flags: newline, redundant
+ │ │ ├── flags: newline
│ │ ├── keyword_loc: (3,10)-(3,16) = "return"
│ │ └── arguments:
│ │ @ ArgumentsNode (location: (3,17)-(3,19))
diff --git a/test/prism/snapshots/whitequark/ruby_bug_9669.txt b/test/prism/snapshots/whitequark/ruby_bug_9669.txt
index 3d2e305657..c771c50c8a 100644
--- a/test/prism/snapshots/whitequark/ruby_bug_9669.txt
+++ b/test/prism/snapshots/whitequark/ruby_bug_9669.txt
@@ -29,7 +29,7 @@
│ │ ├── flags: ∅
│ │ └── body: (length: 1)
│ │ └── @ ReturnNode (location: (2,0)-(2,6))
- │ │ ├── flags: newline, redundant
+ │ │ ├── flags: newline
│ │ ├── keyword_loc: (2,0)-(2,6) = "return"
│ │ └── arguments: ∅
│ ├── locals: [:b]