diff options
Diffstat (limited to 'test/ruby/test_struct.rb')
| -rw-r--r-- | test/ruby/test_struct.rb | 59 |
1 files changed, 1 insertions, 58 deletions
diff --git a/test/ruby/test_struct.rb b/test/ruby/test_struct.rb index 85de0f23a9..af68346442 100644 --- a/test/ruby/test_struct.rb +++ b/test/ruby/test_struct.rb @@ -60,10 +60,6 @@ module TestStruct assert_equal(1, o.a) end - def test_attrset_id - assert_raise(ArgumentError) { Struct.new(:x=) } - end - def test_members klass = @Struct.new(:a) o = klass.new(1) @@ -105,7 +101,6 @@ module TestStruct @Struct.new("KeywordInitFalse", :a, :b, keyword_init: false) assert_raise(ArgumentError) { @Struct::KeywordInitTrue.new(1, 2) } - assert_raise(ArgumentError) { @Struct::KeywordInitTrue.new({a: 100}, 2) } assert_nothing_raised { @Struct::KeywordInitFalse.new(1, 2) } assert_nothing_raised { @Struct::KeywordInitTrue.new(a: 1, b: 2) } assert_raise(ArgumentError) { @Struct::KeywordInitTrue.new(1, b: 2) } @@ -113,10 +108,6 @@ module TestStruct assert_equal @Struct::KeywordInitTrue.new(a: 1, b: 2).values, @Struct::KeywordInitFalse.new(1, 2).values assert_equal "#{@Struct}::KeywordInitFalse", @Struct::KeywordInitFalse.inspect assert_equal "#{@Struct}::KeywordInitTrue(keyword_init: true)", @Struct::KeywordInitTrue.inspect - # eval is needed to prevent the warning duplication filter - k = Class.new(@Struct::KeywordInitTrue) {def initialize(b, options); super(a: options, b: b); end} - o = assert_warn('') { k.new(42, {foo: 1, bar: 2}) } - assert_equal(1, o.a[:foo]) @Struct.instance_eval do remove_const(:KeywordInitTrue) @@ -124,16 +115,6 @@ module TestStruct end end - def test_struct_new_with_keyword_init_and_block - struct = @Struct.new(:a, :b, keyword_init: true) do - def c - a + b - end - end - - assert_equal(3, struct.new(a: 1, b: 2).c) - end - def test_initialize klass = @Struct.new(:a) assert_raise(ArgumentError) { klass.new(1, 2) } @@ -151,17 +132,6 @@ module TestStruct assert_equal([1, 2], o.each.to_a) end - def test_initialize_with_kw - klass = @Struct.new(:foo, :options) do - def initialize(foo, **options) - super(foo, options) - end - end - assert_equal({}, klass.new(42, **Hash.new).options) - x = assert_warn('') { klass.new(1, bar: 2) } - assert_equal 2, x.options[:bar] - end - def test_each_pair klass = @Struct.new(:a, :b) o = klass.new(1, 2) @@ -246,13 +216,6 @@ module TestStruct assert_raise(ArgumentError) { o.select(1) } end - def test_filter - klass = @Struct.new(:a, :b, :c, :d, :e, :f) - o = klass.new(1, 2, 3, 4, 5, 6) - assert_equal([1, 3, 5], o.filter {|v| v % 2 != 0 }) - assert_raise(ArgumentError) { o.filter(1) } - end - def test_big_struct klass1 = @Struct.new(*('a'..'z').map(&:to_sym)) o = klass1.new @@ -309,7 +272,6 @@ module TestStruct klass = @Struct.new(:a) o = klass.new(1) assert_kind_of(Integer, o.hash) - assert_kind_of(String, o.hash.to_s) end def test_eql @@ -397,13 +359,6 @@ module TestStruct assert_equal({a:1, b:2, c:3, d:4, e:5, f:6}, o.to_h) end - def test_to_h_block - klass = @Struct.new(:a, :b, :c, :d, :e, :f) - o = klass.new(1, 2, 3, 4, 5, 6) - assert_equal({"a" => 1, "b" => 4, "c" => 9, "d" => 16, "e" => 25, "f" => 36}, - o.to_h {|k, v| [k.to_s, v*v]}) - end - def test_question_mark_in_member klass = @Struct.new(:a, :b?) x = Object.new @@ -435,25 +390,13 @@ module TestStruct assert_nil(o.dig(:b, 0)) end - def test_new_duplicate + def test_new_dupilicate bug12291 = '[ruby-core:74971] [Bug #12291]' assert_raise_with_message(ArgumentError, /duplicate member/, bug12291) { @Struct.new(:a, :a) } end - def test_deconstruct_keys - klass = @Struct.new(:a, :b) - o = klass.new(1, 2) - assert_equal({a: 1, b: 2}, o.deconstruct_keys(nil)) - assert_equal({a: 1, b: 2}, o.deconstruct_keys([:b, :a])) - assert_equal({a: 1}, o.deconstruct_keys([:a])) - assert_not_send([o.deconstruct_keys([:a, :c]), :key?, :c]) - assert_raise(TypeError) { - o.deconstruct_keys(0) - } - end - class TopStruct < Test::Unit::TestCase include TestStruct |
