summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-12-26 23:17:14 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-12-26 23:28:54 +0900
commit69f03c864eb193a163631d9a208fd64944b078dc (patch)
tree36717898123ab9e361951a1bacdadc0015eab7b0 /test/ruby
parent39bc5de83394a380c9967df74e06c824186f8560 (diff)
Remove Refinement#include and Refinement#prepend
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/5348
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_refinement.rb153
1 files changed, 14 insertions, 139 deletions
diff --git a/test/ruby/test_refinement.rb b/test/ruby/test_refinement.rb
index 19857b035c..e409abe6ca 100644
--- a/test/ruby/test_refinement.rb
+++ b/test/ruby/test_refinement.rb
@@ -754,134 +754,30 @@ class TestRefinement < Test::Unit::TestCase
$VERBOSE = verbose
end
- module IncludeIntoRefinement
- class C
- def bar
- return "C#bar"
- end
-
- def baz
- return "C#baz"
- end
- end
-
- module Mixin
- def foo
- return "Mixin#foo"
- end
-
- def bar
- return super << " Mixin#bar"
- end
-
- def baz
- return super << " Mixin#baz"
- end
- end
-
- module M
- refine C do
- TestRefinement.suppress_verbose do
- include Mixin
- end
-
- def baz
- return super << " M#baz"
- end
- end
- end
- end
-
- eval <<-EOF, Sandbox::BINDING
- using TestRefinement::IncludeIntoRefinement::M
-
- module TestRefinement::IncludeIntoRefinement::User
- def self.invoke_foo_on(x)
- x.foo
- end
-
- def self.invoke_bar_on(x)
- x.bar
- end
-
- def self.invoke_baz_on(x)
- x.baz
- end
- end
- EOF
-
def test_include_into_refinement
- x = IncludeIntoRefinement::C.new
- assert_equal("Mixin#foo", IncludeIntoRefinement::User.invoke_foo_on(x))
- assert_equal("C#bar Mixin#bar",
- IncludeIntoRefinement::User.invoke_bar_on(x))
- assert_equal("C#baz Mixin#baz M#baz",
- IncludeIntoRefinement::User.invoke_baz_on(x))
- end
-
- module PrependIntoRefinement
- class C
- def bar
- return "C#bar"
- end
-
- def baz
- return "C#baz"
- end
- end
-
- module Mixin
- def foo
- return "Mixin#foo"
- end
-
- def bar
- return super << " Mixin#bar"
- end
-
- def baz
- return super << " Mixin#baz"
- end
- end
-
- module M
- refine C do
- TestRefinement.suppress_verbose do
- prepend Mixin
- end
+ assert_raise(TypeError) do
+ c = Class.new
+ mixin = Module.new
- def baz
- return super << " M#baz"
+ Module.new do
+ refine c do
+ include mixin
end
end
end
end
- eval <<-EOF, Sandbox::BINDING
- using TestRefinement::PrependIntoRefinement::M
-
- module TestRefinement::PrependIntoRefinement::User
- def self.invoke_foo_on(x)
- x.foo
- end
-
- def self.invoke_bar_on(x)
- x.bar
- end
+ def test_prepend_into_refinement
+ assert_raise(TypeError) do
+ c = Class.new
+ mixin = Module.new
- def self.invoke_baz_on(x)
- x.baz
+ Module.new do
+ refine c do
+ prepend mixin
+ end
end
end
- EOF
-
- def test_prepend_into_refinement
- x = PrependIntoRefinement::C.new
- assert_equal("Mixin#foo", PrependIntoRefinement::User.invoke_foo_on(x))
- assert_equal("C#bar Mixin#bar",
- PrependIntoRefinement::User.invoke_bar_on(x))
- assert_equal("C#baz M#baz Mixin#baz",
- PrependIntoRefinement::User.invoke_baz_on(x))
end
PrependAfterRefine_CODE = <<-EOC
@@ -2626,18 +2522,6 @@ class TestRefinement < Test::Unit::TestCase
end
end
- module D
- refine A do
- TestRefinement.suppress_verbose do
- include B
- end
-
- def foo
- "refined"
- end
- end
- end
-
module UsingC
using C
@@ -2645,19 +2529,10 @@ class TestRefinement < Test::Unit::TestCase
A.new.bar
end
end
-
- module UsingD
- using D
-
- def self.call_bar
- A.new.bar
- end
- end
end
def test_import_methods
assert_equal("refined:bar", TestImport::UsingC.call_bar)
- assert_equal("original:bar", TestImport::UsingD.call_bar)
assert_raise(ArgumentError) do
Module.new do