wxruby3 1.2.1 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/ext/wxruby3/swig/custom/director.swg +16 -22
  3. data/ext/wxruby3/swig/custom/rubyapi.swg +15 -1
  4. data/lib/wx/aui/auimanager.rb +61 -14
  5. data/lib/wx/core/animation.rb +35 -14
  6. data/lib/wx/core/array_ext.rb +1 -0
  7. data/lib/wx/core/brush.rb +8 -0
  8. data/lib/wx/core/choicedlg.rb +7 -10
  9. data/lib/wx/core/colour.rb +10 -0
  10. data/lib/wx/core/defs.rb +49 -0
  11. data/lib/wx/core/dialog.rb +2 -2
  12. data/lib/wx/core/enum.rb +16 -3
  13. data/lib/wx/core/event.rb +7 -0
  14. data/lib/wx/core/file_dialog.rb +25 -0
  15. data/lib/wx/core/font.rb +14 -0
  16. data/lib/wx/core/gdi_object.rb +24 -0
  17. data/lib/wx/core/hboxsizer.rb +24 -4
  18. data/lib/wx/core/object.rb +26 -11
  19. data/lib/wx/core/pen.rb +20 -0
  20. data/lib/wx/core/real_point.rb +1 -0
  21. data/lib/wx/core/sizer.rb +166 -39
  22. data/lib/wx/core/variant.rb +108 -51
  23. data/lib/wx/core/vboxsizer.rb +24 -4
  24. data/lib/wx/doc/array_ext.rb +1 -0
  25. data/lib/wx/doc/aui/auimanager.rb +2 -0
  26. data/lib/wx/doc/colour.rb +12 -0
  27. data/lib/wx/doc/enum.rb +26 -0
  28. data/lib/wx/doc/evthandler.rb +6 -0
  29. data/lib/wx/doc/functions.rb +35 -3
  30. data/lib/wx/doc/gdi_common.rb +1 -0
  31. data/lib/wx/doc/gdi_object.rb +22 -0
  32. data/lib/wx/doc/object.rb +24 -0
  33. data/lib/wx/doc/variant.rb +8 -0
  34. data/lib/wx/helpers.rb +2 -3
  35. data/lib/wx/keyword_defs.rb +7 -0
  36. data/lib/wx/version.rb +1 -1
  37. data/rakelib/lib/config.rb +1 -1
  38. data/rakelib/lib/core/include/funcall.inc +9 -24
  39. data/rakelib/lib/core/include/swigdirector.inc +29 -11
  40. data/rakelib/lib/core/include/swigrubyrun.inc +2 -2
  41. data/rakelib/lib/director/animation_ctrl.rb +6 -0
  42. data/rakelib/lib/director/aui_manager.rb +118 -3
  43. data/rakelib/lib/director/defs.rb +3 -0
  44. data/rakelib/lib/director/dialog.rb +17 -7
  45. data/rakelib/lib/director/file_dialog_customize_hook.rb +77 -1
  46. data/rakelib/lib/director/functions.rb +0 -12
  47. data/rakelib/lib/director/pgproperties.rb +2 -2
  48. data/rakelib/lib/director/property_grid_interface.rb +4 -3
  49. data/rakelib/lib/director/textctrl.rb +7 -0
  50. data/rakelib/lib/director/validator.rb +7 -42
  51. data/rakelib/lib/director/variant.rb +2 -2
  52. data/rakelib/lib/extractor/function.rb +5 -0
  53. data/rakelib/lib/generate/doc/credential_entry_dialog.yaml +10 -0
  54. data/rakelib/lib/generate/doc/generic_about_dialog.yaml +46 -0
  55. data/rakelib/lib/specs/interfaces.rb +2 -0
  56. data/rakelib/lib/swig_runner.rb +6 -3
  57. data/rakelib/lib/typemap/common.rb +2 -2
  58. data/rakelib/lib/util/string.rb +7 -6
  59. data/samples/animate/anitest.rb +13 -9
  60. data/samples/dialogs/dialogs.rb +1 -1
  61. data/tests/lib/leaked_overload_exception_test.rb +25 -0
  62. data/tests/lib/leaked_process_event_exception_test.rb +33 -0
  63. data/tests/lib/leaked_queued_event_exception_test.rb +34 -0
  64. data/tests/lib/overload_type_exception_test.rb +25 -0
  65. data/tests/test_exceptions.rb +24 -24
  66. metadata +13 -3
@@ -0,0 +1,46 @@
1
+ ---
2
+ :wxGenericAboutDialog:
3
+ :detail:
4
+ :pre:
5
+ :programlisting:
6
+ - :pattern: !ruby/regexp /.*/
7
+ :replace: |
8
+
9
+ ```ruby
10
+ class MyFrame < Wx::Frame
11
+
12
+ # declare custom about dialog class
13
+ class MyAboutDlg < Wx::GenericAboutDialog
14
+
15
+ def initialize(about_info, parent=nil)
16
+ super()
17
+
18
+ create(about_info, parent)
19
+ end
20
+
21
+ def do_add_custom_controls
22
+ # add custom controls ...
23
+ end
24
+ protected :do_add_custom_controls
25
+
26
+ end
27
+
28
+ # fill in MyFrame class ...
29
+
30
+ # handler for an About menu/button
31
+ def on_about(_evt)
32
+ aboutInfo = Wx::AboutDialogInfo.new
33
+
34
+ aboutInfo.set_name('MyApp')
35
+ aboutInfo.set_version(MY_APP_VERSION_STRING)
36
+ aboutInfo.set_description('My wxWidgets-based application!')
37
+ aboutInfo.set_copyright('(C) 1992-2024')
38
+ aboutInfo.set_web_site('http://myapp.org')
39
+ aboutInfo.add_developer('My Self')
40
+
41
+ MyFrame.MyAboutDlg(aboutInfo, self) do |dlgAbout|
42
+ dlgAbout.show_modal
43
+ end
44
+ end
45
+ end
46
+ ```
@@ -237,6 +237,8 @@ module WXRuby3
237
237
  Director.Spec(pkg, 'wxDCOverlay', director: Director::DerivedDC)
238
238
  Director.Spec(pkg, 'wxGeometry', requirements: %w[USE_GEOMETRY])
239
239
  Director.Spec(pkg, 'wxAffineMatrix2D', requirements: %w[USE_GEOMETRY])
240
+ Director.Spec(pkg, 'wxCredentialEntryDialog', director: Director::Dialog, requirements: %w[USE_CREDENTIALDLG])
241
+ Director.Spec(pkg, 'wxGenericAboutDialog', director: Director::Dialog, requirements: %w[USE_ABOUTDLG])
240
242
  }
241
243
 
242
244
  Director.Package('Wx::PRT', 'USE_PRINTING_ARCHITECTURE') do |pkg|
@@ -726,20 +726,23 @@ module WXRuby3
726
726
  elsif wrapper_re =~ line
727
727
  class_nm = $1
728
728
  mtd_nm = $2
729
+ if /(\w+)__SWIG_.+/ =~ mtd_nm # in case of method overloads
730
+ mtd_nm = $1
731
+ end
729
732
  at_wrapper = true
730
733
  if (mdef = member_map[class_nm].detect { |m| Extractor::MethodDef === m && (m.rb_name || m.name) == mtd_nm })
731
734
  matched_wrapper = true
732
735
  mtd_call_re = /(\s*)\S.*arg1\)?->#{mtd_nm}(\(.*\));/
733
- line = [line, ' bool fpa_upcall = false;', ' Swig::Director *fpa_dir = 0;']
736
+ line = [line, ' bool SWIGUNUSED fpa_upcall = false;', ' Swig::Director* SWIGUNUSED fpa_dir = 0;']
734
737
  elsif (mdef = member_map[class_nm].detect { |m| Extractor::MemberVarDef === m && "#{m.rb_name || m.name}_get" == mtd_nm })
735
738
  matched_wrapper = true
736
739
  mtd_call_re = /(\s*)\S.*arg1\)?->#{mdef.name}\)?;/
737
- line = [line, ' bool fpa_upcall = false;', ' Swig::Director *fpa_dir = 0;']
740
+ line = [line, ' bool SWIGUNUSED fpa_upcall = false;', ' Swig::Director* SWIGUNUSED fpa_dir = 0;']
738
741
  elsif (mdef = member_map[class_nm].detect { |m| Extractor::MemberVarDef === m && "#{m.rb_name || m.name}_set" == mtd_nm })
739
742
  matched_wrapper = true
740
743
  at_setter = true;
741
744
  mtd_call_re = /(\s*)\S.*arg1\)?->#{mdef.name}(\s*=\s*.*);/
742
- line = [line, ' bool fpa_upcall = false;', ' Swig::Director *fpa_dir = 0;']
745
+ line = [line, ' bool SWIGUNUSED fpa_upcall = false;', ' Swig::Director* SWIGUNUSED fpa_dir = 0;']
743
746
  end
744
747
  elsif /rb_define_method\(SwigClassWx(#{cls_re_txt}).klass\s*,\s*"(\w+)(=)?"\s*,\s*VALUEFUNC/ =~ line
745
748
  class_nm = $1
@@ -364,7 +364,7 @@ module WXRuby3
364
364
  }
365
365
  __CODE
366
366
  map_directorout code: <<~__CODE
367
- if (TYPE($input) != T_ARRAY)
367
+ if (TYPE($input) == T_ARRAY)
368
368
  {
369
369
  for (int i = 0; i < RARRAY_LEN($input); i++)
370
370
  {
@@ -398,7 +398,7 @@ module WXRuby3
398
398
  }
399
399
  __CODE
400
400
  map_directorout code: <<~__CODE
401
- if (TYPE($input) != T_ARRAY)
401
+ if (TYPE($input) == T_ARRAY)
402
402
  {
403
403
  for (int i = 0; i < RARRAY_LEN($input); i++)
404
404
  {
@@ -107,9 +107,10 @@ module WXRuby3
107
107
  end
108
108
 
109
109
  def rb_constant_expression(exp, const_xref)
110
- exp.gsub(/(\w+(::\w+)*)(\s*\()?/) do |s|
110
+ exp.gsub(/(\w+(::\w+)*)(\s*\((\))?)?/) do |s|
111
111
  idstr = $1
112
- is_call = !!$3
112
+ call_bracket = $3
113
+ is_empty_call = !!$4
113
114
  is_scoped = false
114
115
  ids = idstr.split('::')
115
116
  if ids.size > 1
@@ -120,18 +121,18 @@ module WXRuby3
120
121
  end
121
122
  end
122
123
  idstr = ids.shift
123
- if is_call
124
+ if call_bracket
124
125
  # object ctor or static method call
125
126
  if is_scoped
126
127
  # static method
127
- "#{scoped_name}.#{rb_method_name(idstr)}("
128
+ "#{scoped_name}.#{rb_method_name(idstr)}#{call_bracket}"
128
129
  else
129
130
  # ctor
130
131
  case idstr
131
132
  when 'wxString'
132
- '('
133
+ is_empty_call ? "''" : call_bracket
133
134
  else
134
- "#{idstr.start_with?('wx') ? 'Wx::' : ''}#{rb_wx_name(idstr)}.new("
135
+ "#{idstr.start_with?('wx') ? 'Wx::' : ''}#{rb_wx_name(idstr)}.new#{call_bracket}"
135
136
  end
136
137
  end
137
138
  else
@@ -81,16 +81,20 @@ module AniTest
81
81
 
82
82
  @animation_ctrl = Wx::AnimationCtrl.new(self, Wx::ID_ANY)
83
83
 
84
- animations = Wx::AnimationBundle.new
84
+ if Wx::WXWIDGETS_VERSION >= '3.3.0'
85
+ animations = Wx::AnimationBundle.new
85
86
 
86
- throbber = Wx::Animation.new(File.join(__dir__, 'throbber.gif'))
87
- animations.add(throbber) if throbber.ok?
87
+ throbber = Wx::Animation.new(File.join(__dir__, 'throbber.gif'))
88
+ animations.add(throbber) if throbber.ok?
88
89
 
89
- throbber2x = Wx::Animation.new(File.join(__dir__, 'throbber_2x.gif'))
90
- animations.add(throbber2x) if throbber2x.ok?
90
+ throbber2x = Wx::Animation.new(File.join(__dir__, 'throbber_2x.gif'))
91
+ animations.add(throbber2x) if throbber2x.ok?
91
92
 
92
- if animations.ok?
93
- @animation_ctrl.set_animation(animations)
93
+ if animations.ok?
94
+ @animation_ctrl.set_animation(animations)
95
+ @animation_ctrl.play
96
+ end
97
+ elsif @animation_ctrl.load('throbber.gif')
94
98
  @animation_ctrl.play
95
99
  end
96
100
 
@@ -137,7 +141,7 @@ module AniTest
137
141
  end
138
142
 
139
143
  def on_set_null_animation(_event)
140
- @animation_ctrl.set_animation(Wx::AnimationBundle.new(Wx::NULL_ANIMATION))
144
+ @animation_ctrl.set_animation(Wx::NULL_ANIMATION)
141
145
  end
142
146
 
143
147
  def on_set_inactive_bitmap(event)
@@ -195,7 +199,7 @@ module AniTest
195
199
  return
196
200
  end
197
201
 
198
- @animation_ctrl.set_animation(Wx::AnimationBundle.new(temp))
202
+ @animation_ctrl.set_animation(temp)
199
203
  @animation_ctrl.play
200
204
 
201
205
  get_sizer.layout
@@ -167,7 +167,7 @@ module Dialogs
167
167
  end
168
168
 
169
169
  create(parent, -1, "Preferences")
170
- create_buttons(Wx::ID_OK|Wx::ID_CANCEL)
170
+ create_buttons(Wx::OK|Wx::CANCEL)
171
171
  book_ctrl.set_images(imgs)
172
172
  book_ctrl.add_page(file_panel(book_ctrl), "File", false, img_id1)
173
173
  book_ctrl.add_page(cdrom_panel(book_ctrl), "CD ROM", false, img_id2)
@@ -0,0 +1,25 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+ require_relative './wxframe_runner'
6
+
7
+ class DirectorOverloadExceptionTests < WxRuby::Test::GUITests
8
+
9
+ class ExceptionSizer < Wx::BoxSizer
10
+
11
+ def calc_min
12
+ raise RuntimeError, 'AnyThing'
13
+ end
14
+
15
+ end
16
+
17
+ def test_exception_in_overload
18
+ szr = ExceptionSizer.new(Wx::Orientation::VERTICAL)
19
+ szr.add(Wx::Button.new(frame_win, name: 'button'), Wx::Direction::TOP)
20
+ frame_win.sizer = szr
21
+ frame_win.layout
22
+ frame_win.sizer = nil
23
+ end
24
+
25
+ end
@@ -0,0 +1,33 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+ require_relative './wxapp_runner'
6
+
7
+ class ProcessEventHandlingExceptionTests < Test::Unit::TestCase
8
+
9
+ class TestEvent < Wx::Event
10
+ EVT_TEST_EVENT = Wx::EvtHandler.register_class(self, nil, 'evt_test_event', 0)
11
+ def initialize(id=0)
12
+ super(EVT_TEST_EVENT, id)
13
+ end
14
+ end
15
+
16
+ class TestFrame < Wx::Frame
17
+
18
+ def initialize
19
+ super(nil, size: [300,300])
20
+
21
+ evt_test_event { |_evt| raise RuntimeError, 'Whatever' }
22
+ end
23
+
24
+ end
25
+
26
+ def test_process_event
27
+ win = TestFrame.new
28
+ win.process_event(TestEvent.new)
29
+ win.destroy
30
+ 10.times { Wx.get_app.yield }
31
+ end
32
+
33
+ end
@@ -0,0 +1,34 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+ require_relative './wxapp_runner'
6
+
7
+ class QueuedEventHandlingExceptionTests < Test::Unit::TestCase
8
+
9
+ class TestEvent < Wx::Event
10
+ EVT_TEST_EVENT = Wx::EvtHandler.register_class(self, nil, 'evt_test_event', 0)
11
+ def initialize(id=0)
12
+ super(EVT_TEST_EVENT, id)
13
+ end
14
+ end
15
+
16
+ class TestFrame < Wx::Frame
17
+
18
+ def initialize
19
+ super(nil, size: [300,300])
20
+
21
+ evt_test_event { |_evt| raise RuntimeError, 'Whatever' }
22
+ end
23
+
24
+ end
25
+
26
+ def test_queue_event
27
+ win = TestFrame.new
28
+ win.queue_event(TestEvent.new)
29
+ Wx.get_app.yield
30
+ win.destroy
31
+ 10.times { Wx.get_app.yield }
32
+ end
33
+
34
+ end
@@ -0,0 +1,25 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+ require_relative './wxframe_runner'
6
+
7
+ class DirectorTypeExceptionTests < WxRuby::Test::GUITests
8
+
9
+ class InvalidOutputSizer < Wx::BoxSizer
10
+
11
+ def calc_min
12
+ nil #Wx::Point.new(1,1) # expects Wx::Size
13
+ end
14
+
15
+ end
16
+
17
+ def test_invalid_output
18
+ szr = InvalidOutputSizer.new(Wx::Orientation::VERTICAL)
19
+ szr.add(Wx::Button.new(frame_win, name: 'button'), Wx::Direction::TOP)
20
+ frame_win.sizer = szr
21
+ frame_win.layout
22
+ frame_win.sizer = nil
23
+ end
24
+
25
+ end
@@ -2,40 +2,40 @@
2
2
  #
3
3
  # This software is released under the MIT license.
4
4
 
5
- require_relative './lib/wxframe_runner'
5
+ require 'test/unit'
6
+ require 'plat4m'
7
+ require 'open3'
6
8
 
7
- class DirectorExceptionTests < WxRuby::Test::GUITests
9
+ class DirectorExceptionTests < Test::Unit::TestCase
8
10
 
9
- class InvalidOutputSizer < Wx::BoxSizer
11
+ # Path to the currently running Ruby program
12
+ RUBY = ENV["RUBY"] || File.join(
13
+ RbConfig::CONFIG["bindir"],
14
+ RbConfig::CONFIG["ruby_install_name"] + RbConfig::CONFIG["EXEEXT"]).
15
+ sub(/.*\s.*/m, '"\&"')
10
16
 
11
- def calc_min
12
- Wx::Point.new(1,1) # expects Wx::Size
13
- end
17
+ OPTS = {
18
+ :err => (Plat4m.current.windows? ? 'NULL' : '/dev/null'), :out => (Plat4m.current.windows? ? 'NULL' : '/dev/null'),
19
+ }
14
20
 
21
+ def test_invalid_overload_type
22
+ assert_false(Kernel.system(RUBY, File.join(__dir__, 'lib/overload_type_exception_test.rb'), **OPTS))
23
+ assert_equal(254, $?.exitstatus)
15
24
  end
16
25
 
17
- def test_invalid_output
18
- szr = InvalidOutputSizer.new(Wx::Orientation::VERTICAL)
19
- szr.add(Wx::Button.new(frame_win, name: 'button'), Wx::Direction::TOP)
20
- frame_win.sizer = szr
21
- assert_raise_kind_of(TypeError) { frame_win.layout }
22
- frame_win.sizer = nil
26
+ def test_leaked_exception_in_overload
27
+ assert_false(Kernel.system(RUBY, File.join(__dir__, 'lib/leaked_overload_exception_test.rb'), **OPTS))
28
+ assert_equal(255, $?.exitstatus)
23
29
  end
24
30
 
25
- class ExceptionSizer < Wx::BoxSizer
26
-
27
- def calc_min
28
- raise RuntimeError, 'AnyThing'
29
- end
30
-
31
+ def test_leaked_process_event_handling_exception
32
+ assert_false(Kernel.system(RUBY, File.join(__dir__, 'lib/leaked_process_event_exception_test.rb'), **OPTS))
33
+ assert_equal(1, $?.exitstatus)
31
34
  end
32
35
 
33
- def test_exception_in_overload
34
- szr = ExceptionSizer.new(Wx::Orientation::VERTICAL)
35
- szr.add(Wx::Button.new(frame_win, name: 'button'), Wx::Direction::TOP)
36
- frame_win.sizer = szr
37
- assert_raise_kind_of(RuntimeError) { frame_win.layout }
38
- frame_win.sizer = nil
36
+ def test_leaked_queued_event_handling_exception
37
+ assert_false(Kernel.system(RUBY, File.join(__dir__, 'lib/leaked_queued_event_exception_test.rb'), **OPTS))
38
+ assert_equal(1, $?.exitstatus)
39
39
  end
40
40
 
41
41
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wxruby3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Corino
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-29 00:00:00.000000000 Z
11
+ date: 2024-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -172,6 +172,7 @@ files:
172
172
  - lib/wx/core/dataformat.rb
173
173
  - lib/wx/core/datetime.rb
174
174
  - lib/wx/core/dc.rb
175
+ - lib/wx/core/defs.rb
175
176
  - lib/wx/core/dialog.rb
176
177
  - lib/wx/core/enum.rb
177
178
  - lib/wx/core/event.rb
@@ -184,6 +185,7 @@ files:
184
185
  - lib/wx/core/font.rb
185
186
  - lib/wx/core/functions.rb
186
187
  - lib/wx/core/gauge.rb
188
+ - lib/wx/core/gdi_object.rb
187
189
  - lib/wx/core/generic_validator.rb
188
190
  - lib/wx/core/genericdirctrl.rb
189
191
  - lib/wx/core/geometry.rb
@@ -276,6 +278,7 @@ files:
276
278
  - lib/wx/doc/functions.rb
277
279
  - lib/wx/doc/gc_dc.rb
278
280
  - lib/wx/doc/gdi_common.rb
281
+ - lib/wx/doc/gdi_object.rb
279
282
  - lib/wx/doc/generic_validator.rb
280
283
  - lib/wx/doc/geometry.rb
281
284
  - lib/wx/doc/graphics_context.rb
@@ -294,6 +297,7 @@ files:
294
297
  - lib/wx/doc/mirror_dc.rb
295
298
  - lib/wx/doc/notebook.rb
296
299
  - lib/wx/doc/num_validator.rb
300
+ - lib/wx/doc/object.rb
297
301
  - lib/wx/doc/owner_drawn_combobox.rb
298
302
  - lib/wx/doc/pen.rb
299
303
  - lib/wx/doc/persistence_manager.rb
@@ -707,6 +711,7 @@ files:
707
711
  - rakelib/lib/generate/doc/combo_ctrl.yaml
708
712
  - rakelib/lib/generate/doc/context_help_button.yaml
709
713
  - rakelib/lib/generate/doc/control.yaml
714
+ - rakelib/lib/generate/doc/credential_entry_dialog.yaml
710
715
  - rakelib/lib/generate/doc/cursor.yaml
711
716
  - rakelib/lib/generate/doc/data_object.yaml
712
717
  - rakelib/lib/generate/doc/dc.yaml
@@ -723,6 +728,7 @@ files:
723
728
  - rakelib/lib/generate/doc/frame.yaml
724
729
  - rakelib/lib/generate/doc/fs_file.yaml
725
730
  - rakelib/lib/generate/doc/gdi_common.yaml
731
+ - rakelib/lib/generate/doc/generic_about_dialog.yaml
726
732
  - rakelib/lib/generate/doc/graphics_context.yaml
727
733
  - rakelib/lib/generate/doc/graphics_object.yaml
728
734
  - rakelib/lib/generate/doc/grid_cell_attr.yaml
@@ -1110,6 +1116,10 @@ files:
1110
1116
  - tests/art/test_art/image/wxruby.png
1111
1117
  - tests/art/test_art/sample2.xpm
1112
1118
  - tests/lib/item_container_tests.rb
1119
+ - tests/lib/leaked_overload_exception_test.rb
1120
+ - tests/lib/leaked_process_event_exception_test.rb
1121
+ - tests/lib/leaked_queued_event_exception_test.rb
1122
+ - tests/lib/overload_type_exception_test.rb
1113
1123
  - tests/lib/text_entry_tests.rb
1114
1124
  - tests/lib/wxapp_runner.rb
1115
1125
  - tests/lib/wxframe_runner.rb
@@ -1197,7 +1207,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1197
1207
  - !ruby/object:Gem::Version
1198
1208
  version: '0'
1199
1209
  requirements: []
1200
- rubygems_version: 3.5.16
1210
+ rubygems_version: 3.5.22
1201
1211
  signing_key:
1202
1212
  specification_version: 4
1203
1213
  summary: wxWidgets extension for Ruby