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,11 +0,0 @@
1
- shared_examples_for 'check DSL method' do
2
- let(:checkbox) { dsl.check }
3
-
4
- it 'should be a checkbox' do
5
- checkbox.should be_instance_of Shoes::Check
6
- end
7
-
8
- it 'should be unchecked by default' do
9
- checkbox.checked?.should be_false
10
- end
11
- end
@@ -1,8 +0,0 @@
1
- shared_examples_for "edit_box DSL method" do
2
- context "edit_box" do
3
- include_examples "editable element" do
4
- let(:dsl_method) { :edit_box }
5
- let(:klazz) { Shoes::EditBox }
6
- end
7
- end
8
- end
@@ -1,8 +0,0 @@
1
- shared_examples_for "edit_line DSL method" do
2
- context "edit_line" do
3
- include_examples "editable element"
4
-
5
- let(:dsl_method) { :edit_line }
6
- let(:klazz) { Shoes::EditLine }
7
- end
8
- end
@@ -1,29 +0,0 @@
1
- shared_examples_for "editable element" do
2
- subject { super.public_send(dsl_method, *args) }
3
-
4
- describe "with no arguments" do
5
- let(:args) { [] }
6
- its(:initial_text) { should == '' }
7
- its(:width) { should == klazz::DEFAULT_STYLE[:width] }
8
- its(:height) { should == klazz::DEFAULT_STYLE[:height] }
9
- end
10
-
11
- describe "with a single text argument" do
12
- let(:args) { ['Hello text here'] }
13
-
14
- its(:initial_text) { should == 'Hello text here' }
15
- end
16
-
17
- describe "with a style hash" do
18
- let(:args) { [{width: 100, height: 50}] }
19
-
20
- its(:initial_text) { should == '' }
21
- end
22
-
23
- describe "with a text argument and a style hash" do
24
- let(:args) { ['Hello text here', {width: 100, height: 50}] }
25
- its(:initial_text) { should == 'Hello text here' }
26
- its(:width) { should == 100 }
27
- its(:height) { should == 50 }
28
- end
29
- end
@@ -1,27 +0,0 @@
1
- shared_examples_for "fill DSL method" do
2
- let(:color) { Shoes::COLORS.fetch :tomato }
3
-
4
- it "returns a color" do
5
- dsl.fill(color).class.should eq(Shoes::Color)
6
- end
7
-
8
- # This works differently on a container than on a normal element
9
- it "sets on receiver" do
10
- dsl.fill color
11
- dsl.style[:fill].should eq(color)
12
- end
13
-
14
- it "applies to subsequently created objects" do
15
- dsl.fill color
16
- oval = dsl.oval(10, 10, 100, 100)
17
- oval.fill.should eq(color)
18
- end
19
-
20
- context "with hex string" do
21
- let(:color) { "#fff" }
22
-
23
- it "sets the color" do
24
- dsl.fill(color).should eq(Shoes::COLORS[:white])
25
- end
26
- end
27
- end
@@ -1,15 +0,0 @@
1
- shared_examples_for "flow DSL method" do
2
- let(:flow) {dsl.flow}
3
-
4
- it "creates a Shoes::Flow" do
5
- expect(flow).to be_an_instance_of(Shoes::Flow)
6
- end
7
-
8
- it 'reports an instance of Shoes::App when asked for its app' do
9
- expect(flow.app.class).to eq Shoes::App
10
- end
11
-
12
- it 'reports an object that responds to stack when asked for its app' do
13
- expect(flow.app).to respond_to :stack
14
- end
15
- end
@@ -1,52 +0,0 @@
1
- shared_examples_for "creating gradient" do
2
- it "returns correct gradient" do
3
- gradient.to_s.should eq("<Shoes::Gradient #ff0000->#0000ff>")
4
- end
5
- end
6
-
7
- shared_examples_for "gradient DSL method" do
8
- context "with colors" do
9
- let(:red) { Shoes::Color.new(255, 0, 0) }
10
- let(:blue) { Shoes::Color.new(0, 0, 255) }
11
-
12
- context "two separate" do
13
- it_behaves_like "creating gradient" do
14
- let(:gradient) { dsl.gradient(red, blue) }
15
- end
16
- end
17
-
18
- context "as range" do
19
- it_behaves_like "creating gradient" do
20
- let(:gradient) { dsl.gradient(red..blue) }
21
- end
22
- end
23
- end
24
-
25
- context "with strings" do
26
- let(:red) { "#f00" }
27
- let(:blue) { "#00f" }
28
-
29
- context "two separate" do
30
- it_behaves_like "creating gradient" do
31
- let(:gradient) { dsl.gradient(red, blue) }
32
- end
33
- end
34
-
35
- context "as range" do
36
- it_behaves_like "creating gradient" do
37
- let(:gradient) { dsl.gradient(red..blue) }
38
- end
39
- end
40
- end
41
-
42
- context "with gradient" do
43
- it_behaves_like "creating gradient" do
44
- let(:gradient_arg) { dsl.gradient("#f00", "#00f") }
45
- let(:gradient) { dsl.gradient(gradient_arg) }
46
- end
47
- end
48
-
49
- it "fails on bad input" do
50
- lambda { dsl.gradient(100) }.should raise_error(ArgumentError)
51
- end
52
- end
@@ -1,21 +0,0 @@
1
- shared_examples_for "image DSL method" do
2
- let(:path) { Shoes::DIR + '/static/shoes-icon.png' }
3
- let(:opts) { {} }
4
- let(:image) { dsl.image path, opts }
5
-
6
- it 'should set the path' do
7
- image.file_path.should == path
8
- end
9
-
10
- context 'with :top and :left style attributes' do
11
- let(:opts) { {left: 55, top: 66} }
12
-
13
- it 'should set the left' do
14
- image.left.should == 55
15
- end
16
-
17
- it 'should set the top' do
18
- image.top.should == 66
19
- end
20
- end
21
- end
@@ -1,9 +0,0 @@
1
- shared_examples_for "line DSL method" do
2
- it "creates a Shoes::Line" do
3
- dsl.line(10, 15, 20, 30).should be_an_instance_of(Shoes::Line)
4
- end
5
-
6
- it "raises an ArgumentError" do
7
- lambda { dsl.line(30) }.should raise_error(ArgumentError)
8
- end
9
- end
@@ -1,6 +0,0 @@
1
- shared_examples_for "nofill DSL method" do
2
- it "sets nil" do
3
- dsl.nofill
4
- dsl.style[:fill].should eq(nil)
5
- end
6
- end
@@ -1,6 +0,0 @@
1
- shared_examples_for "nostroke DSL method" do
2
- it "sets nil" do
3
- dsl.nostroke
4
- dsl.style[:stroke].should eq(nil)
5
- end
6
- end
@@ -1,60 +0,0 @@
1
- shared_examples_for "an oval/circle element" do
2
- it "makes a Shoes::Oval" do
3
- oval.should be_instance_of(Shoes::Oval)
4
- end
5
-
6
- it "sets the proper dimensions" do
7
- oval.top.should eq(top)
8
- oval.left.should eq(left)
9
- oval.width.should eq(width)
10
- oval.height.should eq(height)
11
- end
12
- end
13
-
14
- shared_examples_for "oval DSL method" do
15
- let(:left) { 20 }
16
- let(:top) { 30 }
17
- let(:width) { 100 }
18
- let(:height) { 200 }
19
-
20
- let(:oval) { dsl.oval(left, top, width, height) }
21
-
22
- context "eccentric, from explicit arguments" do
23
- it_behaves_like "an oval/circle element"
24
- end
25
-
26
- it "raises an ArgumentError" do
27
- lambda { dsl.oval(10) }.should raise_error(ArgumentError)
28
- end
29
-
30
- context "a circle" do
31
- let(:width) { height }
32
-
33
- describe "when constructed from explicit arguments" do
34
- it_behaves_like "an oval/circle element"
35
- end
36
-
37
- describe "when constructed with a top, left and diameter" do
38
- let(:circle) { dsl.oval(left, top, width) }
39
- it_behaves_like "an oval/circle element"
40
- end
41
-
42
- describe "when constructing from a style hash" do
43
- describe "using left, top, height, width" do
44
- let(:circle) { dsl.oval(left: left, top: top, width: width, height: height) }
45
- it_behaves_like "an oval/circle element"
46
- end
47
-
48
- describe "using left, top, height, width, center: false" do
49
- let(:circle) { dsl.oval(left: left, top: top, width: width, height: height, center: false) }
50
- it_behaves_like "an oval/circle element"
51
- end
52
-
53
- describe "using left, top, diameter" do
54
- let(:circle) { dsl.oval(left: left, top: top, diameter: width) }
55
- it_behaves_like "an oval/circle element"
56
- end
57
- end
58
- end
59
-
60
- end
@@ -1,34 +0,0 @@
1
- shared_examples_for "pattern DSL method" do
2
- let(:honeydew) { Shoes::COLORS[:honeydew] }
3
- let(:salmon) { Shoes::COLORS[:salmon] }
4
-
5
- context "with single color" do
6
- let(:pattern) { dsl.pattern honeydew }
7
- it "returns the color" do
8
- pattern.should eq(honeydew)
9
- end
10
- end
11
-
12
- context "with color range" do
13
- let(:pattern) { dsl.pattern honeydew..salmon }
14
-
15
- it "returns a gradient" do
16
- pattern.should eq(dsl.gradient honeydew..salmon)
17
- end
18
- end
19
-
20
- context "with single string" do
21
- let(:pattern) { dsl.pattern honeydew.hex }
22
- it "returns the color" do
23
- pattern.should eq(honeydew)
24
- end
25
- end
26
-
27
- context "with string range" do
28
- let(:pattern) { dsl.pattern honeydew.hex..salmon.hex }
29
-
30
- it "returns a gradient" do
31
- pattern.should eq(dsl.gradient honeydew..salmon)
32
- end
33
- end
34
- end
@@ -1,7 +0,0 @@
1
- shared_examples_for "progress DSL method" do
2
- let(:progress) { dsl.progress }
3
-
4
- it 'should be a progress bar' do
5
- progress.should be_instance_of Shoes::Progress
6
- end
7
- end
@@ -1,92 +0,0 @@
1
- shared_examples_for "rectangle dimensions" do
2
- it "makes a Shoes::Rect" do
3
- rect.should be_an_instance_of(Shoes::Rect)
4
- end
5
-
6
- it "sets proper dimensions" do
7
- rect.left.should eq(left)
8
- rect.top.should eq(top)
9
- rect.width.should eq(width)
10
- rect.height.should eq(height)
11
- end
12
- end
13
-
14
- shared_examples_for "rect DSL method" do
15
- let(:left) { 40 }
16
- let(:top) { 30 }
17
- let(:curve) { 12 }
18
-
19
- it "raises an ArgumentError" do
20
- lambda { dsl.rect(30) }.should raise_exception(ArgumentError)
21
- end
22
-
23
- context 'unequal sides' do
24
- let(:width) { 200 }
25
- let(:height) { 100 }
26
-
27
- context "from explicit arguments" do
28
- let(:rect) { dsl.rect left, top, width, height }
29
-
30
- include_examples "rectangle dimensions"
31
-
32
- it "defaults to corner radius of 0" do
33
- rect.corners.should eq(0)
34
- end
35
- end
36
-
37
- context "round corners, from explicit arguments" do
38
- let(:rect) { dsl.rect left, top, width, height, curve }
39
-
40
- include_examples "rectangle dimensions"
41
-
42
- it "sets corner radius" do
43
- rect.corners.should eq(curve)
44
- end
45
- end
46
-
47
- context "from style hash" do
48
- let(:rect) { dsl.rect left: left, top: top, width: width, height: height }
49
-
50
- include_examples "rectangle dimensions"
51
-
52
- it "defaults to corner radius of 0" do
53
- rect.corners.should eq(0)
54
- end
55
- end
56
-
57
- context "rounded corners, from style hash" do
58
- let(:rect) { dsl.rect left: left, top: top, width: width, height: height, curve: curve }
59
-
60
- include_examples "rectangle dimensions"
61
-
62
- it "sets corner radius" do
63
- rect.corners.should eq(curve)
64
- end
65
- end
66
- end
67
-
68
- context "square" do
69
- let(:width) { 200 }
70
- let(:height) { 200 }
71
-
72
- context "from explicit arguments" do
73
- let(:rect) { dsl.rect left, top, width }
74
-
75
- include_examples "rectangle dimensions"
76
-
77
- it "defaults to corner radius of 0" do
78
- rect.corners.should eq(0)
79
- end
80
- end
81
-
82
- context "square, from style hash" do
83
- let(:rect) { dsl.rect left: left, top: top, width: width }
84
-
85
- include_examples "rectangle dimensions"
86
-
87
- it "defaults to corner radius of 0" do
88
- rect.corners.should eq(0)
89
- end
90
- end
91
- end
92
- end
@@ -1,26 +0,0 @@
1
- shared_examples_for "rgb DSL method" do
2
- let(:red) { 100 }
3
- let(:green) { 149 }
4
- let(:blue) { 237 }
5
- let(:alpha) { 133 } # cornflowerblue
6
-
7
- it "sends args to Shoes::Color" do
8
- Shoes::Color.should_receive(:new).with(red, green, blue, alpha)
9
- dsl.rgb(red, green, blue, alpha)
10
- end
11
-
12
- it "defaults to opaque" do
13
- Shoes::Color.should_receive(:new).with(red, green, blue, Shoes::Color::OPAQUE)
14
- dsl.rgb(red, green, blue)
15
- end
16
-
17
- describe "named color method" do
18
- it "produces correct color" do
19
- dsl.cornflowerblue.should eq(Shoes::Color.new red, green, blue)
20
- end
21
-
22
- it "accepts alpha arg" do
23
- dsl.cornflowerblue(alpha).should eq(Shoes::Color.new red, green, blue, alpha)
24
- end
25
- end
26
- end
@@ -1,21 +0,0 @@
1
- shared_examples_for "shape DSL method" do
2
- let(:shape) {
3
- dsl.shape {
4
- move_to 400, 300
5
- line_to 400, 200
6
- line_to 100, 100
7
- line_to 400, 300
8
- quad_to 100, 100, 20, 200
9
- }
10
- }
11
-
12
- it "creates a Shoes::Shape" do
13
- shape.should be_an_instance_of(Shoes::Shape)
14
- end
15
-
16
- it "receives style from app" do
17
- green = Shoes::COLORS.fetch :green
18
- dsl.style[:stroke] = green
19
- shape.stroke.should eq(green)
20
- end
21
- end