shoes 4.0.0.pre1 → 4.0.0.pre2

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 (361) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +84 -32
  3. data/Gemfile +22 -1
  4. data/README.md +28 -13
  5. data/Rakefile +7 -210
  6. data/bin/ruby-shoes +2 -2
  7. data/ext/install/shoes.bat +4 -1
  8. data/lib/shoes.rb +1 -121
  9. data/lib/shoes/{cli.rb → ui/cli.rb} +7 -1
  10. data/lib/shoes/{help.rb → ui/help.rb} +2 -2
  11. data/lib/shoes/{manual.rb → ui/manual.rb} +1 -1
  12. data/lib/shoes/version.rb +1 -1
  13. data/manifests/common.rb +34 -0
  14. data/manifests/shoes.rb +44 -0
  15. data/samples/Gemfile +3 -0
  16. data/samples/Gemfile.lock +35 -0
  17. data/samples/README +16 -5
  18. data/samples/boom.rb +239 -0
  19. data/samples/clicky.rb +24 -0
  20. data/samples/flow.rb +63 -0
  21. data/samples/gray.rb +11 -0
  22. data/samples/nks_booklist.rb +24 -0
  23. data/samples/nks_breadsticks.rb +7 -0
  24. data/samples/nks_dancing_circle.rb +13 -0
  25. data/samples/nks_dictionary.rb +23 -0
  26. data/samples/nks_edit_box.rb +4 -0
  27. data/samples/nks_edit_line.rb +6 -0
  28. data/samples/nks_notes.rb +16 -0
  29. data/samples/nks_self.rb +6 -0
  30. data/samples/nks_text_sizes.rb +10 -0
  31. data/samples/nks_trurl.rb +5 -0
  32. data/samples/packaging/package_me.rb +6 -0
  33. data/samples/present.rb +27 -0
  34. data/samples/progress.rb +10 -0
  35. data/samples/sample31.rb +1 -1
  36. data/samples/simple-calc.rb +1 -1
  37. data/samples/simple-tictactoe.rb +238 -0
  38. data/samples/simple-visibility.rb +11 -0
  39. data/samples/simple-widget.rb +9 -0
  40. data/samples/swt-raw.rb +20 -0
  41. data/samples/troll.rb +22 -0
  42. data/shoes.gemspec +10 -22
  43. data/snapshots/sample56.png +0 -0
  44. data/static/manual-en.txt +16 -7
  45. data/tasks/changelog.rb +92 -0
  46. data/tasks/gem.rb +38 -0
  47. data/tasks/rspec.rb +106 -0
  48. data/tasks/sample.rb +66 -0
  49. data/tasks/yard.rb +13 -0
  50. metadata +55 -488
  51. data/.gitignore +0 -53
  52. data/.rspec +0 -3
  53. data/.ruby-gemset +0 -1
  54. data/.ruby-version +0 -1
  55. data/.travis.yml +0 -31
  56. data/bin/shoes +0 -59
  57. data/bin/shoes.bat +0 -6
  58. data/fonts/Coolvetica.ttf +0 -0
  59. data/fonts/Lacuna.ttf +0 -0
  60. data/lib/ext/highlighter.rb +0 -2
  61. data/lib/ext/highlighter/common.rb +0 -197
  62. data/lib/ext/highlighter/lang/ruby.rb +0 -316
  63. data/lib/ext/highlighter/markup.rb +0 -222
  64. data/lib/rubygems_plugin.rb +0 -19
  65. data/lib/shoes/animation.rb +0 -55
  66. data/lib/shoes/app.rb +0 -320
  67. data/lib/shoes/arc.rb +0 -35
  68. data/lib/shoes/background.rb +0 -30
  69. data/lib/shoes/border.rb +0 -33
  70. data/lib/shoes/builtin_methods.rb +0 -73
  71. data/lib/shoes/button.rb +0 -32
  72. data/lib/shoes/check_button.rb +0 -43
  73. data/lib/shoes/color.rb +0 -375
  74. data/lib/shoes/common/background_element.rb +0 -9
  75. data/lib/shoes/common/changeable.rb +0 -34
  76. data/lib/shoes/common/clickable.rb +0 -17
  77. data/lib/shoes/common/common_methods.rb +0 -70
  78. data/lib/shoes/common/fill.rb +0 -21
  79. data/lib/shoes/common/registration.rb +0 -33
  80. data/lib/shoes/common/state.rb +0 -18
  81. data/lib/shoes/common/stroke.rb +0 -28
  82. data/lib/shoes/common/style.rb +0 -34
  83. data/lib/shoes/common/style_normalizer.rb +0 -16
  84. data/lib/shoes/configuration.rb +0 -96
  85. data/lib/shoes/dialog.rb +0 -27
  86. data/lib/shoes/dimension.rb +0 -237
  87. data/lib/shoes/dimensions.rb +0 -194
  88. data/lib/shoes/download.rb +0 -117
  89. data/lib/shoes/dsl.rb +0 -478
  90. data/lib/shoes/font.rb +0 -49
  91. data/lib/shoes/gradient.rb +0 -18
  92. data/lib/shoes/image.rb +0 -33
  93. data/lib/shoes/image_pattern.rb +0 -10
  94. data/lib/shoes/input_box.rb +0 -68
  95. data/lib/shoes/key_event.rb +0 -17
  96. data/lib/shoes/line.rb +0 -38
  97. data/lib/shoes/link.rb +0 -49
  98. data/lib/shoes/link_hover.rb +0 -5
  99. data/lib/shoes/list_box.rb +0 -44
  100. data/lib/shoes/logger.rb +0 -66
  101. data/lib/shoes/logger/ruby.rb +0 -18
  102. data/lib/shoes/mock.rb +0 -30
  103. data/lib/shoes/mock/animation.rb +0 -8
  104. data/lib/shoes/mock/app.rb +0 -44
  105. data/lib/shoes/mock/arc.rb +0 -8
  106. data/lib/shoes/mock/background.rb +0 -10
  107. data/lib/shoes/mock/border.rb +0 -7
  108. data/lib/shoes/mock/button.rb +0 -10
  109. data/lib/shoes/mock/check.rb +0 -24
  110. data/lib/shoes/mock/common_methods.rb +0 -11
  111. data/lib/shoes/mock/dialog.rb +0 -13
  112. data/lib/shoes/mock/download.rb +0 -18
  113. data/lib/shoes/mock/font.rb +0 -17
  114. data/lib/shoes/mock/image.rb +0 -12
  115. data/lib/shoes/mock/image_pattern.rb +0 -9
  116. data/lib/shoes/mock/input_box.rb +0 -23
  117. data/lib/shoes/mock/keypress.rb +0 -8
  118. data/lib/shoes/mock/keyrelease.rb +0 -8
  119. data/lib/shoes/mock/line.rb +0 -14
  120. data/lib/shoes/mock/link.rb +0 -11
  121. data/lib/shoes/mock/list_box.rb +0 -16
  122. data/lib/shoes/mock/oval.rb +0 -11
  123. data/lib/shoes/mock/progress.rb +0 -10
  124. data/lib/shoes/mock/radio.rb +0 -26
  125. data/lib/shoes/mock/rect.rb +0 -13
  126. data/lib/shoes/mock/shape.rb +0 -19
  127. data/lib/shoes/mock/slot.rb +0 -14
  128. data/lib/shoes/mock/sound.rb +0 -8
  129. data/lib/shoes/mock/star.rb +0 -13
  130. data/lib/shoes/mock/text_block.rb +0 -29
  131. data/lib/shoes/mock/timer.rb +0 -8
  132. data/lib/shoes/oval.rb +0 -28
  133. data/lib/shoes/point.rb +0 -43
  134. data/lib/shoes/progress.rb +0 -26
  135. data/lib/shoes/radio.rb +0 -15
  136. data/lib/shoes/rect.rb +0 -28
  137. data/lib/shoes/renamed_delegate.rb +0 -15
  138. data/lib/shoes/shape.rb +0 -175
  139. data/lib/shoes/slot.rb +0 -232
  140. data/lib/shoes/slot_contents.rb +0 -56
  141. data/lib/shoes/sound.rb +0 -16
  142. data/lib/shoes/span.rb +0 -16
  143. data/lib/shoes/star.rb +0 -49
  144. data/lib/shoes/swt.rb +0 -114
  145. data/lib/shoes/swt/animation.rb +0 -46
  146. data/lib/shoes/swt/app.rb +0 -300
  147. data/lib/shoes/swt/arc.rb +0 -70
  148. data/lib/shoes/swt/background.rb +0 -31
  149. data/lib/shoes/swt/border.rb +0 -37
  150. data/lib/shoes/swt/button.rb +0 -18
  151. data/lib/shoes/swt/check.rb +0 -14
  152. data/lib/shoes/swt/check_button.rb +0 -19
  153. data/lib/shoes/swt/color.rb +0 -45
  154. data/lib/shoes/swt/common/child.rb +0 -16
  155. data/lib/shoes/swt/common/clear.rb +0 -24
  156. data/lib/shoes/swt/common/clickable.rb +0 -62
  157. data/lib/shoes/swt/common/container.rb +0 -28
  158. data/lib/shoes/swt/common/fill.rb +0 -37
  159. data/lib/shoes/swt/common/painter.rb +0 -83
  160. data/lib/shoes/swt/common/painter_updates_position.rb +0 -12
  161. data/lib/shoes/swt/common/resource.rb +0 -14
  162. data/lib/shoes/swt/common/selection_listener.rb +0 -14
  163. data/lib/shoes/swt/common/stroke.rb +0 -41
  164. data/lib/shoes/swt/common/toggle.rb +0 -13
  165. data/lib/shoes/swt/common/update_position.rb +0 -15
  166. data/lib/shoes/swt/dialog.rb +0 -89
  167. data/lib/shoes/swt/disposed_protection.rb +0 -23
  168. data/lib/shoes/swt/download.rb +0 -24
  169. data/lib/shoes/swt/fitted_text_layout.rb +0 -94
  170. data/lib/shoes/swt/fitted_text_layout_collection.rb +0 -108
  171. data/lib/shoes/swt/font.rb +0 -32
  172. data/lib/shoes/swt/gradient.rb +0 -77
  173. data/lib/shoes/swt/image.rb +0 -130
  174. data/lib/shoes/swt/image_pattern.rb +0 -19
  175. data/lib/shoes/swt/input_box.rb +0 -73
  176. data/lib/shoes/swt/key_listener.rb +0 -145
  177. data/lib/shoes/swt/line.rb +0 -57
  178. data/lib/shoes/swt/link.rb +0 -37
  179. data/lib/shoes/swt/link_segment.rb +0 -108
  180. data/lib/shoes/swt/list_box.rb +0 -49
  181. data/lib/shoes/swt/mouse_move_listener.rb +0 -61
  182. data/lib/shoes/swt/oval.rb +0 -53
  183. data/lib/shoes/swt/progress.rb +0 -35
  184. data/lib/shoes/swt/radio.rb +0 -29
  185. data/lib/shoes/swt/radio_group.rb +0 -54
  186. data/lib/shoes/swt/rect.rb +0 -31
  187. data/lib/shoes/swt/rect_painter.rb +0 -23
  188. data/lib/shoes/swt/redrawing_aspect.rb +0 -122
  189. data/lib/shoes/swt/shape.rb +0 -101
  190. data/lib/shoes/swt/shoes_layout.rb +0 -43
  191. data/lib/shoes/swt/slot.rb +0 -25
  192. data/lib/shoes/swt/sound.rb +0 -119
  193. data/lib/shoes/swt/star.rb +0 -51
  194. data/lib/shoes/swt/swt_button.rb +0 -49
  195. data/lib/shoes/swt/text_block.rb +0 -133
  196. data/lib/shoes/swt/text_block_cursor_painter.rb +0 -112
  197. data/lib/shoes/swt/text_block_fitter.rb +0 -180
  198. data/lib/shoes/swt/text_block_painter.rb +0 -49
  199. data/lib/shoes/swt/text_font_factory.rb +0 -27
  200. data/lib/shoes/swt/text_style_factory.rb +0 -88
  201. data/lib/shoes/swt/timer.rb +0 -19
  202. data/lib/shoes/swt/tooling/leak_hunter.rb +0 -84
  203. data/lib/shoes/text.rb +0 -14
  204. data/lib/shoes/text_block.rb +0 -162
  205. data/lib/shoes/timer.rb +0 -10
  206. data/lib/shoes/url.rb +0 -47
  207. data/lib/shoes/widget.rb +0 -73
  208. data/lib/support/jl1.0.1.jar +0 -0
  209. data/lib/support/jogg-0.0.7.jar +0 -0
  210. data/lib/support/jorbis-0.0.15.jar +0 -0
  211. data/lib/support/log4j-1.2.16.jar +0 -0
  212. data/lib/support/mp3spi1.9.5.jar +0 -0
  213. data/lib/support/tritonus_share.jar +0 -0
  214. data/lib/support/vorbisspi1.0.3.jar +0 -0
  215. data/samples/good-clock-adjusted.rb +0 -49
  216. data/spec/async_helper.rb +0 -21
  217. data/spec/code_coverage.rb +0 -11
  218. data/spec/shoes/animation_spec.rb +0 -65
  219. data/spec/shoes/app_spec.rb +0 -411
  220. data/spec/shoes/arc_spec.rb +0 -53
  221. data/spec/shoes/background_spec.rb +0 -48
  222. data/spec/shoes/border_spec.rb +0 -43
  223. data/spec/shoes/builtin_methods_spec.rb +0 -84
  224. data/spec/shoes/button_spec.rb +0 -41
  225. data/spec/shoes/check_spec.rb +0 -31
  226. data/spec/shoes/cli_spec.rb +0 -16
  227. data/spec/shoes/color_spec.rb +0 -396
  228. data/spec/shoes/common/style_normalizer_spec.rb +0 -28
  229. data/spec/shoes/common/style_spec.rb +0 -58
  230. data/spec/shoes/configuration_spec.rb +0 -37
  231. data/spec/shoes/constants_spec.rb +0 -38
  232. data/spec/shoes/dialog_spec.rb +0 -163
  233. data/spec/shoes/dimension_spec.rb +0 -381
  234. data/spec/shoes/dimensions_spec.rb +0 -831
  235. data/spec/shoes/download_spec.rb +0 -133
  236. data/spec/shoes/flow_spec.rb +0 -92
  237. data/spec/shoes/font_spec.rb +0 -38
  238. data/spec/shoes/framework_learning_spec.rb +0 -30
  239. data/spec/shoes/helpers/fake_element.rb +0 -11
  240. data/spec/shoes/helpers/sample17_helper.rb +0 -66
  241. data/spec/shoes/image_spec.rb +0 -45
  242. data/spec/shoes/images/shoe.jpg +0 -0
  243. data/spec/shoes/input_box_spec.rb +0 -44
  244. data/spec/shoes/integration_spec.rb +0 -20
  245. data/spec/shoes/keypress_spec.rb +0 -11
  246. data/spec/shoes/keyrelease_spec.rb +0 -12
  247. data/spec/shoes/line_spec.rb +0 -47
  248. data/spec/shoes/link_spec.rb +0 -89
  249. data/spec/shoes/list_box_spec.rb +0 -63
  250. data/spec/shoes/logger/ruby_spec.rb +0 -9
  251. data/spec/shoes/logger_spec.rb +0 -45
  252. data/spec/shoes/oval_spec.rb +0 -20
  253. data/spec/shoes/point_spec.rb +0 -51
  254. data/spec/shoes/progress_spec.rb +0 -40
  255. data/spec/shoes/radio_spec.rb +0 -28
  256. data/spec/shoes/rect_spec.rb +0 -38
  257. data/spec/shoes/renamed_delegate_spec.rb +0 -70
  258. data/spec/shoes/shape_spec.rb +0 -54
  259. data/spec/shoes/shared_examples/button.rb +0 -6
  260. data/spec/shoes/shared_examples/changeable.rb +0 -26
  261. data/spec/shoes/shared_examples/clickable.rb +0 -5
  262. data/spec/shoes/shared_examples/common_methods.rb +0 -42
  263. data/spec/shoes/shared_examples/dimensions.rb +0 -32
  264. data/spec/shoes/shared_examples/dsl.rb +0 -42
  265. data/spec/shoes/shared_examples/dsl/animate.rb +0 -29
  266. data/spec/shoes/shared_examples/dsl/arc.rb +0 -45
  267. data/spec/shoes/shared_examples/dsl/background.rb +0 -26
  268. data/spec/shoes/shared_examples/dsl/border.rb +0 -10
  269. data/spec/shoes/shared_examples/dsl/cap.rb +0 -6
  270. data/spec/shoes/shared_examples/dsl/check.rb +0 -11
  271. data/spec/shoes/shared_examples/dsl/edit_box.rb +0 -8
  272. data/spec/shoes/shared_examples/dsl/edit_line.rb +0 -8
  273. data/spec/shoes/shared_examples/dsl/editable_element.rb +0 -29
  274. data/spec/shoes/shared_examples/dsl/fill.rb +0 -27
  275. data/spec/shoes/shared_examples/dsl/flow.rb +0 -15
  276. data/spec/shoes/shared_examples/dsl/gradient.rb +0 -52
  277. data/spec/shoes/shared_examples/dsl/image.rb +0 -21
  278. data/spec/shoes/shared_examples/dsl/line.rb +0 -9
  279. data/spec/shoes/shared_examples/dsl/nofill.rb +0 -6
  280. data/spec/shoes/shared_examples/dsl/nostroke.rb +0 -6
  281. data/spec/shoes/shared_examples/dsl/oval.rb +0 -60
  282. data/spec/shoes/shared_examples/dsl/pattern.rb +0 -34
  283. data/spec/shoes/shared_examples/dsl/progress.rb +0 -7
  284. data/spec/shoes/shared_examples/dsl/rect.rb +0 -92
  285. data/spec/shoes/shared_examples/dsl/rgb.rb +0 -26
  286. data/spec/shoes/shared_examples/dsl/shape.rb +0 -21
  287. data/spec/shoes/shared_examples/dsl/star.rb +0 -48
  288. data/spec/shoes/shared_examples/dsl/stroke.rb +0 -30
  289. data/spec/shoes/shared_examples/dsl/strokewidth.rb +0 -19
  290. data/spec/shoes/shared_examples/dsl/style.rb +0 -32
  291. data/spec/shoes/shared_examples/dsl/text_elements.rb +0 -81
  292. data/spec/shoes/shared_examples/dsl_app_context.rb +0 -8
  293. data/spec/shoes/shared_examples/hover_leave.rb +0 -11
  294. data/spec/shoes/shared_examples/parent.rb +0 -6
  295. data/spec/shoes/shared_examples/shared_element_method.rb +0 -52
  296. data/spec/shoes/shared_examples/slot.rb +0 -272
  297. data/spec/shoes/shared_examples/state.rb +0 -19
  298. data/spec/shoes/shared_examples/style.rb +0 -24
  299. data/spec/shoes/slot_spec.rb +0 -60
  300. data/spec/shoes/sound_spec.rb +0 -15
  301. data/spec/shoes/span_spec.rb +0 -94
  302. data/spec/shoes/spec_helper.rb +0 -1
  303. data/spec/shoes/stack_spec.rb +0 -53
  304. data/spec/shoes/star_spec.rb +0 -30
  305. data/spec/shoes/text_block_spec.rb +0 -242
  306. data/spec/shoes/url_spec.rb +0 -66
  307. data/spec/shoes/widget_spec.rb +0 -34
  308. data/spec/shoes_spec.rb +0 -44
  309. data/spec/spec_helper.rb +0 -16
  310. data/spec/swt_shoes/animation_spec.rb +0 -86
  311. data/spec/swt_shoes/app_spec.rb +0 -75
  312. data/spec/swt_shoes/arc_spec.rb +0 -101
  313. data/spec/swt_shoes/background_spec.rb +0 -56
  314. data/spec/swt_shoes/border_spec.rb +0 -51
  315. data/spec/swt_shoes/button_spec.rb +0 -101
  316. data/spec/swt_shoes/check_spec.rb +0 -28
  317. data/spec/swt_shoes/color_spec.rb +0 -67
  318. data/spec/swt_shoes/common/painter_spec.rb +0 -29
  319. data/spec/swt_shoes/configuration_spec.rb +0 -12
  320. data/spec/swt_shoes/dialog_spec.rb +0 -106
  321. data/spec/swt_shoes/disposed_protection_spec.rb +0 -49
  322. data/spec/swt_shoes/fitted_text_layout_collection_spec.rb +0 -174
  323. data/spec/swt_shoes/fitted_text_layout_spec.rb +0 -130
  324. data/spec/swt_shoes/flow_spec.rb +0 -26
  325. data/spec/swt_shoes/font_spec.rb +0 -33
  326. data/spec/swt_shoes/gradient_spec.rb +0 -20
  327. data/spec/swt_shoes/image_pattern_spec.rb +0 -19
  328. data/spec/swt_shoes/image_spec.rb +0 -100
  329. data/spec/swt_shoes/input_box_spec.rb +0 -110
  330. data/spec/swt_shoes/integration_spec.rb +0 -18
  331. data/spec/swt_shoes/key_listener_spec.rb +0 -320
  332. data/spec/swt_shoes/line_spec.rb +0 -43
  333. data/spec/swt_shoes/link_segment_spec.rb +0 -103
  334. data/spec/swt_shoes/link_spec.rb +0 -59
  335. data/spec/swt_shoes/list_box_spec.rb +0 -51
  336. data/spec/swt_shoes/minimal.png +0 -0
  337. data/spec/swt_shoes/mouse_move_listener_spec.rb +0 -129
  338. data/spec/swt_shoes/oval_spec.rb +0 -51
  339. data/spec/swt_shoes/progress_spec.rb +0 -44
  340. data/spec/swt_shoes/radio_group_spec.rb +0 -73
  341. data/spec/swt_shoes/radio_spec.rb +0 -56
  342. data/spec/swt_shoes/rect_painter_spec.rb +0 -45
  343. data/spec/swt_shoes/rect_spec.rb +0 -19
  344. data/spec/swt_shoes/shape_spec.rb +0 -81
  345. data/spec/swt_shoes/shared_examples/button.rb +0 -24
  346. data/spec/swt_shoes/shared_examples/clearable.rb +0 -32
  347. data/spec/swt_shoes/shared_examples/clickable.rb +0 -60
  348. data/spec/swt_shoes/shared_examples/movable.rb +0 -36
  349. data/spec/swt_shoes/shared_examples/paintable_spec.rb +0 -7
  350. data/spec/swt_shoes/shared_examples/painter.rb +0 -83
  351. data/spec/swt_shoes/shared_examples/pattern.rb +0 -32
  352. data/spec/swt_shoes/shared_examples/swt_app_context.rb +0 -17
  353. data/spec/swt_shoes/shared_examples/togglable.rb +0 -15
  354. data/spec/swt_shoes/shell_control_listener_spec.rb +0 -23
  355. data/spec/swt_shoes/sound.rb +0 -10
  356. data/spec/swt_shoes/spec_helper.rb +0 -31
  357. data/spec/swt_shoes/star_spec.rb +0 -47
  358. data/spec/swt_shoes/text_block_cursor_painter_spec.rb +0 -202
  359. data/spec/swt_shoes/text_block_fitter_spec.rb +0 -181
  360. data/spec/swt_shoes/text_block_painter_spec.rb +0 -221
  361. data/spec/swt_shoes/text_block_spec.rb +0 -183
@@ -1,56 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::Swt::Radio do
4
- include_context "swt app"
5
-
6
- let(:text) { "TEXT" }
7
- let(:dsl) { double('dsl', :app => shoes_app,
8
- :width= => true, :width => 100,
9
- :height= => true, :height => 200,
10
- :group => nil, :blk => block).as_null_object }
11
- let(:block) { proc {} }
12
- let(:real) { double('real').as_null_object }
13
-
14
- subject { Shoes::Swt::Radio.new dsl, parent }
15
-
16
- before :each do
17
- ::Swt::Widgets::Button.stub(:new) { real }
18
- end
19
-
20
- it_behaves_like "buttons"
21
- it_behaves_like "movable element"
22
- it_behaves_like "selectable"
23
- it_behaves_like "togglable"
24
-
25
- describe "#initialize" do
26
- it "sets group to default" do
27
- subject.group.should == Shoes::Swt::RadioGroup::DEFAULT_RADIO_GROUP
28
- end
29
- end
30
-
31
- describe "#group=" do
32
- let(:group_name) { "New Group Name" }
33
- let(:radio_group) { double("radio_group").as_null_object }
34
- let(:group_lookup) { double('group_lookup', :[] => radio_group).as_null_object }
35
- before :each do
36
- Shoes::Swt::RadioGroup.stub(:group_lookup) { group_lookup }
37
- end
38
-
39
- it "changes the group" do
40
- subject.group = group_name
41
- subject.group.should == group_name
42
- end
43
-
44
- it "adds to the new radio group" do
45
- group_lookup.should_receive(:[]).with group_name
46
- radio_group.should_receive(:add).with subject
47
- subject.group = group_name
48
- end
49
-
50
- it "removes from the old radio group" do
51
- group_lookup.should_receive(:[]).with Shoes::Swt::RadioGroup::DEFAULT_RADIO_GROUP
52
- radio_group.should_receive(:remove).with subject
53
- subject.group = group_name
54
- end
55
- end
56
- end
@@ -1,45 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::Swt::RectPainter do
4
- include_context "painter context"
5
-
6
- let(:corners) { 0 }
7
- let(:app) { double('app', :real => container, :add_paint_listener => true, :dsl => dsl) }
8
- let(:container) { double('container', :disposed? => false) }
9
- let(:dsl) { double("dsl object", hidden: false, rotate: 0,
10
- element_left: left, element_top: top,
11
- element_width: width, element_height: height,
12
- corners: corners).as_null_object }
13
- let(:left) { 55 }
14
- let(:top) { 77 }
15
- let(:width) { 222 }
16
- let(:height) { 111 }
17
- let(:shape) { Shoes::Swt::Rect.new dsl, app, :curve => corners }
18
- subject { Shoes::Swt::RectPainter.new shape }
19
-
20
- it_behaves_like "fill painter"
21
- it_behaves_like "stroke painter"
22
-
23
- describe "square corners" do
24
- let(:corners) { 0 }
25
-
26
- it "fills rect" do
27
- gc.should_receive(:fill_round_rectangle).with(left, top, width, height, corners*2, corners*2)
28
- subject.paint_control(event)
29
- end
30
-
31
- it "draws rect" do
32
- gc.should_receive(:draw_round_rectangle).with(left+sw/2, top+sw/2, width-sw, height-sw, corners*2, corners*2)
33
- subject.paint_control(event)
34
- end
35
- end
36
-
37
- describe "round corners" do
38
- let(:corners) { 13 }
39
-
40
- it "draws rect with rounded corners" do
41
- gc.should_receive(:draw_round_rectangle).with(left+sw/2, top+sw/2, width-sw, height-sw, corners*2, corners*2)
42
- subject.paint_control(event)
43
- end
44
- end
45
- end
@@ -1,19 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::Swt::Rect do
4
- include_context "swt app"
5
-
6
- let(:left) { 55 }
7
- let(:top) { 77 }
8
- let(:width) { 222 }
9
- let(:height) { 111 }
10
- let(:dsl) {::Shoes::Rect.new shoes_app, parent, left, top, width, height}
11
-
12
- subject {
13
- Shoes::Swt::Rect.new dsl, swt_app
14
- }
15
-
16
- it_behaves_like "paintable"
17
- it_behaves_like "togglable"
18
- it_behaves_like 'clickable backend'
19
- end
@@ -1,81 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::Swt::Shape do
4
- include_context "swt app"
5
-
6
- let(:dsl) { double('dsl', hidden: false).as_null_object }
7
- subject { Shoes::Swt::Shape.new dsl, swt_app }
8
-
9
- shared_examples_for "Swt::Shape" do
10
- let(:ancestors) { subject.class.ancestors.map(&:name) }
11
-
12
- it "uses Shoes::Swt" do
13
- ancestors.should include('Shoes::Swt::Shape')
14
- subject
15
- end
16
-
17
- its(:dsl) { should be(dsl) }
18
- end
19
-
20
- it_behaves_like "Swt::Shape"
21
- it_behaves_like "paintable"
22
-
23
- describe "Swt element" do
24
- let(:element) { double("element") }
25
-
26
- before :each do
27
- ::Swt::Path.stub(:new) { element }
28
- end
29
-
30
- it "delegates #move_to" do
31
- element.should_receive(:move_to).with(20, 30)
32
- subject.move_to 20, 30
33
- end
34
-
35
- it "delegates #line_to" do
36
- element.should_receive(:line_to).with(20, 30)
37
- subject.line_to 20, 30
38
- end
39
-
40
- it "delegates #quad_to" do
41
- element.should_receive(:quad_to).with(100, 100, 20, 200)
42
- subject.quad_to 100, 100, 20, 200
43
- end
44
- end
45
-
46
- describe "moving" do
47
- let(:transform) { double("transform") }
48
-
49
- before :each do
50
- ::Swt::Transform.stub(:new) { transform }
51
- end
52
-
53
- it "delegates #move" do
54
- dsl.stub element_left: 20, element_top: 30
55
- transform.should_receive(:translate).with(20, 30)
56
- subject.update_position
57
- end
58
-
59
- end
60
-
61
- describe "painter" do
62
- include_context "painter context"
63
-
64
- let(:shape) { Shoes::Swt::Shape.new(dsl, swt_app) }
65
- subject { Shoes::Swt::Shape::Painter.new(shape) }
66
-
67
- it_behaves_like "stroke painter"
68
- it_behaves_like "fill painter"
69
- it_behaves_like "movable painter"
70
-
71
- it "fills path" do
72
- gc.should_receive(:fill_path)
73
- subject.paint_control(event)
74
- end
75
-
76
- it "draws path" do
77
- gc.should_receive(:draw_path)
78
- subject.paint_control(event)
79
- end
80
- end
81
- end
@@ -1,24 +0,0 @@
1
- shared_examples "buttons" do
2
- it "calls set_focus when focus is called" do
3
- real.should_receive :set_focus
4
- subject.focus
5
- end
6
-
7
- it "passes block to real element" do
8
- real.should_receive(:addSelectionListener).with(&block)
9
- subject
10
- end
11
- end
12
-
13
- # Check and Radio
14
- shared_examples "selectable" do
15
- it "calls get_selection when checked? is called" do
16
- real.should_receive :get_selection
17
- subject.checked?
18
- end
19
-
20
- it "calls set_selection when checked= is called" do
21
- real.should_receive(:set_selection).with(true)
22
- subject.checked = true
23
- end
24
- end
@@ -1,32 +0,0 @@
1
- shared_examples_for "clearable" do
2
- it "should respond to clear" do
3
- subject.should respond_to :clear
4
- end
5
-
6
- it "should remove paint listener" do
7
- swt_app.should_receive(:remove_paint_listener)
8
- swt_app.should_receive(:remove_listener).at_least(2).times
9
- subject.clear
10
- end
11
- end
12
-
13
- shared_examples_for "clearable native element" do
14
- it "should respond to clear" do
15
- subject.should respond_to :clear
16
- end
17
-
18
- it "should dispose real when real is not disposed" do
19
- swt_app.stub(:remove_listener)
20
- real.stub(:disposed?) { false }
21
- real.should_receive(:dispose)
22
- subject.clear
23
- end
24
-
25
- it "should not dispose real when real is already disposed" do
26
- swt_app.stub(:remove_listener)
27
- real.stub(:disposed?) { true }
28
- real.should_not_receive(:dispose)
29
- subject.clear
30
- end
31
- end
32
-
@@ -1,60 +0,0 @@
1
- shared_examples 'clickable backend' do
2
-
3
- before :each do
4
- swt_app.stub :add_clickable_element
5
- dsl.stub(:in_bounds?) { true }
6
- end
7
-
8
- let(:clickable_block) {double 'clickable_block'}
9
- let(:clickable_subject) do
10
- subject.clickable clickable_block
11
- subject
12
- end
13
-
14
- let(:mouse_event) {double 'mouse_event', button: 1, x: 2, y:3}
15
-
16
- it {should respond_to :clickable}
17
-
18
- it 'its click_handler should not be nil' do
19
- clickable_subject.click_listener.should_not be_nil
20
- end
21
-
22
- it 'calls the block when a click event comes in bounds' do
23
- clickable_block.should_receive(:call).with(1, 2, 3)
24
- clickable_subject.click_listener.handleEvent mouse_event
25
- end
26
-
27
- describe 'interaction with the swt app object' do
28
-
29
- def expect_adds_listener_for(event)
30
- swt_app.should_receive(:add_listener).with(event, clickable_subject.click_listener)
31
- end
32
-
33
- it 'receives the add_clickable_element message' do
34
- swt_app.should_receive(:add_clickable_element)
35
- clickable_subject
36
- end
37
-
38
- it 'adds a listener for the MouseDown event' do
39
- expect_adds_listener_for ::Swt::SWT::MouseDown
40
- clickable_subject
41
- end
42
-
43
- it 'adds a listener for the MouseDown event when click is called' do
44
- expect_adds_listener_for ::Swt::SWT::MouseDown
45
- subject.click do ; end
46
- end
47
-
48
- it 'adds a listener for the MouseUp event when release is called' do
49
- expect_adds_listener_for ::Swt::SWT::MouseUp
50
- subject.release do ; end
51
- end
52
- end
53
-
54
- it 'only hands the dsl object to the app' do
55
- subject.click do ; end
56
- # at least is used for link - because it already triggers it in intialize
57
- expect(swt_app).to have_received(:add_clickable_element).with(subject.dsl).
58
- at_least(1).times
59
- end
60
- end
@@ -1,36 +0,0 @@
1
- shared_examples "movable element" do |left, top|
2
-
3
- before :each do
4
- dsl.stub element_left: left, element_top: top
5
- end
6
-
7
- context "with disposed real element" do
8
- before :each do
9
- real.stub(:disposed?) { true }
10
- end
11
-
12
- it "doesn't delegate to real" do
13
- real.should_not_receive(:set_location)
14
- subject.update_position
15
- end
16
- end
17
-
18
- context "with undisposed real element" do
19
- before :each do
20
- real.stub(:disposed?) { false }
21
- end
22
-
23
- it "delegates to real" do
24
- real.should_receive(:set_location).with(left, top)
25
- subject.update_position
26
- end
27
- end
28
- end
29
-
30
- shared_examples_for "movable shape" do |x, y|
31
- it "redraws container" do
32
- container.should_receive(:redraw).at_least(2).times
33
- dsl.stub element_left: x, element_top: y
34
- subject.update_position
35
- end
36
- end
@@ -1,7 +0,0 @@
1
- shared_examples_for "paintable" do
2
- it "registers for painting" do
3
- swt_app.should_receive(:add_paint_listener)
4
- subject
5
- end
6
- end
7
-
@@ -1,83 +0,0 @@
1
- # Provide `shape` (a double) and `subject` (a Painter)
2
-
3
- shared_context "painter context" do
4
- let(:event) { double("event", :gc => gc) }
5
- let(:gc) { double("gc", :get_line_width => sw).as_null_object }
6
- let(:fill) { Shoes::Swt::Color.new(Shoes::Color.new(11, 12, 13, fill_alpha)) }
7
- let(:stroke) { Shoes::Swt::Color.new(Shoes::Color.new(111, 112, 113, stroke_alpha)) }
8
- let(:fill_alpha) { 70 }
9
- let(:stroke_alpha) { 110 }
10
- let(:sw) { 10 }
11
-
12
- before :each do
13
- shape.stub(:fill) { fill }
14
- shape.stub(:fill_alpha) { fill_alpha }
15
- shape.stub(:stroke) { stroke }
16
- shape.stub(:stroke_alpha) { stroke_alpha }
17
- subject.stub(:reset_rotate) { double("reset_rotate").as_null_object }
18
- end
19
- end
20
-
21
-
22
- shared_examples_for "movable painter" do
23
- describe "when moved" do
24
- let(:transform) { double("transform").as_null_object }
25
-
26
- before :each do
27
- ::Swt::Transform.stub(:new) { transform }
28
- shape.update_position
29
- end
30
-
31
- it "applies transform" do
32
- gc.should_receive(:set_transform).with(transform)
33
- subject.paint_control(event)
34
- end
35
- end
36
- end
37
-
38
- shared_examples_for "stroke painter" do
39
- describe "sets stroke" do
40
- specify "color" do
41
- gc.should_receive(:set_foreground).with(stroke.real)
42
- subject.paint_control(event)
43
- end
44
-
45
- specify "alpha" do
46
- gc.stub(:set_alpha)
47
- gc.should_receive(:set_alpha).with(stroke_alpha)
48
- subject.paint_control(event)
49
- end
50
- end
51
-
52
- it "sets strokewidth" do
53
- shape.stub(:strokewidth) { 4 }
54
- gc.should_receive(:set_line_width).with(4)
55
- subject.paint_control(event)
56
- end
57
-
58
- it "sets antialias" do
59
- gc.should_receive(:set_antialias).with(Swt::SWT::ON)
60
- subject.paint_control(event)
61
- end
62
-
63
- it "sets line cap" do
64
- gc.should_receive(:set_line_cap).with(anything)
65
- subject.paint_control(event)
66
- end
67
- end
68
-
69
- shared_examples_for "fill painter" do
70
- describe "sets fill" do
71
- specify "color" do
72
- gc.should_receive(:set_background).with(fill.real)
73
- subject.paint_control(event)
74
- end
75
-
76
- specify "alpha" do
77
- # Once for stroke, once for fill
78
- gc.stub(:set_alpha)
79
- gc.should_receive(:set_alpha).with(fill_alpha)
80
- subject.paint_control(event)
81
- end
82
- end
83
- end