summaryrefslogtreecommitdiff
path: root/spec/ruby/core/kernel
diff options
context:
space:
mode:
authornagachika <nagachika@ruby-lang.org>2023-06-24 16:59:30 +0900
committernagachika <nagachika@ruby-lang.org>2023-06-24 16:59:30 +0900
commit9fca561980c6d024229d72600180b20f3f77536f (patch)
treece07a2046854dd93d669f91243569c38a5671dbd /spec/ruby/core/kernel
parentf89101fa3610a7b977801d60b85bcc1ea2f6dee4 (diff)
merge revision(s) cd5e6cc0ea48353c88d921b885b552dc76da255c,bbf54ec334fe2edd7669a944d88d17efde49a412: [Backport #19307]
Update to ruby/mspec@fef9b81 --- spec/mspec/tool/tag_from_output.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Update to ruby/spec@9d69b95 --- spec/ruby/core/array/keep_if_spec.rb | 1 + spec/ruby/core/array/pack/c_spec.rb | 14 +- spec/ruby/core/array/pack/shared/basic.rb | 40 ++++ spec/ruby/core/array/pack/shared/float.rb | 66 ++++++- spec/ruby/core/array/pack/shared/integer.rb | 96 +++++++-- spec/ruby/core/array/pack/shared/numeric_basic.rb | 10 +- spec/ruby/core/array/pack/shared/unicode.rb | 14 +- spec/ruby/core/array/pack/w_spec.rb | 14 +- spec/ruby/core/array/shared/unshift.rb | 18 ++ spec/ruby/core/array/values_at_spec.rb | 1 + spec/ruby/core/array/zip_spec.rb | 6 + spec/ruby/core/class/subclasses_spec.rb | 22 +++ spec/ruby/core/dir/home_spec.rb | 44 +++-- spec/ruby/core/dir/mkdir_spec.rb | 18 +- spec/ruby/core/enumerable/zip_spec.rb | 5 + spec/ruby/core/float/comparison_spec.rb | 35 ++-- spec/ruby/core/float/divmod_spec.rb | 2 +- spec/ruby/core/float/gt_spec.rb | 21 ++ spec/ruby/core/float/gte_spec.rb | 21 ++ spec/ruby/core/float/lt_spec.rb | 21 ++ spec/ruby/core/float/lte_spec.rb | 21 ++ spec/ruby/core/float/shared/equal.rb | 21 ++ spec/ruby/core/io/gets_spec.rb | 4 + spec/ruby/core/io/lineno_spec.rb | 9 +- spec/ruby/core/io/new_spec.rb | 2 + spec/ruby/core/io/readline_spec.rb | 4 + spec/ruby/core/io/readlines_spec.rb | 4 + spec/ruby/core/io/shared/each.rb | 4 + spec/ruby/core/io/shared/new.rb | 2 + spec/ruby/core/io/shared/pos.rb | 8 +- spec/ruby/core/io/shared/readlines.rb | 4 + spec/ruby/core/io/sysseek_spec.rb | 2 +- spec/ruby/core/kernel/shared/load.rb | 31 ++- spec/ruby/core/kernel/singleton_class_spec.rb | 2 + spec/ruby/core/marshal/dump_spec.rb | 45 ++++- spec/ruby/core/marshal/fixtures/classes.rb | 4 + spec/ruby/core/matchdata/values_at_spec.rb | 73 ++++++- spec/ruby/core/module/fixtures/classes.rb | 1 + spec/ruby/core/module/include_spec.rb | 4 +- spec/ruby/core/module/prepend_spec.rb | 12 ++ .../ruby/core/objectspace/define_finalizer_spec.rb | 22 +++ spec/ruby/core/process/constants_spec.rb | 1 + spec/ruby/core/process/detach_spec.rb | 29 +++ spec/ruby/core/process/spawn_spec.rb | 10 + spec/ruby/core/process/times_spec.rb | 2 +- spec/ruby/core/queue/initialize_spec.rb | 13 +- spec/ruby/core/refinement/import_methods_spec.rb | 34 ++++ spec/ruby/core/refinement/include_spec.rb | 27 +++ spec/ruby/core/refinement/prepend_spec.rb | 27 +++ spec/ruby/core/regexp/initialize_spec.rb | 2 +- spec/ruby/core/signal/trap_spec.rb | 12 ++ spec/ruby/core/string/byteslice_spec.rb | 6 + spec/ruby/core/string/capitalize_spec.rb | 4 + spec/ruby/core/string/chars_spec.rb | 7 +- spec/ruby/core/string/chomp_spec.rb | 4 + spec/ruby/core/string/chop_spec.rb | 4 + spec/ruby/core/string/clone_spec.rb | 4 + spec/ruby/core/string/delete_prefix_spec.rb | 4 + spec/ruby/core/string/delete_spec.rb | 4 + spec/ruby/core/string/delete_suffix_spec.rb | 4 + spec/ruby/core/string/downcase_spec.rb | 4 + spec/ruby/core/string/dump_spec.rb | 10 +- spec/ruby/core/string/dup_spec.rb | 4 + spec/ruby/core/string/lines_spec.rb | 1 - spec/ruby/core/string/reverse_spec.rb | 4 + spec/ruby/core/string/scan_spec.rb | 6 + spec/ruby/core/string/scrub_spec.rb | 10 + spec/ruby/core/string/shared/each_line.rb | 6 + spec/ruby/core/string/shared/partition.rb | 15 ++ spec/ruby/core/string/shared/slice.rb | 13 +- spec/ruby/core/string/shared/strip.rb | 4 + spec/ruby/core/string/shared/succ.rb | 4 + spec/ruby/core/string/split_spec.rb | 17 +- spec/ruby/core/string/squeeze_spec.rb | 5 + spec/ruby/core/string/swapcase_spec.rb | 4 + spec/ruby/core/string/undump_spec.rb | 2 +- spec/ruby/core/string/unpack/b_spec.rb | 28 ++- spec/ruby/core/string/unpack/c_spec.rb | 14 +- spec/ruby/core/string/unpack/h_spec.rb | 28 ++- spec/ruby/core/string/unpack/shared/basic.rb | 28 --- spec/ruby/core/string/unpack/shared/float.rb | 60 +++++- spec/ruby/core/string/unpack/shared/integer.rb | 88 +++++++-- spec/ruby/core/string/unpack/shared/unicode.rb | 14 +- spec/ruby/core/string/unpack/w_spec.rb | 14 +- spec/ruby/core/string/unpack1_spec.rb | 12 +- spec/ruby/core/string/unpack_spec.rb | 34 ++++ spec/ruby/core/string/upcase_spec.rb | 4 + spec/ruby/core/string/valid_encoding/utf_8_spec.rb | 214 +++++++++++++++++++++ spec/ruby/core/struct/values_at_spec.rb | 55 +++++- spec/ruby/core/symbol/shared/id2name.rb | 7 + spec/ruby/core/time/at_spec.rb | 16 ++ spec/ruby/core/time/localtime_spec.rb | 16 +- spec/ruby/core/time/new_spec.rb | 94 +++++++-- spec/ruby/core/time/shared/gmtime.rb | 4 +- spec/ruby/core/time/shared/time_params.rb | 11 +- spec/ruby/core/time/strftime_spec.rb | 40 +++- spec/ruby/core/time/utc_spec.rb | 41 +++- spec/ruby/core/time/zone_spec.rb | 20 +- spec/ruby/core/tracepoint/inspect_spec.rb | 9 + spec/ruby/fixtures/code/load_wrap_fixture.rb | 12 ++ spec/ruby/fixtures/code/wrap_fixture.rb | 9 - spec/ruby/language/case_spec.rb | 4 +- .../ruby/language/regexp/character_classes_spec.rb | 5 + spec/ruby/library/coverage/running_spec.rb | 20 ++ spec/ruby/library/date/civil_spec.rb | 7 +- spec/ruby/library/objectspace/fixtures/trace.rb | 5 + spec/ruby/library/objectspace/trace_spec.rb | 15 ++ spec/ruby/library/openssl/x509/name/verify_spec.rb | 4 +- spec/ruby/library/stringio/initialize_spec.rb | 85 ++++++++ spec/ruby/library/stringio/new_spec.rb | 8 + spec/ruby/library/stringio/shared/write.rb | 22 +++ spec/ruby/optional/capi/ext/io_spec.c | 43 +++++ spec/ruby/optional/capi/io_spec.rb | 15 ++ spec/ruby/shared/rational/Rational.rb | 48 ++--- 114 files changed, 1963 insertions(+), 245 deletions(-) create mode 100644 spec/ruby/core/marshal/fixtures/classes.rb create mode 100644 spec/ruby/core/refinement/import_methods_spec.rb create mode 100644 spec/ruby/core/refinement/include_spec.rb create mode 100644 spec/ruby/core/refinement/prepend_spec.rb create mode 100644 spec/ruby/core/string/unpack_spec.rb create mode 100644 spec/ruby/core/string/valid_encoding/utf_8_spec.rb create mode 100644 spec/ruby/fixtures/code/load_wrap_fixture.rb delete mode 100644 spec/ruby/fixtures/code/wrap_fixture.rb create mode 100644 spec/ruby/library/coverage/running_spec.rb create mode 100644 spec/ruby/library/objectspace/fixtures/trace.rb create mode 100644 spec/ruby/library/objectspace/trace_spec.rb create mode 100644 spec/ruby/library/stringio/new_spec.rb
Diffstat (limited to 'spec/ruby/core/kernel')
-rw-r--r--spec/ruby/core/kernel/shared/load.rb31
-rw-r--r--spec/ruby/core/kernel/singleton_class_spec.rb2
2 files changed, 27 insertions, 6 deletions
diff --git a/spec/ruby/core/kernel/shared/load.rb b/spec/ruby/core/kernel/shared/load.rb
index cc84daeb88..5c41c19bf6 100644
--- a/spec/ruby/core/kernel/shared/load.rb
+++ b/spec/ruby/core/kernel/shared/load.rb
@@ -88,12 +88,12 @@ describe :kernel_load, shared: true do
describe "when passed true for 'wrap'" do
it "loads from an existing path" do
- path = File.expand_path "wrap_fixture.rb", CODE_LOADING_DIR
+ path = File.expand_path "load_wrap_fixture.rb", CODE_LOADING_DIR
@object.load(path, true).should be_true
end
it "sets the enclosing scope to an anonymous module" do
- path = File.expand_path "wrap_fixture.rb", CODE_LOADING_DIR
+ path = File.expand_path "load_wrap_fixture.rb", CODE_LOADING_DIR
@object.load(path, true)
Object.const_defined?(:LoadSpecWrap).should be_false
@@ -103,14 +103,14 @@ describe :kernel_load, shared: true do
end
it "allows referencing outside namespaces" do
- path = File.expand_path "wrap_fixture.rb", CODE_LOADING_DIR
+ path = File.expand_path "load_wrap_fixture.rb", CODE_LOADING_DIR
@object.load(path, true)
ScratchPad.recorded[0].should equal(String)
end
it "sets self as a copy of the top-level main" do
- path = File.expand_path "wrap_fixture.rb", CODE_LOADING_DIR
+ path = File.expand_path "load_wrap_fixture.rb", CODE_LOADING_DIR
@object.load(path, true)
top_level = ScratchPad.recorded[2]
@@ -127,7 +127,7 @@ describe :kernel_load, shared: true do
main_ancestors = main.singleton_class.ancestors[1..-1]
main_ancestors.first.should == mod
- path = File.expand_path "wrap_fixture.rb", CODE_LOADING_DIR
+ path = File.expand_path "load_wrap_fixture.rb", CODE_LOADING_DIR
@object.load(path, true)
top_level = ScratchPad.recorded[2]
@@ -157,7 +157,7 @@ describe :kernel_load, shared: true do
describe "when passed a module for 'wrap'" do
ruby_version_is "3.1" do
it "sets the enclosing scope to the supplied module" do
- path = File.expand_path "wrap_fixture.rb", CODE_LOADING_DIR
+ path = File.expand_path "load_wrap_fixture.rb", CODE_LOADING_DIR
mod = Module.new
@object.load(path, mod)
@@ -167,6 +167,25 @@ describe :kernel_load, shared: true do
wrap_module = ScratchPad.recorded[1]
wrap_module.should == mod
end
+
+ it "makes constants and instance methods in the source file reachable with the supplied module" do
+ path = File.expand_path "load_wrap_fixture.rb", CODE_LOADING_DIR
+ mod = Module.new
+ @object.load(path, mod)
+
+ mod::LOAD_WRAP_SPECS_TOP_LEVEL_CONSTANT.should == 1
+ obj = Object.new
+ obj.extend(mod)
+ obj.send(:load_wrap_specs_top_level_method).should == :load_wrap_specs_top_level_method
+ end
+
+ it "makes instance methods in the source file private" do
+ path = File.expand_path "load_wrap_fixture.rb", CODE_LOADING_DIR
+ mod = Module.new
+ @object.load(path, mod)
+
+ mod.private_instance_methods.include?(:load_wrap_specs_top_level_method).should == true
+ end
end
end
diff --git a/spec/ruby/core/kernel/singleton_class_spec.rb b/spec/ruby/core/kernel/singleton_class_spec.rb
index a8bcd916d1..c56fa08cc1 100644
--- a/spec/ruby/core/kernel/singleton_class_spec.rb
+++ b/spec/ruby/core/kernel/singleton_class_spec.rb
@@ -1,3 +1,5 @@
+require_relative '../../spec_helper'
+
describe "Kernel#singleton_class" do
it "returns class extended from an object" do
x = Object.new