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,51 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::Swt::Border 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(:corners) { 0 }
11
- let(:dsl) { double("dsl object", element_width: width, element_height: height,
12
- element_left: left, element_top: top, parent: parent,
13
- strokewidth: 1, corners: corners,hidden: false).as_null_object }
14
-
15
- subject { Shoes::Swt::Border.new dsl, swt_app }
16
-
17
- context "#initialize" do
18
- it { should be_an_instance_of(Shoes::Swt::Border) }
19
- its(:dsl) { should be(dsl) }
20
- end
21
-
22
- it_behaves_like "paintable"
23
-
24
- describe "painter" do
25
- include_context "painter context"
26
-
27
- let(:corners) { 0 }
28
- let(:shape) { Shoes::Swt::Border.new dsl, swt_app }
29
- subject { Shoes::Swt::Border::Painter.new shape }
30
-
31
- it_behaves_like "stroke painter"
32
-
33
- describe "square corners" do
34
- let(:corners) { 0 }
35
-
36
- specify "draws rect" do
37
- gc.should_receive(:draw_round_rectangle).with(left+sw/2, top+sw/2, width-sw, height-sw, corners*2, corners*2)
38
- subject.paint_control(event)
39
- end
40
- end
41
-
42
- describe "round corners" do
43
- let(:corners) { 13 }
44
-
45
- specify "draws rect" do
46
- gc.should_receive(:draw_round_rectangle).with(left+sw/2, top+sw/2, width-sw, height-sw, corners*2, corners*2)
47
- subject.paint_control(event)
48
- end
49
- end
50
- end
51
- end
@@ -1,101 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::Swt::Button do
4
- include_context "swt app"
5
-
6
- let(:text) { "TEXT" }
7
- let(:dsl) { double('dsl', app: shoes_app, text: text, blk: block, element_width: 100, element_height: 200).as_null_object }
8
- let(:block) { proc {} }
9
- let(:real) { double('real', disposed?: false).as_null_object }
10
-
11
- subject { Shoes::Swt::Button.new dsl, parent }
12
-
13
- before :each do
14
- parent.stub(:real)
15
- parent.stub(:dsl){double(contents: [])}
16
- dsl.stub(:width=)
17
- dsl.stub(:height=)
18
- ::Swt::Widgets::Button.stub(:new) { real }
19
- end
20
-
21
- it_behaves_like "buttons"
22
- it_behaves_like "movable element", 140, 300
23
- it_behaves_like "clearable native element"
24
- it_behaves_like "togglable"
25
-
26
- describe "#initialize" do
27
- it "sets text on real element" do
28
- real.should_receive(:set_text).with(text)
29
- subject
30
- end
31
-
32
- describe 'size' do
33
- let(:width) {50}
34
- let(:height) {20}
35
- let(:size) {double 'real size', x: width, y: height}
36
- let(:real) {double('button real', size: size, pack: true).as_null_object}
37
-
38
- before :each do
39
- parent.stub(:real)
40
- parent.stub(:dsl){double(contents: [])}
41
- ::Swt::Widgets::Button.stub(:new) { real }
42
- end
43
-
44
- def dsl_for_dimensions(width, height)
45
- double('dsl', element_width: width, element_height: height, text: text).as_null_object
46
- end
47
-
48
- def with_dimensions_real_should_be(input_width, input_height,
49
- expected_width, expected_height)
50
- dsl = dsl_for_dimensions input_width, input_height
51
- dsl.should_receive(:element_width=).with(expected_width) unless input_width
52
- dsl.should_receive(:element_height=).with(expected_height) unless input_height
53
- Shoes::Swt::Button.new dsl, parent
54
- end
55
-
56
- it 'uses only real when width and height are not specified' do
57
- with_dimensions_real_should_be nil, nil, real.size.x, real.size.y
58
- end
59
-
60
- it 'uses the real height and specified width if specified' do
61
- with_dimensions_real_should_be 110, nil, 110, real.size.y
62
- end
63
-
64
- it 'uses the real width and specified height if specified' do
65
- with_dimensions_real_should_be nil, 220, real.size.x, 220
66
- end
67
-
68
- it 'uses both specified values' do
69
- with_dimensions_real_should_be 130, 220, 130, 220
70
- end
71
-
72
- it 'sends set_text to the real before packing it #452' do
73
- real.should_receive(:set_text).ordered
74
- real.should_receive(:pack).ordered
75
- subject
76
- end
77
- end
78
- end
79
-
80
- describe 'eval block' do
81
- it 'calls the block' do
82
- block.should_receive(:call).with(dsl)
83
- subject.eval_block block
84
- end
85
- end
86
-
87
- describe 'click' do
88
- it 'adds listener to real object' do
89
- expect(real).to receive(:addSelectionListener)
90
- subject.click &block
91
- end
92
-
93
- it 'passes dsl object to block' do
94
- expect(real).to receive(:addSelectionListener).twice do |&blk|
95
- expect(block).to receive(:call).with(dsl)
96
- blk.call
97
- end
98
- subject.click &block
99
- end
100
- end
101
- end
@@ -1,28 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::Swt::Check do
4
- include_context "swt app"
5
-
6
- let(:text) { "TEXT" }
7
- let(:dsl) { double('dsl',
8
- :app => shoes_app, :visible? => true,
9
- :left => 42, :top => 66,
10
- :element_left => 42, element_top: 66,
11
- :width => 100, :width= => true,
12
- :element_width => 100, element_height: 200,
13
- :height => 200, :height= => true,
14
- blk: block, contents: []) }
15
- let(:block) { proc {} }
16
- let(:real) { double('real').as_null_object }
17
-
18
- subject { Shoes::Swt::Check.new dsl, parent }
19
-
20
- before :each do
21
- ::Swt::Widgets::Button.stub(:new) { real }
22
- end
23
-
24
- it_behaves_like "buttons"
25
- it_behaves_like "movable element"
26
- it_behaves_like "selectable"
27
- it_behaves_like "togglable"
28
- end
@@ -1,67 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::Swt::Color do
4
- subject(:color) { Shoes::Swt::Color.create(Shoes::COLORS[:salmon]) }
5
-
6
- it_behaves_like "an swt pattern"
7
-
8
- its(:class) { should eq(Shoes::Swt::Color) }
9
-
10
- describe "underlying SWT object" do
11
- let(:real) { color.real }
12
-
13
- it "is a native SWT color" do
14
- expect(real.class).to eq(::Swt::Graphics::Color)
15
- end
16
-
17
- it "has same red value as Shoes color" do
18
- expect(real.red).to eq(250)
19
- end
20
-
21
- it "has same green value as Shoes color" do
22
- expect(real.green).to eq(128)
23
- end
24
-
25
- it "has same blue value as Shoes color" do
26
- expect(real.blue).to eq(114)
27
- end
28
- end
29
-
30
- describe "#apply_as_fill" do
31
- let(:gc) { double("gc") }
32
-
33
- it "sets background" do
34
- gc.stub(:set_alpha)
35
- expect(gc).to receive(:set_background).with(color.real)
36
- color.apply_as_fill(gc)
37
- end
38
-
39
- it "sets alpha" do
40
- gc.stub(:set_background)
41
- expect(gc).to receive(:set_alpha)
42
- color.apply_as_fill(gc, 10, 20, 100, 200)
43
- end
44
- end
45
- end
46
-
47
- describe Shoes::Swt::NullColor do
48
- subject(:color) { Shoes::Swt::Color.create(nil) }
49
-
50
- it { should be_instance_of(Shoes::Swt::NullColor) }
51
- its(:real) { should be_nil }
52
- its(:dsl) { should be_nil }
53
- its(:alpha) { should be_nil }
54
-
55
- describe "pattern interface" do
56
- let(:gc) { double("graphics context") }
57
-
58
- it "sends no messages in #apply_as_fill" do
59
- color.apply_as_fill(gc)
60
- end
61
-
62
- it "sends no messages in #apply_as_stroke" do
63
- color.apply_as_stroke(gc)
64
- end
65
- end
66
- end
67
-
@@ -1,29 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::Swt::Common::Painter do
4
- let(:object) {double 'object', dsl: dsl}
5
- let(:dsl) {double 'dsl', visible?: true, positioned?: true}
6
- let(:event) {double 'paint event', gc: graphics_context}
7
- let(:graphics_context) {double 'graphics_context'}
8
- subject {Shoes::Swt::Common::Painter.new object}
9
-
10
- describe '#paint_control' do
11
- it 'should attempts to paint the object' do
12
- expect(subject).to receive(:paint_object)
13
- subject.paint_control event
14
- end
15
-
16
- it 'does paint the object if it is hidden' do
17
- dsl.stub visible?: false
18
- expect(subject).not_to receive(:paint_object)
19
- subject.paint_control event
20
- end
21
-
22
- it 'does not paint the object if it is not positioned' do
23
- dsl.stub positioned?: false
24
- expect(subject).not_to receive(:paint_object)
25
- subject.paint_control event
26
- end
27
- end
28
-
29
- end
@@ -1,12 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::Configuration do
4
- context ":swt" do
5
- describe "#backend" do
6
- it "sets backend" do
7
- Shoes.configuration.backend.should == Shoes::Swt
8
- end
9
- end
10
-
11
- end
12
- end
@@ -1,106 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- main_object = self
4
-
5
- describe Shoes::Swt::Dialog do
6
-
7
- def double_message_box
8
- create_double_message_box double(:mb, open: true, :message= => true)
9
- end
10
-
11
- def double_message_box_expecting_message(message)
12
- double_dialog = double(:mb, open: true)
13
- double_dialog.should_receive(:message=).with(message)
14
- create_double_message_box double_dialog
15
- end
16
-
17
- def double_message_box_returning(return_value)
18
- create_double_message_box double(:mb, :message= => true, open: return_value)
19
- end
20
-
21
- def create_double_message_box(double_dialog)
22
- ::Swt::Widgets::Shell.stub(:new)
23
- ::Swt::Widgets::MessageBox.stub(new: double_dialog)
24
- end
25
-
26
- before :each do
27
- @dialog = Shoes::Swt::Dialog.new
28
- end
29
-
30
- TEXT = 'some random text'
31
-
32
- describe 'alert' do
33
- it 'pops up a window containing a short message.' do
34
- double_message_box_expecting_message TEXT
35
- @dialog.alert TEXT
36
- end
37
-
38
- it 'returns nil' do
39
- double_message_box
40
- @dialog.alert('Nothing').should be_nil
41
- end
42
- end
43
-
44
- describe 'confirm' do
45
- it 'pops up a window containing a short message.' do
46
- double_message_box_expecting_message TEXT
47
- @dialog.confirm TEXT
48
- end
49
-
50
- it 'is true when YES was pressed' do
51
- double_message_box_returning ::Swt::SWT::YES
52
- subject.confirm.should be_true
53
- end
54
-
55
- it 'is false when NO was pressed' do
56
- double_message_box_returning ::Swt::SWT::NO
57
- subject.confirm.should be_false
58
- end
59
-
60
- it 'is false when an arbitary number is returned' do
61
- double_message_box_returning 42
62
- subject.confirm.should be_false
63
- end
64
- end
65
-
66
- describe 'dialog_chooser' do
67
- it 'responds to it' do
68
- @dialog.should respond_to :dialog_chooser
69
- end
70
- end
71
-
72
- describe 'ask' do
73
- it 'responds to it' do
74
- @dialog.should respond_to :ask
75
- end
76
- end
77
-
78
- describe 'ask_color' do
79
- it 'responds to it' do
80
- @dialog.should respond_to :ask_color
81
- end
82
- end
83
-
84
- describe 'on the main object' do
85
- describe '#alert' do
86
-
87
- it 'returns nil' do
88
- double_message_box
89
- main_object.alert('Something').should be_nil
90
- end
91
- end
92
-
93
- describe '#confirm' do
94
- it 'returns true when YES was clicked' do
95
- double_message_box_returning ::Swt::SWT::YES
96
- main_object.confirm('1 + 1 = 2').should be_true
97
- end
98
-
99
- it 'returns false when NO was clicked' do
100
- double_message_box_returning ::Swt::SWT::NO
101
- main_object.confirm('1 + 1 = 3').should be_false
102
- end
103
- end
104
- end
105
-
106
- end
@@ -1,49 +0,0 @@
1
- class Harness
2
- include Shoes::Swt::DisposedProtection
3
-
4
- def initialize(real)
5
- @real = real
6
- end
7
- end
8
-
9
- describe Shoes::Swt::DisposedProtection do
10
- let(:width) { 234 }
11
- let(:real_with_disposed_protection) { Harness.new(bare_real).real }
12
-
13
- context "when real object is NOT disposed" do
14
- let(:bare_real) { double("delegation object", width: width, dispose: nil, disposed?: false) }
15
-
16
- it "delegates method" do
17
- real_with_disposed_protection.width
18
- expect(bare_real).to have_received(:width)
19
- end
20
-
21
- it "returns the same result as the bare real object" do
22
- expect(real_with_disposed_protection.width).to eq(width)
23
- end
24
-
25
- it "disposes real object" do
26
- real_with_disposed_protection.dispose
27
- expect(bare_real).to have_received(:dispose)
28
- end
29
- end
30
-
31
- context "when real object IS disposed" do
32
- let(:bare_real) { double("delegation object", width: width, dispose: nil, disposed?: true) }
33
-
34
- it "does NOT delegate method" do
35
- real_with_disposed_protection.width
36
- expect(bare_real).not_to have_received(:width)
37
- end
38
-
39
- it "returns nil" do
40
- expect(real_with_disposed_protection.width).to eq(nil)
41
- end
42
-
43
- it "does NOT dispose real object" do
44
- real_with_disposed_protection.dispose
45
- expect(bare_real).not_to have_received(:dispose)
46
- end
47
- end
48
- end
49
-