wxruby3 1.2.1 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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