shoes-swt 4.0.0.pre2 → 4.0.0.pre3

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 (227) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -200
  3. data/Rakefile +1 -0
  4. data/bin/shoes-swt +11 -0
  5. data/lib/shoes/swt.rb +5 -2
  6. data/lib/shoes/swt/animation.rb +2 -2
  7. data/lib/shoes/swt/app.rb +45 -50
  8. data/lib/shoes/swt/arc.rb +7 -7
  9. data/lib/shoes/swt/background.rb +1 -1
  10. data/lib/shoes/swt/border.rb +1 -2
  11. data/lib/shoes/swt/click_listener.rb +70 -0
  12. data/lib/shoes/swt/color.rb +5 -5
  13. data/lib/shoes/swt/common/clickable.rb +2 -53
  14. data/lib/shoes/swt/common/fill.rb +1 -1
  15. data/lib/shoes/swt/common/painter.rb +7 -7
  16. data/lib/shoes/swt/common/painter_updates_position.rb +2 -2
  17. data/lib/shoes/swt/common/remove.rb +2 -3
  18. data/lib/shoes/swt/common/resource.rb +1 -1
  19. data/lib/shoes/swt/common/selection_listener.rb +14 -14
  20. data/lib/shoes/swt/common/stroke.rb +1 -2
  21. data/lib/shoes/swt/common/update_position.rb +1 -1
  22. data/lib/shoes/swt/dialog.rb +3 -45
  23. data/lib/shoes/swt/disposed_protection.rb +1 -1
  24. data/lib/shoes/swt/download.rb +0 -1
  25. data/lib/shoes/swt/font.rb +4 -4
  26. data/lib/shoes/swt/generate-backend.rb +9 -0
  27. data/lib/shoes/swt/gradient.rb +17 -16
  28. data/lib/shoes/swt/image.rb +3 -5
  29. data/lib/shoes/swt/image_pattern.rb +2 -2
  30. data/lib/shoes/swt/input_box.rb +3 -3
  31. data/lib/shoes/swt/key_listener.rb +6 -6
  32. data/lib/shoes/swt/line.rb +4 -24
  33. data/lib/shoes/swt/link.rb +2 -2
  34. data/lib/shoes/swt/link_segment.rb +3 -3
  35. data/lib/shoes/swt/list_box.rb +4 -4
  36. data/lib/shoes/swt/mouse_move_listener.rb +6 -5
  37. data/lib/shoes/swt/oval.rb +2 -3
  38. data/lib/shoes/swt/packager.rb +82 -0
  39. data/lib/shoes/swt/progress.rb +2 -2
  40. data/lib/shoes/swt/radio.rb +0 -2
  41. data/lib/shoes/swt/radio_group.rb +54 -54
  42. data/lib/shoes/swt/rect_painter.rb +7 -7
  43. data/lib/shoes/swt/redrawing_aspect.rb +32 -34
  44. data/lib/shoes/swt/shape.rb +1 -1
  45. data/lib/shoes/swt/shoes_layout.rb +5 -2
  46. data/lib/shoes/swt/slot.rb +2 -3
  47. data/lib/shoes/swt/sound.rb +17 -22
  48. data/lib/shoes/swt/star.rb +30 -8
  49. data/lib/shoes/swt/swt_button.rb +3 -2
  50. data/lib/shoes/swt/text_block.rb +3 -3
  51. data/lib/shoes/swt/text_block/cursor_painter.rb +2 -2
  52. data/lib/shoes/swt/text_block/fitter.rb +5 -3
  53. data/lib/shoes/swt/text_block/painter.rb +9 -9
  54. data/lib/shoes/swt/text_block/text_font_factory.rb +3 -3
  55. data/lib/shoes/swt/text_block/text_segment.rb +9 -9
  56. data/lib/shoes/swt/text_block/text_segment_collection.rb +2 -0
  57. data/lib/shoes/swt/text_block/text_style_factory.rb +9 -3
  58. data/lib/shoes/swt/timer.rb +1 -1
  59. data/lib/shoes/swt/version.rb +1 -1
  60. data/shoes-swt.gemspec +7 -6
  61. data/spec/shoes/cli_spec.rb +2 -2
  62. data/spec/{swt_shoes → shoes/swt}/animation_spec.rb +1 -1
  63. data/spec/{swt_shoes → shoes/swt}/app_spec.rb +36 -3
  64. data/spec/{swt_shoes → shoes/swt}/arc_spec.rb +1 -1
  65. data/spec/{swt_shoes → shoes/swt}/background_spec.rb +1 -1
  66. data/spec/{swt_shoes → shoes/swt}/border_spec.rb +1 -1
  67. data/spec/{swt_shoes → shoes/swt}/button_spec.rb +1 -1
  68. data/spec/{swt_shoes → shoes/swt}/check_spec.rb +1 -1
  69. data/spec/shoes/swt/click_listener_spec.rb +162 -0
  70. data/spec/{swt_shoes → shoes/swt}/color_factory_spec.rb +1 -1
  71. data/spec/{swt_shoes → shoes/swt}/color_spec.rb +1 -1
  72. data/spec/{swt_shoes → shoes/swt}/common/painter_spec.rb +1 -1
  73. data/spec/{swt_shoes → shoes/swt}/common/remove_spec.rb +4 -11
  74. data/spec/{swt_shoes → shoes/swt}/configuration_spec.rb +1 -1
  75. data/spec/{swt_shoes → shoes/swt}/dialog_spec.rb +1 -7
  76. data/spec/{swt_shoes → shoes/swt}/disposed_protection_spec.rb +0 -0
  77. data/spec/{swt_shoes → shoes/swt}/flow_spec.rb +1 -1
  78. data/spec/{swt_shoes → shoes/swt}/font_spec.rb +1 -1
  79. data/spec/{swt_shoes → shoes/swt}/gradient_spec.rb +1 -1
  80. data/spec/{swt_shoes → shoes/swt}/image_pattern_spec.rb +1 -1
  81. data/spec/{swt_shoes → shoes/swt}/image_spec.rb +4 -3
  82. data/spec/{swt_shoes → shoes/swt}/input_box_spec.rb +1 -1
  83. data/spec/{swt_shoes → shoes/swt}/integration_spec.rb +1 -1
  84. data/spec/{swt_shoes → shoes/swt}/key_listener_spec.rb +1 -1
  85. data/spec/{swt_shoes → shoes/swt}/line_spec.rb +4 -8
  86. data/spec/{swt_shoes → shoes/swt}/link_segment_spec.rb +1 -1
  87. data/spec/{swt_shoes → shoes/swt}/link_spec.rb +3 -10
  88. data/spec/{swt_shoes → shoes/swt}/list_box_spec.rb +5 -3
  89. data/spec/{swt_shoes → shoes/swt}/minimal.png +0 -0
  90. data/spec/{swt_shoes → shoes/swt}/mouse_move_listener_spec.rb +1 -1
  91. data/spec/{swt_shoes → shoes/swt}/oval_spec.rb +1 -1
  92. data/spec/{swt_shoes → shoes/swt}/progress_spec.rb +1 -1
  93. data/spec/{swt_shoes → shoes/swt}/radio_group_spec.rb +1 -1
  94. data/spec/{swt_shoes → shoes/swt}/radio_spec.rb +1 -1
  95. data/spec/{swt_shoes → shoes/swt}/rect_painter_spec.rb +1 -1
  96. data/spec/{swt_shoes → shoes/swt}/rect_spec.rb +1 -1
  97. data/spec/{swt_shoes → shoes/swt}/shape_spec.rb +1 -1
  98. data/spec/{swt_shoes → shoes/swt}/shared_examples/button.rb +0 -0
  99. data/spec/shoes/swt/shared_examples/clickable.rb +13 -0
  100. data/spec/{swt_shoes → shoes/swt}/shared_examples/movable.rb +0 -0
  101. data/spec/{swt_shoes → shoes/swt}/shared_examples/paintable.rb +0 -0
  102. data/spec/{swt_shoes → shoes/swt}/shared_examples/painter.rb +0 -0
  103. data/spec/{swt_shoes → shoes/swt}/shared_examples/pattern.rb +0 -0
  104. data/spec/{swt_shoes → shoes/swt}/shared_examples/removable.rb +1 -3
  105. data/spec/{swt_shoes → shoes/swt}/shared_examples/swt_app_context.rb +11 -3
  106. data/spec/{swt_shoes → shoes/swt}/shared_examples/visibility.rb +0 -0
  107. data/spec/{swt_shoes → shoes/swt}/shell_control_listener_spec.rb +1 -1
  108. data/spec/{swt_shoes → shoes/swt}/slot_spec.rb +1 -1
  109. data/spec/{swt_shoes → shoes/swt}/spec_helper.rb +0 -1
  110. data/spec/{swt_shoes → shoes/swt}/star_spec.rb +1 -1
  111. data/spec/{swt_shoes → shoes/swt}/text_block/centered_text_segment_spec.rb +1 -1
  112. data/spec/{swt_shoes → shoes/swt}/text_block/cursor_painter_spec.rb +8 -4
  113. data/spec/{swt_shoes → shoes/swt}/text_block/fitter_spec.rb +5 -5
  114. data/spec/{swt_shoes → shoes/swt}/text_block/painter_spec.rb +1 -1
  115. data/spec/{swt_shoes → shoes/swt}/text_block/text_font_factory_spec.rb +1 -1
  116. data/spec/{swt_shoes → shoes/swt}/text_block/text_segment_collection_spec.rb +7 -2
  117. data/spec/{swt_shoes → shoes/swt}/text_block/text_segment_spec.rb +1 -1
  118. data/spec/{swt_shoes → shoes/swt}/text_block_spec.rb +2 -5
  119. data/spec/spec_helper.rb +7 -3
  120. metadata +132 -331
  121. data/CHANGELOG +0 -84
  122. data/Gemfile +0 -24
  123. data/Guardfile +0 -11
  124. data/manifests/common.rb +0 -34
  125. data/manifests/shoes-swt.rb +0 -29
  126. data/spec/code_coverage.rb +0 -14
  127. data/spec/shoes/animation_spec.rb +0 -65
  128. data/spec/shoes/app_spec.rb +0 -484
  129. data/spec/shoes/arc_spec.rb +0 -51
  130. data/spec/shoes/background_spec.rb +0 -53
  131. data/spec/shoes/border_spec.rb +0 -47
  132. data/spec/shoes/builtin_methods_spec.rb +0 -110
  133. data/spec/shoes/button_spec.rb +0 -44
  134. data/spec/shoes/check_spec.rb +0 -35
  135. data/spec/shoes/color_spec.rb +0 -408
  136. data/spec/shoes/common/inspect_spec.rb +0 -26
  137. data/spec/shoes/common/remove_spec.rb +0 -38
  138. data/spec/shoes/common/style_normalizer_spec.rb +0 -28
  139. data/spec/shoes/common/style_spec.rb +0 -147
  140. data/spec/shoes/configuration_spec.rb +0 -36
  141. data/spec/shoes/constants_spec.rb +0 -38
  142. data/spec/shoes/dialog_spec.rb +0 -163
  143. data/spec/shoes/dimension_spec.rb +0 -407
  144. data/spec/shoes/dimensions_spec.rb +0 -837
  145. data/spec/shoes/download_spec.rb +0 -142
  146. data/spec/shoes/flow_spec.rb +0 -133
  147. data/spec/shoes/font_spec.rb +0 -37
  148. data/spec/shoes/framework_learning_spec.rb +0 -30
  149. data/spec/shoes/gradient_spec.rb +0 -32
  150. data/spec/shoes/helpers/fake_element.rb +0 -17
  151. data/spec/shoes/helpers/inspect_helpers.rb +0 -5
  152. data/spec/shoes/helpers/sample17_helper.rb +0 -66
  153. data/spec/shoes/image_spec.rb +0 -49
  154. data/spec/shoes/images/shoe.jpg +0 -0
  155. data/spec/shoes/input_box_spec.rb +0 -80
  156. data/spec/shoes/integration_spec.rb +0 -20
  157. data/spec/shoes/internal_app_spec.rb +0 -141
  158. data/spec/shoes/keypress_spec.rb +0 -11
  159. data/spec/shoes/keyrelease_spec.rb +0 -12
  160. data/spec/shoes/line_spec.rb +0 -49
  161. data/spec/shoes/link_spec.rb +0 -105
  162. data/spec/shoes/list_box_spec.rb +0 -74
  163. data/spec/shoes/logger/ruby_spec.rb +0 -8
  164. data/spec/shoes/logger_spec.rb +0 -45
  165. data/spec/shoes/oval_spec.rb +0 -24
  166. data/spec/shoes/point_spec.rb +0 -71
  167. data/spec/shoes/progress_spec.rb +0 -54
  168. data/spec/shoes/radio_spec.rb +0 -32
  169. data/spec/shoes/rect_spec.rb +0 -39
  170. data/spec/shoes/renamed_delegate_spec.rb +0 -70
  171. data/spec/shoes/shape_spec.rb +0 -95
  172. data/spec/shoes/shared_examples/button.rb +0 -6
  173. data/spec/shoes/shared_examples/changeable.rb +0 -26
  174. data/spec/shoes/shared_examples/clickable.rb +0 -5
  175. data/spec/shoes/shared_examples/common_methods.rb +0 -35
  176. data/spec/shoes/shared_examples/dimensions.rb +0 -32
  177. data/spec/shoes/shared_examples/dsl.rb +0 -44
  178. data/spec/shoes/shared_examples/dsl/animate.rb +0 -29
  179. data/spec/shoes/shared_examples/dsl/arc.rb +0 -45
  180. data/spec/shoes/shared_examples/dsl/background.rb +0 -26
  181. data/spec/shoes/shared_examples/dsl/border.rb +0 -10
  182. data/spec/shoes/shared_examples/dsl/button.rb +0 -5
  183. data/spec/shoes/shared_examples/dsl/cap.rb +0 -6
  184. data/spec/shoes/shared_examples/dsl/check.rb +0 -11
  185. data/spec/shoes/shared_examples/dsl/edit_box.rb +0 -8
  186. data/spec/shoes/shared_examples/dsl/edit_line.rb +0 -8
  187. data/spec/shoes/shared_examples/dsl/editable_element.rb +0 -29
  188. data/spec/shoes/shared_examples/dsl/fill.rb +0 -27
  189. data/spec/shoes/shared_examples/dsl/flow.rb +0 -15
  190. data/spec/shoes/shared_examples/dsl/gradient.rb +0 -62
  191. data/spec/shoes/shared_examples/dsl/image.rb +0 -21
  192. data/spec/shoes/shared_examples/dsl/line.rb +0 -9
  193. data/spec/shoes/shared_examples/dsl/nofill.rb +0 -6
  194. data/spec/shoes/shared_examples/dsl/nostroke.rb +0 -6
  195. data/spec/shoes/shared_examples/dsl/oval.rb +0 -88
  196. data/spec/shoes/shared_examples/dsl/pattern.rb +0 -34
  197. data/spec/shoes/shared_examples/dsl/progress.rb +0 -7
  198. data/spec/shoes/shared_examples/dsl/rect.rb +0 -92
  199. data/spec/shoes/shared_examples/dsl/rgb.rb +0 -26
  200. data/spec/shoes/shared_examples/dsl/shape.rb +0 -21
  201. data/spec/shoes/shared_examples/dsl/star.rb +0 -48
  202. data/spec/shoes/shared_examples/dsl/stroke.rb +0 -30
  203. data/spec/shoes/shared_examples/dsl/strokewidth.rb +0 -19
  204. data/spec/shoes/shared_examples/dsl/style.rb +0 -32
  205. data/spec/shoes/shared_examples/dsl/text_elements.rb +0 -81
  206. data/spec/shoes/shared_examples/dsl/video.rb +0 -5
  207. data/spec/shoes/shared_examples/dsl_app_context.rb +0 -8
  208. data/spec/shoes/shared_examples/hover_leave.rb +0 -11
  209. data/spec/shoes/shared_examples/parent.rb +0 -6
  210. data/spec/shoes/shared_examples/scroll.rb +0 -41
  211. data/spec/shoes/shared_examples/shared_element_method.rb +0 -60
  212. data/spec/shoes/shared_examples/slot.rb +0 -331
  213. data/spec/shoes/shared_examples/state.rb +0 -19
  214. data/spec/shoes/shared_examples/style.rb +0 -82
  215. data/spec/shoes/slot_spec.rb +0 -130
  216. data/spec/shoes/sound_spec.rb +0 -15
  217. data/spec/shoes/span_spec.rb +0 -112
  218. data/spec/shoes/spec_helper.rb +0 -24
  219. data/spec/shoes/stack_spec.rb +0 -79
  220. data/spec/shoes/star_spec.rb +0 -31
  221. data/spec/shoes/text_block_dimensions_spec.rb +0 -75
  222. data/spec/shoes/text_block_spec.rb +0 -270
  223. data/spec/shoes/url_spec.rb +0 -68
  224. data/spec/shoes/widget_spec.rb +0 -70
  225. data/spec/shoes_spec.rb +0 -44
  226. data/spec/swt_shoes/shared_examples/clickable.rb +0 -85
  227. data/spec/swt_shoes/sound.rb +0 -10
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::ColorFactory do
4
4
  let(:blue) { Shoes::COLORS[:blue] }
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Color do
4
4
  subject(:color) { Shoes::Swt::Color.create(Shoes::COLORS[:salmon]) }
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Common::Painter do
4
4
  let(:object) {double 'object', dsl: dsl}
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Common::Remove do
4
4
  let(:clazz) {
@@ -15,22 +15,15 @@ describe Shoes::Swt::Common::Remove do
15
15
  end
16
16
  }
17
17
 
18
- let(:app) { double("app", clickable_elements: clickable_elements) }
18
+ let(:app) { double("app", click_listener: click_listener) }
19
19
  let(:dsl) { double("dsl") }
20
- let(:clickable_elements) { [dsl] }
20
+ let(:click_listener) { double("click listener") }
21
21
 
22
22
  subject { clazz.new(app, dsl) }
23
23
 
24
24
  before do
25
25
  expect(app).to receive(:remove_paint_listener)
26
- expect(app).to receive(:remove_listener).at_least(:once)
27
- end
28
-
29
- describe "remove" do
30
- it "cleans up clickable element" do
31
- subject.remove
32
- expect(clickable_elements).to be_empty
33
- end
26
+ expect(click_listener).to receive(:remove_listeners_for).at_least(:once)
34
27
  end
35
28
 
36
29
  describe "real disposal" do
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Configuration do
4
4
  context ":swt" do
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  main_object = self
4
4
 
@@ -69,12 +69,6 @@ describe Shoes::Swt::Dialog do
69
69
  end
70
70
  end
71
71
 
72
- describe 'ask' do
73
- it 'responds to it' do
74
- expect(@dialog).to respond_to :ask
75
- end
76
- end
77
-
78
72
  describe 'ask_color' do
79
73
  it 'responds to it' do
80
74
  expect(@dialog).to respond_to :ask_color
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Flow do
4
4
  include_context "swt app"
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Font do
4
4
 
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Gradient do
4
4
  let(:color1) { Shoes::Color.create(Shoes::COLORS[:honeydew]) }
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::ImagePattern do
4
4
  let(:dsl) { Shoes::ImagePattern.new("some/path/to") }
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Image do
4
4
  include_context "swt app"
@@ -13,7 +13,8 @@ describe Shoes::Swt::Image do
13
13
  let(:top) { 200 }
14
14
  let(:height) { nil }
15
15
  let(:width) {nil}
16
- let(:image) { "spec/swt_shoes/minimal.png" }
16
+ let(:image_path) { File.dirname(__FILE__) + '/minimal.png' }
17
+ let(:image) { image_path }
17
18
 
18
19
  subject {
19
20
  allow(dsl).to receive(:file_path) { image }
@@ -41,7 +42,7 @@ describe Shoes::Swt::Image do
41
42
  end
42
43
 
43
44
  describe "painting raw images" do
44
- let(:image) { File.read("spec/swt_shoes/minimal.png", :mode => "rb") }
45
+ let(:image) { File.read(image_path, :mode => "rb") }
45
46
 
46
47
  specify "loads image from raw data" do
47
48
  subject.real.image_data.width = 3
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::InputBox do
4
4
  include_context "swt app"
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::App do
4
4
  before :each do
@@ -1,5 +1,5 @@
1
1
  # encoding: UTF-8
2
- require 'swt_shoes/spec_helper'
2
+ require 'shoes/swt/spec_helper'
3
3
 
4
4
  describe Shoes::Swt::Keypress do
5
5
  let(:app) { double('app', add_key_listener: nil, remove_key_listener: nil) }
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Line do
4
4
  include_context "swt app"
@@ -17,11 +17,6 @@ describe Shoes::Swt::Line do
17
17
  its(:dsl) { is_expected.to be(dsl) }
18
18
  end
19
19
 
20
- it "properly disposes" do
21
- expect(subject.transform).to receive(:dispose)
22
- subject.dispose
23
- end
24
-
25
20
  it_behaves_like "paintable"
26
21
  it_behaves_like "updating visibility"
27
22
  it_behaves_like "clickable backend"
@@ -35,14 +30,15 @@ describe Shoes::Swt::Line do
35
30
  subject { Shoes::Swt::Line::Painter.new(shape) }
36
31
 
37
32
  before(:each) do
33
+ dsl.absolute_left = point_a.x
34
+ dsl.absolute_top = point_a.y
38
35
  allow(dsl).to receive_messages(positioned?: true)
39
36
  end
40
37
 
41
38
  it_behaves_like "stroke painter"
42
39
 
43
40
  specify "draws line" do
44
- # coords as if drawn in box at (0,0)
45
- expect(gc).to receive(:draw_line).with(0, 90, 290, 0)
41
+ expect(gc).to receive(:draw_line).with(10, 100, 300, 10)
46
42
  subject.paint_control(event)
47
43
  end
48
44
  end
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::LinkSegment do
4
4
  let(:range) { (2..10) }
@@ -1,9 +1,9 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Link do
4
4
  include_context "swt app"
5
5
 
6
- let(:dsl) { Shoes::Link.new shoes_app, parent, ["linky"] }
6
+ let(:dsl) { Shoes::Link.new shoes_app, ["linky"] }
7
7
 
8
8
  subject { Shoes::Swt::Link.new(dsl, swt_app) }
9
9
 
@@ -21,13 +21,6 @@ describe Shoes::Swt::Link do
21
21
  element_left: 0, element_top: 0,
22
22
  layout: inner_layout) }
23
23
 
24
- before(:each) do
25
- allow(shoes_app).to receive(:add_listener)
26
- allow(shoes_app).to receive(:add_clickable_element)
27
-
28
- allow(swt_app).to receive(:clickable_elements) { [] }
29
- end
30
-
31
24
  it "clears existing" do
32
25
  subject.link_segments << double("segment")
33
26
  subject.create_links_in([])
@@ -43,7 +36,7 @@ describe Shoes::Swt::Link do
43
36
  end
44
37
 
45
38
  it "clears links" do
46
- expect(swt_app).to receive(:remove_listener)
39
+ expect(swt_app.click_listener).to receive(:remove_listeners_for).with(subject)
47
40
 
48
41
  subject.create_links_in([[layout, 0..10]])
49
42
  subject.remove
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::ListBox do
4
4
  include_context "swt app"
@@ -26,8 +26,10 @@ describe Shoes::Swt::ListBox do
26
26
  end
27
27
 
28
28
  it "should call 'items' when updating values" do
29
- expect(real).to receive(:items=).with(["hello"])
30
- subject.update_items(["hello"])
29
+ subject # creation already calls update_items once
30
+ allow(dsl).to receive(:items).and_return ["hello"]
31
+ subject.update_items
32
+ expect(real).to have_received(:items=).with(["hello"])
31
33
  end
32
34
 
33
35
  it "should respond to choose" do
File without changes
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::MouseMoveListener do
4
4
  let(:app) {double 'SWT App', dsl: dsl_app, shell: shell,
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Oval do
4
4
  include_context "swt app"
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Progress do
4
4
  include_context "swt app"
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::RadioGroup do
4
4
  let(:name) { "Group Name" }
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Radio do
4
4
  include_context "swt app"
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::RectPainter do
4
4
  include_context "painter context"
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Rect do
4
4
  include_context "swt app"
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Shape do
4
4
  include_context "swt app"
@@ -0,0 +1,13 @@
1
+ shared_examples 'clickable backend' do
2
+ describe 'interaction with the swt app object' do
3
+ it 'adds a listener for the MouseDown event when click is called' do
4
+ subject.click Proc.new {}
5
+ expect(click_listener).to have_received(:add_click_listener).at_least(1)
6
+ end
7
+
8
+ it 'adds a listener for the MouseUp event when release is called' do
9
+ subject.release Proc.new {}
10
+ expect(click_listener).to have_received(:add_release_listener).at_least(1)
11
+ end
12
+ end
13
+ end
@@ -5,7 +5,7 @@ shared_examples_for "removable" do
5
5
 
6
6
  it "should remove paint listener" do
7
7
  expect(swt_app).to receive(:remove_paint_listener)
8
- expect(swt_app).to receive(:remove_listener).at_least(2).times
8
+ expect(click_listener).to receive(:remove_listeners_for)
9
9
  subject.remove
10
10
  end
11
11
 
@@ -26,14 +26,12 @@ shared_examples_for "removable native element" do
26
26
  end
27
27
 
28
28
  it "should dispose real when real is not disposed" do
29
- allow(swt_app).to receive(:remove_listener)
30
29
  allow(real).to receive(:disposed?) { false }
31
30
  expect(real).to receive(:dispose)
32
31
  subject.remove
33
32
  end
34
33
 
35
34
  it "should not dispose real when real is already disposed" do
36
- allow(swt_app).to receive(:remove_listener)
37
35
  allow(real).to receive(:disposed?) { true }
38
36
  expect(real).not_to receive(:dispose)
39
37
  subject.remove
@@ -5,15 +5,23 @@
5
5
  shared_context "swt app" do
6
6
  let(:swt_app_real) { double('swt app real', disposed?: false,
7
7
  set_visible: true) }
8
+
8
9
  let(:clickable_element) { double("clickable_element", delete: nil) }
10
+ let(:click_listener) { double("click listener",
11
+ add_click_listener: nil,
12
+ add_release_listener: nil,
13
+ remove_listeners_for: nil) }
9
14
  let(:swt_app) do
10
15
  swt_double = double('swt app', real: swt_app_real, disposed?: false,
11
- add_paint_listener: true, remove_paint_listener: true,
12
- add_clickable_element: true, add_listener: true, remove_listener: true,
13
- flush: true, redraw: true, clickable_elements: clickable_element)
16
+ add_paint_listener: true, remove_paint_listener: true,
17
+ add_clickable_element: true, add_listener: true,
18
+ remove_listener: true, flush: true, redraw: true,
19
+ click_listener: click_listener,
20
+ clickable_elements: clickable_element)
14
21
  allow(swt_double).to receive(:app).and_return(swt_double)
15
22
  swt_double
16
23
  end
24
+
17
25
  let(:shoes_app) { double('shoes app', gui: swt_app, rotate: 0, style: {}, element_styles: {}) }
18
26
  let(:parent) { double('parent', app: swt_app, add_child: true, real: true) }
19
27
  let(:parent_dsl) {double("parent dsl", add_child: true, contents: [],
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::ShellControlListener do
4
4
  let(:app) {double 'SWT App', dsl: dsl_app, shell: shell, real: real}
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Slot do
4
4
  include_context "swt app"
@@ -1,4 +1,3 @@
1
- require 'code_coverage'
2
1
  require "shoes/swt"
3
2
  require "spec_helper"
4
3
 
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::Star do
4
4
  include_context "swt app"
@@ -1,4 +1,4 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::TextBlock::CenteredTextSegment do
4
4
  let(:width) { 200 }
@@ -1,10 +1,10 @@
1
- require 'swt_shoes/spec_helper'
1
+ require 'shoes/swt/spec_helper'
2
2
 
3
3
  describe Shoes::Swt::TextBlock::CursorPainter do
4
4
  include_context "swt app"
5
5
 
6
6
  let(:dsl) { double("dsl", app: shoes_app, textcursor: textcursor, has_textcursor?: true) }
7
- let(:textcursor) { double("textcursor", left:0, top: 0) }
7
+ let(:textcursor) { double("textcursor", left:0, top: 0, height: 10) }
8
8
  let(:segment_collection) { double('segment collection',
9
9
  cursor_height: 12,
10
10
  relative_text_position: 0)}
@@ -64,7 +64,9 @@ describe Shoes::Swt::TextBlock::CursorPainter do
64
64
  it "moves" do
65
65
  subject.draw
66
66
  expect(textcursor).to have_received(:move).with(left + position.x,
67
- top + position.y)
67
+ top + position.y,
68
+ left + position.x,
69
+ top + position.y + textcursor.height)
68
70
  expect(textcursor).to have_received(:show)
69
71
  end
70
72
 
@@ -88,7 +90,9 @@ describe Shoes::Swt::TextBlock::CursorPainter do
88
90
  it "moves" do
89
91
  subject.draw
90
92
  expect(textcursor).to have_received(:move).with(left + position.x,
91
- top + 100 + position.y)
93
+ top + 100 + position.y,
94
+ left + position.x,
95
+ top + 100 + position.y + textcursor.height)
92
96
  expect(textcursor).to have_received(:show)
93
97
  end
94
98