diff options
Diffstat (limited to 'test/ruby')
| -rw-r--r-- | test/ruby/test_data.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/ruby/test_data.rb b/test/ruby/test_data.rb index 3cafb365ed..9380076e1b 100644 --- a/test/ruby/test_data.rb +++ b/test/ruby/test_data.rb @@ -217,6 +217,22 @@ class TestData < Test::Unit::TestCase end end + def test_with_initialize + oddclass = Data.define(:odd) do + def initialize(odd:) + raise ArgumentError, "Not odd" unless odd.odd? + super(odd: odd) + end + end + assert_raise_with_message(ArgumentError, "Not odd") { + oddclass.new(odd: 0) + } + odd = oddclass.new(odd: 1) + assert_raise_with_message(ArgumentError, "Not odd") { + odd.with(odd: 2) + } + end + def test_memberless klass = Data.define |
