summaryrefslogtreecommitdiff
path: root/spec/ruby/core/array/shift_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/array/shift_spec.rb')
-rw-r--r--spec/ruby/core/array/shift_spec.rb38
1 files changed, 12 insertions, 26 deletions
diff --git a/spec/ruby/core/array/shift_spec.rb b/spec/ruby/core/array/shift_spec.rb
index 26bce8aeb3..09dfa79c45 100644
--- a/spec/ruby/core/array/shift_spec.rb
+++ b/spec/ruby/core/array/shift_spec.rb
@@ -30,11 +30,11 @@ describe "Array#shift" do
array[0..2].should == ['two', 3.0, array]
end
- it "raises a #{frozen_error_class} on a frozen array" do
- lambda { ArraySpecs.frozen_array.shift }.should raise_error(frozen_error_class)
+ it "raises a FrozenError on a frozen array" do
+ -> { ArraySpecs.frozen_array.shift }.should.raise(FrozenError)
end
- it "raises a #{frozen_error_class} on an empty frozen array" do
- lambda { ArraySpecs.empty_frozen_array.shift }.should raise_error(frozen_error_class)
+ it "raises a FrozenError on an empty frozen array" do
+ -> { ArraySpecs.empty_frozen_array.shift }.should.raise(FrozenError)
end
describe "passed a number n as an argument" do
@@ -72,7 +72,7 @@ describe "Array#shift" do
popped2.should == []
a.should == []
- popped1.should_not equal(popped2)
+ popped1.should_not.equal?(popped2)
end
it "returns whole elements if n exceeds size of the array" do
@@ -83,14 +83,14 @@ describe "Array#shift" do
it "does not return self even when it returns whole elements" do
a = [1, 2, 3, 4, 5]
- a.shift(5).should_not equal(a)
+ a.shift(5).should_not.equal?(a)
a = [1, 2, 3, 4, 5]
- a.shift(6).should_not equal(a)
+ a.shift(6).should_not.equal?(a)
end
it "raises an ArgumentError if n is negative" do
- lambda{ [1, 2, 3].shift(-1) }.should raise_error(ArgumentError)
+ ->{ [1, 2, 3].shift(-1) }.should.raise(ArgumentError)
end
it "tries to convert n to an Integer using #to_int" do
@@ -105,30 +105,16 @@ describe "Array#shift" do
end
it "raises a TypeError when the passed n cannot be coerced to Integer" do
- lambda{ [1, 2].shift("cat") }.should raise_error(TypeError)
- lambda{ [1, 2].shift(nil) }.should raise_error(TypeError)
+ ->{ [1, 2].shift("cat") }.should.raise(TypeError)
+ ->{ [1, 2].shift(nil) }.should.raise(TypeError)
end
it "raises an ArgumentError if more arguments are passed" do
- lambda{ [1, 2].shift(1, 2) }.should raise_error(ArgumentError)
+ ->{ [1, 2].shift(1, 2) }.should.raise(ArgumentError)
end
it "does not return subclass instances with Array subclass" do
- ArraySpecs::MyArray[1, 2, 3].shift(2).should be_an_instance_of(Array)
- end
-
- it "returns an untainted array even if the array is tainted" do
- ary = [1, 2].taint
- ary.shift(2).tainted?.should be_false
- ary.shift(0).tainted?.should be_false
- end
-
- it "keeps taint status" do
- a = [1, 2].taint
- a.shift(2)
- a.tainted?.should be_true
- a.shift(2)
- a.tainted?.should be_true
+ ArraySpecs::MyArray[1, 2, 3].shift(2).should.instance_of?(Array)
end
end
end
587'>.github/workflows/mjit-bindgen.yml104
-rw-r--r--.github/workflows/mjit.yml50
-rw-r--r--.github/workflows/publish.yml18
-rw-r--r--.github/workflows/scorecards.yml72
-rw-r--r--.github/workflows/spec_guards.yml50
-rw-r--r--.github/workflows/ubuntu.yml66
-rw-r--r--.github/workflows/wasm.yml56
-rw-r--r--.github/workflows/windows.yml89
-rw-r--r--.github/workflows/yjit-ubuntu.yml74
-rw-r--r--.gitignore16
-rw-r--r--.indent.pro32
-rw-r--r--.travis.yml234
-rw-r--r--LEGAL10
-rw-r--r--NEWS.md748
-rw-r--r--README.ja.md1
-rw-r--r--README.md7
-rw-r--r--addr2line.c452
-rw-r--r--array.c2170
-rw-r--r--ast.c60
-rw-r--r--ast.rb110
-rw-r--r--benchmark/README.md8
-rw-r--r--benchmark/array_sort_int.yml15
-rw-r--r--benchmark/buffer_each.yml27
-rw-r--r--benchmark/buffer_get.yml32
-rw-r--r--benchmark/cgi_escape_html.yml37
-rw-r--r--benchmark/enum_minmax.yml25
-rw-r--r--benchmark/enum_sort.yml15
-rw-r--r--benchmark/erb_escape_html.yml31
-rw-r--r--benchmark/io_write.rb22
-rw-r--r--benchmark/lib/benchmark_driver/runner/mjit.rb2
-rw-r--r--benchmark/lib/benchmark_driver/runner/mjit_exec.rb237
-rw-r--r--benchmark/marshal_dump_load_integer.yml22
-rw-r--r--benchmark/masgn.yml26
-rw-r--r--benchmark/mjit_exec_jt2jt.yml6
-rw-r--r--benchmark/mjit_exec_vm2jt.yml6
-rw-r--r--benchmark/mjit_exec_vm2vm.yml6
-rw-r--r--benchmark/numeric_methods.yml16
-rw-r--r--benchmark/range_min.yml2
-rw-r--r--benchmark/so_nbody.rb58
-rw-r--r--benchmark/string_concat.yml45
-rw-r--r--benchmark/time_parse.yml2
-rw-r--r--benchmark/vm_const.yml6
-rw-r--r--benchmark/vm_freezeobj.yml6
-rw-r--r--benchmark/vm_ivar_embedded_obj_init.yml14
-rw-r--r--benchmark/vm_ivar_extended_obj_init.yml (renamed from benchmark/vm_ivar_init.yml)8
-rw-r--r--benchmark/vm_ivar_generic_get.yml17
-rw-r--r--benchmark/vm_ivar_generic_set.yml14
-rw-r--r--benchmark/vm_ivar_get.yml37
-rw-r--r--benchmark/vm_ivar_get_unintialized.yml12
-rw-r--r--benchmark/vm_ivar_lazy_set.yml12
-rw-r--r--benchmark/vm_ivar_set_on_instance.yml35
-rw-r--r--benchmark/vm_ivar_set_subclass.yml9
-rw-r--r--benchmark/vm_lvar_cond_set.yml8
-rw-r--r--bignum.c1134
-rwxr-xr-xbin/gem19
-rwxr-xr-xbootstraptest/runner.rb94
-rw-r--r--bootstraptest/test_attr.rb16
-rw-r--r--bootstraptest/test_io.rb3
-rw-r--r--bootstraptest/test_ractor.rb56
-rw-r--r--bootstraptest/test_yjit.rb678
-rw-r--r--builtin.h77
-rw-r--r--ccan/check_type/check_type.h2
-rw-r--r--ccan/container_of/container_of.h4
-rw-r--r--ccan/list/list.h2
-rw-r--r--class.c688
-rw-r--r--common.mk1323
-rw-r--r--compar.c20
-rw-r--r--compile.c7230
-rw-r--r--complex.c793
-rw-r--r--configure.ac564
-rw-r--r--cont.c921
-rw-r--r--coroutine/asyncify/Context.h8
-rw-r--r--coroutine/ppc/Context.S117
-rw-r--r--coroutine/ppc/Context.h1
-rw-r--r--coroutine/ppc64/Context.S121
-rw-r--r--coroutine/ppc64/Context.h4
-rw-r--r--cygwin/GNUmakefile.in35
-rw-r--r--debug.c324
-rw-r--r--debug_counter.c36
-rw-r--r--debug_counter.h45
-rw-r--r--defs/gmake.mk255
-rw-r--r--defs/id.def6
-rw-r--r--defs/keywords2
-rw-r--r--defs/lex.c.src2
-rw-r--r--dir.c1756
-rw-r--r--dir.rb2
-rw-r--r--dln.c181
-rw-r--r--dln_find.c246
-rw-r--r--dmyenc.c2
-rw-r--r--doc/.document2
-rw-r--r--doc/ChangeLog-2.3.010
-rw-r--r--doc/NEWS/NEWS-3.0.0.md12
-rw-r--r--doc/case_mapping.rdoc4
-rw-r--r--doc/command_injection.rdoc2
-rw-r--r--doc/contributing.md1
-rw-r--r--doc/contributing/building_ruby.md110
-rw-r--r--doc/contributing/documentation_guide.md151
-rw-r--r--doc/contributing/testing_ruby.md46
-rw-r--r--doc/date/calendars.rdoc62
-rw-r--r--doc/encodings.rdoc11
-rw-r--r--doc/examples/files.rdoc26
-rw-r--r--doc/hacking.md106
-rw-r--r--doc/maintainers.rdoc8
-rw-r--r--doc/mjit/mjit.md39
-rw-r--r--doc/net-http/examples.rdoc31
-rw-r--r--doc/net-http/included_getters.rdoc3
-rw-r--r--doc/packed_data.rdoc590