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,110 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::Swt::InputBox do
4
- include_context "swt app"
5
-
6
- let(:dsl) { double('dsl', app: shoes_app, visible?: true, element_width: 80,
7
- element_height: 22, initial_text: 'Jay',
8
- secret?: secret).as_null_object }
9
- let(:real) { double('real', disposed?: false, text: text).as_null_object }
10
- let(:styles) {::Swt::SWT::SINGLE | ::Swt::SWT::BORDER}
11
- let(:secret) {false}
12
- let(:text) {'Some text...'}
13
-
14
- subject { Shoes::Swt::InputBox.new dsl, parent, styles }
15
-
16
- before :each do
17
- ::Swt::Widgets::Text.stub(:new) { real }
18
- ::Swt::Widgets::Text.stub(:text=) { real }
19
- end
20
-
21
- it_behaves_like "movable element"
22
- it_behaves_like "clearable native element"
23
- it_behaves_like "togglable"
24
-
25
- describe "#initialize" do
26
- let(:event) {double 'Event', source: source}
27
- let(:source) {double 'Source'}
28
- it "sets text on real element" do
29
- subject.text = "some text"
30
- expect(real).to have_received(:text=).with("some text")
31
- end
32
-
33
- describe 'change listeners' do
34
-
35
- it "should set up a listener that delegates change events" do
36
- expect(dsl).to receive(:call_change_listeners)
37
- expect(real).to receive(:add_modify_listener) do |&blk|
38
- blk.call(event)
39
- end
40
- subject
41
- end
42
-
43
- describe 'modify block' do
44
- before :each do
45
- @modify_block = nil
46
- expect(real).to receive(:add_modify_listener) do |&blk|
47
- @modify_block = blk
48
- end
49
- subject
50
- end
51
-
52
- it 'normally calls the dsl change listeners' do
53
- @modify_block.call event
54
-
55
- expect(dsl).to have_received :call_change_listeners
56
- end
57
-
58
- describe 'with the same text' do
59
- let(:event) {double 'Bad Event', source: source,
60
- class: Java::OrgEclipseSwtEvents::ModifyEvent}
61
- let(:source) {double 'Our source',
62
- class: Java::OrgEclipseSwtWidgets::Text,
63
- text: text}
64
- let(:text) {'Double call'}
65
- it 'does not call the change listeners' do
66
- subject.text = text
67
- @modify_block.call event
68
- expect(dsl).to_not have_received :call_change_listeners
69
- end
70
- end
71
-
72
- end
73
- end
74
- end
75
-
76
- describe 'text selections' do
77
- it 'translates the highlight_text call' do
78
- subject.highlight_text 4, 20
79
- expect(real).to have_received(:set_selection).with(4, 20)
80
- end
81
-
82
- it 'translates the caret_to call' do
83
- subject.caret_to 42
84
- expect(real).to have_received(:set_selection).with(42)
85
- end
86
- end
87
-
88
- describe Shoes::Swt::EditLine do
89
- subject {Shoes::Swt::EditLine.new dsl, parent}
90
- describe ":secret option" do
91
- context "when NOT set" do
92
- it "does NOT set PASSWORD style" do
93
- options = Shoes::Swt::EditLine::DEFAULT_STYLES
94
- dsl.stub(:secret?) { false }
95
- expect(::Swt::Widgets::Text).to receive(:new).with(parent.real, options)
96
- subject
97
- end
98
- end
99
-
100
- context "when set" do
101
- it "sets PASSWORD style" do
102
- options = Shoes::Swt::EditLine::DEFAULT_STYLES | ::Swt::SWT::PASSWORD
103
- dsl.stub(:secret?) { true }
104
- expect(::Swt::Widgets::Text).to receive(:new).with(parent.real, options)
105
- subject
106
- end
107
- end
108
- end
109
- end
110
- end
@@ -1,18 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::App do
4
- before :each do
5
- # The stubs that are unstubbed here occur in the spec_helper
6
- # error not triggered with a stubbed flush (removing the stub overall
7
- # seemed to difficult after initial try)
8
- Shoes::Swt::App.any_instance.unstub(:flush)
9
- Shoes::Swt::RedrawingAspect.unstub :new
10
- end
11
-
12
- it 'does not fail with just a simple para #574' do
13
- expect do
14
- app = Shoes.app do para 'me no fail' end
15
- app.quit
16
- end.not_to raise_error
17
- end
18
- end
@@ -1,320 +0,0 @@
1
- # encoding: UTF-8
2
- require 'swt_shoes/spec_helper'
3
-
4
- describe Shoes::Swt::Keypress do
5
- let(:app) { double('app', add_key_listener: nil) }
6
- let(:dsl) { double('dsl') }
7
- let(:block) { proc{ |key| key} }
8
- let(:key_listener) {Shoes::Swt::Keypress.new(dsl, app, &block)}
9
-
10
- describe '.get_swt_constant' do
11
- it 'gets the swt constant' do
12
- expect(Shoes::Swt::KeyListener.get_swt_constant("TAB")).to eq ::Swt::SWT::TAB
13
- end
14
- end
15
-
16
- describe "subclasses" do
17
-
18
- describe "Subclass Keypress" do
19
- it "adds key listener on creation" do
20
- app.should_receive(:add_key_listener)
21
- Shoes::Swt::Keypress.new dsl, app, &block
22
- end
23
- end
24
-
25
- describe "Subclass Keyrelease" do
26
- it "adds key listener on creation" do
27
- app.should_receive(:add_key_listener)
28
- Shoes::Swt::Keyrelease.new dsl, app, &block
29
- end
30
- end
31
- end
32
-
33
- CTRL = ::Swt::SWT::CTRL
34
- ALT = ::Swt::SWT::ALT
35
- SHIFT = ::Swt::SWT::SHIFT
36
-
37
- subject {key_listener}
38
-
39
- def test_character_press(character, state_modifier = 0, result_char = character)
40
- expect(block).to receive(:call).with(result_char)
41
- event = double character: character.ord,
42
- stateMask: 0 | state_modifier,
43
- keyCode: character.downcase.ord
44
- subject.handle_key_event(event)
45
- end
46
-
47
- def test_alt_character_press(character, state_mask_modifier = 0)
48
- state_modifier = ALT | state_mask_modifier
49
- result = ('alt_' + character).to_sym
50
- test_character_press(character, state_modifier, result)
51
- end
52
-
53
-
54
- describe 'works with simple keys such as' do
55
- it '"a"' do
56
- test_character_press 'a'
57
- end
58
-
59
- it '"1"' do
60
- test_character_press '1'
61
- end
62
-
63
- it '"$"' do
64
- test_character_press '$'
65
- end
66
-
67
- it 'handles UTF-8 (œ)' do
68
- test_character_press 'œ'
69
- end
70
- end
71
-
72
- describe 'works with shift key pressed such as' do
73
- def test_shift_character_press(character)
74
- state_modifier = SHIFT
75
- test_character_press(character, state_modifier)
76
- end
77
-
78
- it '"A"' do
79
- test_shift_character_press "A"
80
- end
81
-
82
- it '"Z"' do
83
- test_shift_character_press "Z"
84
- end
85
- end
86
-
87
- describe 'works with alt key pressed such as' do
88
- it ':alt_a' do
89
- test_alt_character_press 'a'
90
- end
91
-
92
- it ':alt_z' do
93
- test_alt_character_press 'z'
94
- end
95
-
96
- it ':alt_/' do
97
- test_alt_character_press '/'
98
- end
99
-
100
- it 'works with what Macs seem to produce for opt + / (should be alt_/)' do
101
- expect(block).to receive(:call).with(:'alt_/')
102
- event = double character: '÷'.ord,
103
- stateMask: ALT,
104
- keyCode: '/'.ord
105
- subject.handle_key_event(event)
106
- end
107
- end
108
-
109
- describe 'works with the ctrl key pressed such as' do
110
- def test_ctrl_character_press(character, modifier = 0)
111
- result_char = ('control_' + character).to_sym
112
- expect(block).to receive(:call).with(result_char)
113
- event = double character: 'something weird like \x00',
114
- stateMask: CTRL | modifier,
115
- keyCode: character.downcase.ord
116
- subject.handle_key_event(event)
117
- end
118
-
119
- it ':ctrl_a' do
120
- test_ctrl_character_press 'a'
121
- end
122
-
123
- it 'ctrl_z' do
124
- test_ctrl_character_press 'z'
125
- end
126
-
127
- describe 'and if we add the shift key' do
128
- it ':ctrl_A' do
129
- test_ctrl_character_press 'A', SHIFT
130
- end
131
-
132
- it ':ctrl_Z' do
133
- test_ctrl_character_press 'Z', SHIFT
134
- end
135
- end
136
- end
137
-
138
- describe 'works with shift combined with alt yielding capital letters' do
139
- def test_alt_shift_character_press(character)
140
- test_alt_character_press(character, SHIFT)
141
- end
142
-
143
- it ':alt_A' do
144
- test_alt_shift_character_press 'A'
145
- end
146
-
147
- it ':alt_Z' do
148
- test_alt_shift_character_press 'Z'
149
- end
150
- end
151
-
152
- describe 'only modifier keys yield nothing' do
153
- def test_receive_nothing_with_modifier(modifier, last_key_press = modifier)
154
- expect(block).not_to receive :call
155
- event = double stateMask: modifier, keyCode: last_key_press, character: 0
156
- subject.handle_key_event(event)
157
- end
158
-
159
- it 'shift' do
160
- test_receive_nothing_with_modifier SHIFT
161
- end
162
-
163
- it 'alt' do
164
- test_receive_nothing_with_modifier ALT
165
- end
166
-
167
- it 'control' do
168
- test_receive_nothing_with_modifier CTRL
169
- end
170
-
171
- it 'shift + ctrl' do
172
- test_receive_nothing_with_modifier SHIFT | CTRL, SHIFT
173
- end
174
-
175
- it 'ctrl + alt' do
176
- test_receive_nothing_with_modifier CTRL | ALT, CTRL
177
- end
178
-
179
- it 'shift + ctrl + alt' do
180
- test_receive_nothing_with_modifier CTRL | SHIFT | ALT, ALT
181
- end
182
- end
183
-
184
- describe 'special keys' do
185
-
186
- ARROW_LEFT = ::Swt::SWT::ARROW_LEFT
187
-
188
- def special_key_test(code, expected, modifier = 0)
189
- expect(block).to receive(:call).with(expected)
190
- event = double stateMask: modifier,
191
- keyCode: code,
192
- character: 0
193
- subject.handle_key_event(event)
194
- end
195
-
196
- it '"\n"' do
197
- special_key_test(::Swt::SWT::CR, "\n")
198
- end
199
-
200
- it ':left' do
201
- special_key_test ARROW_LEFT, :left
202
- end
203
-
204
- it ':f1' do
205
- special_key_test ::Swt::SWT::F1, :f1
206
- end
207
-
208
- it ':tab' do
209
- special_key_test ::Swt::SWT::TAB, :tab
210
- end
211
-
212
- it ':delete' do
213
- special_key_test ::Swt::SWT::DEL, :delete
214
- end
215
-
216
- describe 'with modifier' do
217
- it ':alt_left' do
218
- special_key_test ARROW_LEFT, :alt_left, ALT
219
- end
220
-
221
- it ':control_left' do
222
- special_key_test ARROW_LEFT, :control_left, CTRL
223
- end
224
-
225
- it ':shift_left' do
226
- special_key_test ARROW_LEFT, :shift_left, SHIFT
227
- end
228
-
229
- it ':control_alt_home' do
230
- special_key_test ::Swt::SWT::HOME, :control_alt_home, ALT | CTRL
231
- end
232
-
233
- it ':control_shift_home' do
234
- special_key_test ::Swt::SWT::HOME,
235
- :control_shift_alt_home,
236
- ALT | CTRL | SHIFT
237
- end
238
- end
239
- end
240
-
241
- describe 'Mac command key' do
242
- it 'fixes crash of shift option command #584' do
243
- event = double 'key event', stateMask: 196608,
244
- keyCode: 4194304,
245
- character: "don't care atm"
246
- expect {subject.handle_key_event(event)}.not_to raise_error
247
- end
248
- end
249
-
250
- describe '#ignore_event?' do
251
-
252
- let(:character) {'a'}
253
- let(:event) {double 'key event',
254
- widget: widget,
255
- stateMask: 0,
256
- keyCode: keyCode,
257
- character: character.ord }
258
- let(:shell){Java::OrgEclipseSwtWidgets::Shell.new}
259
- let(:style) {0}
260
- let(:keyCode) {character.downcase.ord}
261
-
262
-
263
- subject{key_listener.ignore_event? event}
264
-
265
- shared_examples_for 'ignores space and enter' do
266
- describe 'with a space' do
267
- let(:character) {' '}
268
- it {should be_true}
269
- end
270
-
271
- describe 'with enter' do
272
- let(:keyCode) {::Swt::SWT::CR}
273
- it {should be_true}
274
- end
275
- end
276
-
277
- shared_examples_for 'accepts normal characters' do
278
- describe 'with a normal character' do
279
- let(:character) {'a'}
280
- it{should be_false}
281
- end
282
- end
283
-
284
- context 'on a Shell' do
285
- let(:widget){shell}
286
- it {should be_false}
287
-
288
- describe 'even with enter' do
289
- let(:keyCode) {::Swt::SWT::CR}
290
- it {should be_false}
291
- end
292
- end
293
-
294
- context 'on a Text' do
295
- let(:widget){Java::OrgEclipseSwtWidgets::Text.new(shell, style)}
296
- it {should be_true}
297
- end
298
-
299
- context 'on a button' do
300
- let(:widget) {Java::OrgEclipseSwtWidgets::Button.new(shell, style)}
301
-
302
- it_behaves_like 'ignores space and enter'
303
- it_behaves_like 'accepts normal characters'
304
- end
305
-
306
- context 'on a Combo' do
307
- let(:widget) {Java::OrgEclipseSwtWidgets::Combo.new(shell, style)}
308
-
309
- it_behaves_like 'ignores space and enter'
310
-
311
- describe 'with up' do
312
- let(:keyCode) {::Swt::SWT::ARROW_UP}
313
- it{should be_true}
314
- end
315
-
316
- it_behaves_like 'accepts normal characters'
317
- end
318
- end
319
-
320
- end
@@ -1,43 +0,0 @@
1
- require 'swt_shoes/spec_helper'
2
-
3
- describe Shoes::Swt::Line do
4
- include_context "swt app"
5
-
6
- let(:container) { double('container', :disposed? => false).as_null_object }
7
- let(:dsl) { Shoes::Line.new shoes_app, parent, point_a, point_b }
8
- let(:point_a) { Shoes::Point.new(10, 100) }
9
- let(:point_b) { Shoes::Point.new(300, 10) }
10
-
11
- subject {
12
- Shoes::Swt::Line.new(dsl, swt_app)
13
- }
14
-
15
- context "#initialize" do
16
- it { should be_instance_of(Shoes::Swt::Line) }
17
- its(:dsl) { should be(dsl) }
18
- end
19
-
20
- it_behaves_like "paintable"
21
- it_behaves_like "togglable"
22
-
23
- it {should respond_to :clear}
24
-
25
- describe "painter" do
26
- include_context "painter context"
27
-
28
- let(:shape) { Shoes::Swt::Line.new(dsl, swt_app) }
29
- subject { Shoes::Swt::Line::Painter.new(shape) }
30
-
31
- before(:each) do
32
- dsl.stub(positioned?: true)
33
- end
34
-
35
- it_behaves_like "stroke painter"
36
-
37
- specify "draws line" do
38
- # coords as if drawn in box at (0,0)
39
- gc.should_receive(:draw_line).with(0, 90, 290, 0)
40
- subject.paint_control(event)
41
- end
42
- end
43
- end