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,66 +0,0 @@
1
- require 'shoes/spec_helper'
2
-
3
- describe 'Shoes.url' do
4
- let(:klazz) do
5
- Class.new(Shoes) do
6
- url '/', :index
7
- url '/path', :path
8
- url '/number/(\d+)', :number
9
- url '/foo', :foo
10
- url '/visit_me', :visit_me
11
-
12
- def index
13
- end
14
-
15
- def path
16
- end
17
-
18
- def number(i)
19
- end
20
-
21
- def foo
22
- some_method
23
- end
24
-
25
- def visit_me
26
- location.should == '/visit_me'
27
- end
28
-
29
- def some_method
30
- end
31
- end
32
- end
33
-
34
- subject do
35
- Shoes.app
36
- end
37
-
38
- it "should call index upon startup" do
39
- klazz.any_instance.should_receive(:index)
40
- subject
41
- end
42
-
43
- it 'should receive path when visitting path' do
44
- klazz.any_instance.should_receive(:path)
45
- Shoes.app do visit '/path' end
46
- end
47
-
48
- it 'handles the arguments given in the regexes' do
49
- klazz.any_instance.should_receive(:number).with('7')
50
- Shoes.app do visit '/number/7' end
51
- end
52
-
53
- it 'can call methods defined in the URL class when visitting a URL' do
54
- klazz.any_instance.should_receive(:some_method)
55
- Shoes.app do visit '/foo' end
56
- end
57
-
58
- it 'has a location method that returns the current URL' do
59
- Shoes.app do visit '/visit_me' end
60
- end
61
-
62
- it 'instances report class as klazz (regression, do not ask...)' do
63
- expect(klazz.new.class).to eq klazz
64
- end
65
-
66
- end
@@ -1,34 +0,0 @@
1
- require 'shoes/spec_helper'
2
-
3
- class Smile < Shoes::Widget
4
- def initialize(caption)
5
- banner caption
6
- end
7
- end
8
-
9
- describe Shoes::Widget do
10
- let(:app) { Shoes::App.new }
11
-
12
- it "creates dsl method on App" do
13
- app.should respond_to(:smile)
14
- end
15
-
16
- it "generates instances of its subclass" do
17
- app.smile("Cheese!").should be_instance_of(Smile)
18
- end
19
-
20
- it "passes missing methods to app" do
21
- app.should_receive(:banner).with("Pickles!")
22
- app.smile("Pickles!")
23
- end
24
-
25
- it 'sets the current slot as the parent' do
26
- slot = nil
27
- widget = nil
28
- Shoes.app do
29
- slot = instance_variable_get(:@__app__).current_slot
30
- widget = smile 'lalala'
31
- end
32
- expect(widget.parent).to eq slot
33
- end
34
- end
@@ -1,44 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Shoes, 'load_backend' do
4
- it "raises ArgumentError on bad input" do
5
- expect { Shoes.load_backend :bogus }.to raise_error
6
- end
7
- end
8
-
9
- describe Shoes, 'setup' do
10
-
11
- it 'knows this method' do
12
- Shoes.should respond_to :setup
13
- end
14
-
15
- describe 'outputting on standard error' do
16
-
17
- def expect_stderr_puts(regex)
18
- $stderr.should_receive(:puts).with(regex)
19
- end
20
-
21
- before :each do
22
- expect_stderr_puts(/WARN.+deprecated/)
23
- end
24
-
25
- it 'puts a warning message to $stderr' do
26
- Shoes.setup do end
27
- end
28
-
29
- it 'warns for individual gems' do
30
- expect_stderr_puts(/WARN.+foo.+gem install foo/)
31
- Shoes.setup do
32
- gem 'foo'
33
- end
34
- end
35
-
36
- it 'even reports the version number' do
37
- expect_stderr_puts(/gem install foo --version \"~>2.10.0\"/)
38
- Shoes.setup do
39
- gem 'foo ~>2.10.0'
40
- end
41
- end
42
- end
43
-
44
- end
@@ -1,16 +0,0 @@
1
- SHOESSPEC_ROOT = File.expand_path('..', __FILE__)
2
- $LOAD_PATH << File.join('../lib', SHOESSPEC_ROOT)
3
-
4
- require 'code_coverage'
5
- require 'rspec'
6
- require 'pry'
7
- require 'shoes'
8
- require 'async_helper'
9
- require 'shoes/helpers/fake_element'
10
-
11
- RSpec.configure do |c|
12
- c.treat_symbols_as_metadata_keys_with_true_values = true
13
- end
14
-
15
- shared_examples = File.expand_path('../shoes/shared_examples/**/*.rb', __FILE__)
16
- Dir[shared_examples].each { |f| require f }
@@ -1,86 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::Swt::Animation do
4
- include_context 'swt app'
5
- let(:dsl) { double('dsl', :stopped? => false, :removed? => false,
6
- :framerate => 10, :current_frame => nil,
7
- :increment_frame => nil, :blk => block) }
8
- let(:block) { double 'block', call: nil }
9
- let(:display) { ::Swt.display }
10
- subject { Shoes::Swt::Animation.new dsl, swt_app }
11
-
12
- before :each do
13
- display.stub(:timer_exec)
14
- end
15
-
16
- it "triggers an Swt timer" do
17
- display.should_receive(:timer_exec)
18
- subject
19
- end
20
-
21
- it "gets framerate" do
22
- expect(dsl).to receive(:framerate)
23
- subject
24
- end
25
-
26
- describe "task" do
27
- let(:task) { subject.task }
28
-
29
- it "calls block" do
30
- expect(block).to receive(:call)
31
- task.call
32
- end
33
-
34
- it "gets framerate" do
35
- expect(dsl).to receive(:framerate)
36
- task.call
37
- end
38
-
39
- it "triggers redraw" do
40
- with_redraws do
41
- expect(swt_app).to receive(:flush)
42
- task.call
43
- end
44
- end
45
-
46
- it "counts frames" do
47
- expect(dsl).to receive(:increment_frame)
48
- task.call
49
- end
50
-
51
- describe 'disabled' do
52
- describe 'stopped?' do
53
- before :each do
54
- dsl.stub :stopped? => true
55
- task.call
56
- end
57
-
58
- it 'does not call the block' do
59
- expect(block).to_not have_received :call
60
- end
61
-
62
- it 'continues calling the task' do
63
- # one for initialize, one for the call in the task call
64
- expect(display).to have_received(:timer_exec).exactly(2).times
65
- end
66
- end
67
-
68
- describe 'removed?' do
69
- before :each do
70
- dsl.stub :removed? => true
71
- task.call
72
- end
73
-
74
- it 'does not call the block when removed' do
75
- expect(block).to_not have_received :call
76
- end
77
-
78
- it 'does not continue calling itself when removed' do
79
- # one time is initialize
80
- expect(display).to have_received(:timer_exec).exactly(1).times
81
- end
82
- end
83
- end
84
-
85
- end
86
- end
@@ -1,75 +0,0 @@
1
- require "swt_shoes/spec_helper"
2
-
3
- describe Shoes::Swt::App do
4
- let(:opts) { {:background => Shoes::COLORS[:salmon], :resizable => true} }
5
- let(:app) { double('app', :opts => opts,
6
- :width => width,
7
- :height => 0,
8
- :app_title => 'double') }
9
-
10
- let(:opts_unresizable) { {:background => Shoes::COLORS[:salmon],
11
- :resizable => false} }
12
- let(:app_unresizable) { double('app', :opts => opts_unresizable,
13
- :width => 0,
14
- :height => 0,
15
- :app_title => 'double') }
16
- let(:width) {0}
17
-
18
- subject { Shoes::Swt::App.new(app) }
19
-
20
- it { should respond_to :clipboard }
21
- it { should respond_to :clipboard= }
22
-
23
- before :each do
24
- Shoes::Swt.unregister_all
25
- end
26
-
27
- context "when registering" do
28
- it "registers" do
29
- old_apps_length = Shoes::Swt.apps.length
30
- subject
31
- Shoes::Swt.apps.length.should eq(old_apps_length + 1)
32
- Shoes::Swt.apps.include?(subject).should be_true
33
- end
34
- end
35
-
36
- context "when running on a mac" do
37
- let(:the_display) { ::Swt::Widgets::Display }
38
-
39
- it "should set the menubar title" do
40
- the_display.should_receive(:app_name=).with('double')
41
- subject
42
- end
43
- end
44
-
45
- context "main window style" do
46
- BASE_BITMASK = Swt::SWT::CLOSE |
47
- Swt::SWT::MIN |
48
- Swt::SWT::MAX |
49
- Swt::SWT::RESIZE |
50
- Swt::SWT::V_SCROLL
51
-
52
- it "should return a bitmask that represents being resizable" do
53
- subject.send(:main_window_style).should eq(BASE_BITMASK)
54
- end
55
-
56
- it "should return a bitmask that represents not being resizable" do
57
- resizable = Shoes::Swt::App.new app_unresizable
58
- resizable.send(:main_window_style).should eq(BASE_BITMASK & ~Swt::SWT::RESIZE )
59
- end
60
- end
61
-
62
- context "when attempting to copy text" do
63
- it "copies text to clipboard" do
64
- pending 'Seems to be broken with tmux please see/fix #398'
65
- text = "test"
66
- subject.clipboard = text
67
- subject.clipboard.should eq(text)
68
- end
69
- end
70
-
71
- # fully testing the behavior would require stubbing for all of the open logic
72
- # which at the time is overkill imo
73
- it {should respond_to :started?}
74
-
75
- end
@@ -1,101 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::Swt::Arc do
4
- include_context "swt app"
5
-
6
- let(:left) { 100 }
7
- let(:top) { 200 }
8
- let(:width) { 300 }
9
- let(:height) { 400 }
10
- let(:angle1) { Shoes::PI }
11
- let(:angle2) { Shoes::HALF_PI }
12
- let(:dsl) { double("dsl object", app: shoes_app, element_width: width,
13
- element_height: height, element_left: left,
14
- element_top: top, angle1: angle1, angle2: angle2,
15
- wedge?: false, hidden: false).as_null_object }
16
- let(:fill_color) { Shoes::Color.new(40, 50, 60, 70) }
17
- let(:stroke_color) { Shoes::Color.new(80, 90, 100, 110) }
18
-
19
- subject { Shoes::Swt::Arc.new(dsl, swt_app) }
20
-
21
- describe "basics" do
22
- specify "converts angle1 to degrees" do
23
- subject.angle1.should eq(180.0)
24
- end
25
-
26
- specify "converts angle2 to degrees" do
27
- subject.angle2.should eq(90.0)
28
- end
29
-
30
- specify "delegates #wedge? to dsl object" do
31
- dsl.should_receive(:wedge?) { false }
32
- subject.should_not be_wedge
33
- end
34
- end
35
-
36
- it_behaves_like "paintable"
37
- it_behaves_like "togglable"
38
-
39
- describe "painter" do
40
- include_context "painter context"
41
-
42
- let(:shape) { Shoes::Swt::Arc.new(dsl, swt_app) }
43
- subject { Shoes::Swt::Arc::Painter.new(shape) }
44
-
45
- it_behaves_like "stroke painter"
46
- it_behaves_like "fill painter"
47
-
48
- context "normal fill style" do
49
- before :each do
50
- shape.stub(wedge?: false)
51
- end
52
-
53
- specify "fills arc using path" do
54
- gc.should_receive(:fill_path)
55
- subject.paint_control(event)
56
- end
57
-
58
- specify "draws arc" do
59
- gc.should_receive(:draw_arc)
60
- subject.paint_control(event)
61
- end
62
-
63
- # Swt measures the arc counterclockwise, while Shoes measures it clockwise.
64
- specify "translates DSL values for Swt" do
65
- path = double('path')
66
- ::Swt::Path.stub(:new) { path }
67
- args = [100, 200, width, height, 180.0, -90.0]
68
- path.should_receive(:add_arc).with(*args)
69
- sw = 10
70
- args = [100+sw/2, 200+sw/2, width-sw, height-sw, 180, -90.0]
71
- gc.should_receive(:draw_arc).with(*args)
72
- subject.paint_control(gc)
73
- end
74
- end
75
-
76
- context "wedge fill style" do
77
- before :each do
78
- shape.stub(wedge?: true)
79
- end
80
-
81
- specify "fills arc" do
82
- gc.should_receive(:fill_arc)
83
- subject.paint_control(event)
84
- end
85
-
86
- specify "draws arc" do
87
- gc.should_receive(:draw_arc)
88
- subject.paint_control(event)
89
- end
90
-
91
- specify "translates DSL values for Swt" do
92
- args = [100, 200, width, height, 180, -90.0]
93
- gc.should_receive(:fill_arc).with(*args)
94
- sw = 10
95
- args = [100+sw/2, 200+sw/2, width-sw, height-sw, 180, -90.0]
96
- gc.should_receive(:draw_arc).with(*args)
97
- subject.paint_control(gc)
98
- end
99
- end
100
- end
101
- end
@@ -1,56 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::Swt::Background 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", app: shoes_app,
12
- element_left: left, element_top: top,
13
- element_width: width, element_height: height,
14
- strokewidth: 1, corners: corners,
15
- hidden: false).as_null_object }
16
-
17
- subject {
18
- Shoes::Swt::Background.new dsl, swt_app
19
- }
20
-
21
- context "#initialize" do
22
- it { should be_an_instance_of(Shoes::Swt::Background) }
23
- its(:dsl) { should be(dsl) }
24
- end
25
-
26
- it_behaves_like "paintable"
27
- it_behaves_like "togglable"
28
-
29
- describe "painter" do
30
- include_context "painter context"
31
-
32
- let(:corners) { 0 }
33
- let(:shape) { Shoes::Swt::Background.new dsl, swt_app}
34
- subject { Shoes::Swt::Background::Painter.new shape }
35
-
36
- it_behaves_like "fill painter"
37
-
38
- describe "square corners" do
39
- let(:corners) { 0 }
40
-
41
- it "fills rect" do
42
- gc.should_receive(:fill_round_rectangle).with(left, top, width, height, corners*2, corners*2)
43
- subject.paint_control(event)
44
- end
45
- end
46
-
47
- describe "round corners" do
48
- let(:corners) { 13 }
49
-
50
- it "fills rect" do
51
- gc.should_receive(:fill_round_rectangle).with(left, top, width, height, corners*2, corners*2)
52
- subject.paint_control(event)
53
- end
54
- end
55
- end
56
- end