shoes-swt 4.0.0.pre2 → 4.0.0.pre3

Sign up to get free protection for your applications and to get access to all the features.
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