From 835c63cd8818dfa86bce54d818c11cbec25b1285 Mon Sep 17 00:00:00 2001 From: "NARUSE, Yui" Date: Thu, 15 Jul 2021 18:21:49 +0900 Subject: [PATCH] Add tests and NEWS [Feature #18008] --- NEWS.md | 2 ++ test/ruby/test_struct.rb | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/NEWS.md b/NEWS.md index 2ae2e2178b..702803eee7 100644 --- a/NEWS.md +++ b/NEWS.md @@ -96,6 +96,8 @@ Outstanding ones only. You need to use a Hash literal to set a Hash to a first member. [[Feature #16806]] + * StructClass#keyword_init? is added [[Feature #18008]] + * Queue * Queue#initialize now accepts an Enumerable of initial values. diff --git a/test/ruby/test_struct.rb b/test/ruby/test_struct.rb index 7426282beb..000d229e17 100644 --- a/test/ruby/test_struct.rb +++ b/test/ruby/test_struct.rb @@ -138,6 +138,14 @@ module TestStruct assert_equal(3, struct.new(a: 1, b: 2).c) end + def test_struct_keyword_init_p + struct = @Struct.new(:a, :b, keyword_init: true) + assert_equal(true, struct.keyword_init?) + + struct = @Struct.new(:a, :b, keyword_init: false) + assert_equal(false, struct.keyword_init?) + end + def test_initialize klass = @Struct.new(:a) assert_raise(ArgumentError) { klass.new(1, 2) }