limelight 0.5.5-java → 0.6.14-java

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 (315) hide show
  1. data/LICENSE +19 -0
  2. data/bin/limelight +7 -3
  3. data/ruby/lib/limelight-rb.jar +0 -0
  4. data/ruby/lib/limelight.jar +0 -0
  5. data/ruby/lib/limelight.rb +48 -0
  6. data/{lib → ruby/lib}/limelight/animation.rb +3 -3
  7. data/ruby/lib/limelight/builtin/players.rb +21 -0
  8. data/ruby/lib/limelight/builtin/players/button.rb +7 -0
  9. data/ruby/lib/limelight/builtin/players/check_box.rb +24 -0
  10. data/ruby/lib/limelight/builtin/players/combo_box.rb +50 -0
  11. data/ruby/lib/limelight/builtin/players/curtains.rb +12 -0
  12. data/ruby/lib/limelight/builtin/players/image.rb +38 -0
  13. data/ruby/lib/limelight/builtin/players/radio_button.rb +36 -0
  14. data/ruby/lib/limelight/builtin/players/stage_mover.rb +19 -0
  15. data/ruby/lib/limelight/builtin/players/stage_sizer.rb +23 -0
  16. data/ruby/lib/limelight/builtin/players/text_area.rb +10 -0
  17. data/ruby/lib/limelight/builtin/players/text_box.rb +10 -0
  18. data/{lib → ruby/lib}/limelight/dsl/build_exception.rb +2 -2
  19. data/{lib → ruby/lib}/limelight/dsl/menu_bar.rb +3 -3
  20. data/{lib → ruby/lib}/limelight/dsl/prop_builder.rb +25 -16
  21. data/{lib → ruby/lib}/limelight/dsl/stage_builder.rb +4 -4
  22. data/{lib → ruby/lib}/limelight/dsl/styles_builder.rb +14 -18
  23. data/{lib → ruby/lib}/limelight/file_chooser.rb +10 -10
  24. data/{lib → ruby/lib}/limelight/file_filter.rb +6 -6
  25. data/ruby/lib/limelight/java_couplings.rb +70 -0
  26. data/{lib → ruby/lib}/limelight/java_util.rb +6 -6
  27. data/{lib → ruby/lib}/limelight/limelight_exception.rb +3 -3
  28. data/ruby/lib/limelight/limelight_init.rb +24 -0
  29. data/ruby/lib/limelight/main.rb +15 -0
  30. data/ruby/lib/limelight/mouse.rb +76 -0
  31. data/ruby/lib/limelight/optionable.rb +42 -0
  32. data/{lib → ruby/lib}/limelight/paint_action.rb +8 -8
  33. data/{lib → ruby/lib}/limelight/pen.rb +7 -7
  34. data/ruby/lib/limelight/player.rb +148 -0
  35. data/ruby/lib/limelight/player_recruiter.rb +54 -0
  36. data/ruby/lib/limelight/production.rb +257 -0
  37. data/ruby/lib/limelight/prop.rb +344 -0
  38. data/ruby/lib/limelight/scene.rb +120 -0
  39. data/ruby/lib/limelight/specs/spec_helper.rb +191 -0
  40. data/ruby/lib/limelight/stage.rb +268 -0
  41. data/ruby/lib/limelight/string.rb +32 -0
  42. data/{lib → ruby/lib}/limelight/studio.rb +4 -3
  43. data/ruby/lib/limelight/style.rb +294 -0
  44. data/ruby/lib/limelight/templates/sources/features/step_definitions/limelight_steps.rb.template +47 -0
  45. data/ruby/lib/limelight/templates/sources/features/support/env.rb.template +35 -0
  46. data/{lib → ruby/lib}/limelight/templates/sources/freezing/limelight_init.rb.template +0 -0
  47. data/{lib → ruby/lib}/limelight/templates/sources/production/production.rb.template +2 -2
  48. data/{lib → ruby/lib}/limelight/templates/sources/production/spec/spec_helper.rb.template +0 -0
  49. data/{lib → ruby/lib}/limelight/templates/sources/production/stages.rb.template +0 -0
  50. data/{lib → ruby/lib}/limelight/templates/sources/production/styles.rb.template +0 -0
  51. data/ruby/lib/limelight/templates/sources/project/Rakefile.template +15 -0
  52. data/ruby/lib/limelight/templates/sources/project/spec_helper.rb.template +12 -0
  53. data/{lib → ruby/lib}/limelight/templates/sources/scene/props.rb.template +0 -0
  54. data/{lib → ruby/lib}/limelight/templates/sources/scene/styles.rb.template +0 -0
  55. data/{lib → ruby/lib}/limelight/templates/sources/scene_spec/scene_spec.rb.template +0 -0
  56. data/ruby/lib/limelight/theater.rb +76 -0
  57. data/{lib → ruby/lib}/limelight/util.rb +6 -25
  58. data/ruby/lib/limelight/util/hashes.rb +39 -0
  59. data/ruby/lib/limelight/util/map_hash.rb +191 -0
  60. data/ruby/lib/limelight/util/string_hash.rb +64 -0
  61. metadata +97 -390
  62. data/bin/icons/icon.ico +0 -0
  63. data/bin/icons/icon_48.gif +0 -0
  64. data/bin/icons/limelight.icns +0 -0
  65. data/bin/ll +0 -10
  66. data/bin/ll.bat +0 -5
  67. data/lib/init.rb +0 -12
  68. data/lib/limelight.jar +0 -0
  69. data/lib/limelight/builtin/players.rb +0 -16
  70. data/lib/limelight/builtin/players/button.rb +0 -39
  71. data/lib/limelight/builtin/players/check_box.rb +0 -50
  72. data/lib/limelight/builtin/players/combo_box.rb +0 -89
  73. data/lib/limelight/builtin/players/combo_box_popup_list.rb +0 -19
  74. data/lib/limelight/builtin/players/combo_box_popup_list_item.rb +0 -21
  75. data/lib/limelight/builtin/players/curtains.rb +0 -23
  76. data/lib/limelight/builtin/players/image.rb +0 -54
  77. data/lib/limelight/builtin/players/password_box.rb +0 -34
  78. data/lib/limelight/builtin/players/radio_button.rb +0 -65
  79. data/lib/limelight/builtin/players/stage_mover.rb +0 -31
  80. data/lib/limelight/builtin/players/stage_sizer.rb +0 -34
  81. data/lib/limelight/builtin/players/text_area.rb +0 -34
  82. data/lib/limelight/builtin/players/text_box.rb +0 -34
  83. data/lib/limelight/builtin/styles.rb +0 -35
  84. data/lib/limelight/builtin/utilities_production/alert/players/alert.rb +0 -14
  85. data/lib/limelight/builtin/utilities_production/alert/props.rb +0 -8
  86. data/lib/limelight/builtin/utilities_production/alert/styles.rb +0 -14
  87. data/lib/limelight/builtin/utilities_production/incompatible_version/props.rb +0 -20
  88. data/lib/limelight/builtin/utilities_production/incompatible_version/styles.rb +0 -12
  89. data/lib/limelight/builtin/utilities_production/production.rb +0 -66
  90. data/lib/limelight/builtin/utilities_production/stages.rb +0 -12
  91. data/lib/limelight/builtin/utilities_production/styles.rb +0 -53
  92. data/lib/limelight/button_group_cache.rb +0 -11
  93. data/lib/limelight/casting_director.rb +0 -112
  94. data/lib/limelight/commands/command.rb +0 -168
  95. data/lib/limelight/commands/create_command.rb +0 -98
  96. data/lib/limelight/commands/freeze_command.rb +0 -131
  97. data/lib/limelight/commands/help_command.rb +0 -61
  98. data/lib/limelight/commands/open_command.rb +0 -60
  99. data/lib/limelight/commands/pack_command.rb +0 -53
  100. data/lib/limelight/commands/unpack_command.rb +0 -44
  101. data/lib/limelight/commands/version_command.rb +0 -31
  102. data/lib/limelight/data.rb +0 -37
  103. data/lib/limelight/file_loader.rb +0 -46
  104. data/lib/limelight/gems.rb +0 -51
  105. data/lib/limelight/java_couplings.rb +0 -67
  106. data/lib/limelight/limelight_init.rb +0 -12
  107. data/lib/limelight/main.rb +0 -105
  108. data/lib/limelight/producer.rb +0 -233
  109. data/lib/limelight/production.rb +0 -203
  110. data/lib/limelight/prop.rb +0 -367
  111. data/lib/limelight/scene.rb +0 -151
  112. data/lib/limelight/specs/spec_helper.rb +0 -136
  113. data/lib/limelight/specs/test_scene_opener.rb +0 -63
  114. data/lib/limelight/stage.rb +0 -353
  115. data/lib/limelight/string.rb +0 -38
  116. data/lib/limelight/styles/style.rb +0 -288
  117. data/lib/limelight/templates/production_templater.rb +0 -49
  118. data/lib/limelight/templates/scene_templater.rb +0 -47
  119. data/lib/limelight/templates/sources/production/init.rb.template +0 -15
  120. data/lib/limelight/templates/templater.rb +0 -131
  121. data/lib/limelight/templates/templater_logger.rb +0 -39
  122. data/lib/limelight/theater.rb +0 -109
  123. data/lib/limelight/util/downloader.rb +0 -115
  124. data/lib/limelight/version.rb +0 -20
  125. data/productions/examples/8thlight.com/about/about.txt +0 -24
  126. data/productions/examples/8thlight.com/about/props.rb +0 -11
  127. data/productions/examples/8thlight.com/about/styles.rb +0 -2
  128. data/productions/examples/8thlight.com/footer.rb +0 -6
  129. data/productions/examples/8thlight.com/home/props.rb +0 -28
  130. data/productions/examples/8thlight.com/home/styles.rb +0 -2
  131. data/productions/examples/8thlight.com/images/anvil.jpg +0 -0
  132. data/productions/examples/8thlight.com/images/bg.jpg +0 -0
  133. data/productions/examples/8thlight.com/images/botticelli.jpg +0 -0
  134. data/productions/examples/8thlight.com/images/button_bg.jpg +0 -0
  135. data/productions/examples/8thlight.com/images/canvas_bg.jpg +0 -0
  136. data/productions/examples/8thlight.com/images/footer_bg.jpg +0 -0
  137. data/productions/examples/8thlight.com/images/header.jpg +0 -0
  138. data/productions/examples/8thlight.com/images/moses.jpg +0 -0
  139. data/productions/examples/8thlight.com/images/statemachine_thumbnail.png +0 -0
  140. data/productions/examples/8thlight.com/images/thumbnail_book.jpg +0 -0
  141. data/productions/examples/8thlight.com/menu.rb +0 -11
  142. data/productions/examples/8thlight.com/services/props.rb +0 -11
  143. data/productions/examples/8thlight.com/services/services.txt +0 -8
  144. data/productions/examples/8thlight.com/services/styles.rb +0 -2
  145. data/productions/examples/8thlight.com/stages.rb +0 -8
  146. data/productions/examples/8thlight.com/styles.rb +0 -210
  147. data/productions/examples/calculator/players/button.rb +0 -24
  148. data/productions/examples/calculator/players/calculator.rb +0 -15
  149. data/productions/examples/calculator/players/calculator_model.rb +0 -13
  150. data/productions/examples/calculator/props.rb +0 -23
  151. data/productions/examples/calculator/styles.rb +0 -36
  152. data/productions/examples/langstons_ant/html_javascript/ant.css +0 -39
  153. data/productions/examples/langstons_ant/html_javascript/ant.html +0 -22
  154. data/productions/examples/langstons_ant/html_javascript/ant.js +0 -23
  155. data/productions/examples/langstons_ant/init.rb +0 -4
  156. data/productions/examples/langstons_ant/players/ant.rb +0 -103
  157. data/productions/examples/langstons_ant/players/log.rb +0 -29
  158. data/productions/examples/langstons_ant/players/start_stop_button.rb +0 -37
  159. data/productions/examples/langstons_ant/players/world.rb +0 -35
  160. data/productions/examples/langstons_ant/props.rb +0 -22
  161. data/productions/examples/langstons_ant/styles.rb +0 -104
  162. data/productions/examples/sandbox/alerts/incompatible_production/default_scene/props.rb +0 -10
  163. data/productions/examples/sandbox/alerts/incompatible_production/default_scene/styles.rb +0 -32
  164. data/productions/examples/sandbox/alerts/incompatible_production/production.rb +0 -52
  165. data/productions/examples/sandbox/alerts/incompatible_production/spec/default_scene/default_scene_spec.rb +0 -16
  166. data/productions/examples/sandbox/alerts/incompatible_production/spec/spec_helper.rb +0 -8
  167. data/productions/examples/sandbox/alerts/incompatible_production/stages.rb +0 -20
  168. data/productions/examples/sandbox/alerts/incompatible_production/styles.rb +0 -15
  169. data/productions/examples/sandbox/alerts/players/alerts.rb +0 -17
  170. data/productions/examples/sandbox/alerts/props.rb +0 -10
  171. data/productions/examples/sandbox/alerts/styles.rb +0 -46
  172. data/productions/examples/sandbox/background_images/props.rb +0 -22
  173. data/productions/examples/sandbox/background_images/styles.rb +0 -40
  174. data/productions/examples/sandbox/click_me/players/chromaton.rb +0 -52
  175. data/productions/examples/sandbox/click_me/props.rb +0 -8
  176. data/productions/examples/sandbox/click_me/styles.rb +0 -11
  177. data/productions/examples/sandbox/floaters/players/floater.rb +0 -108
  178. data/productions/examples/sandbox/floaters/players/surface.rb +0 -21
  179. data/productions/examples/sandbox/floaters/props.rb +0 -10
  180. data/productions/examples/sandbox/floaters/styles.rb +0 -24
  181. data/productions/examples/sandbox/frameing/players/sandbox.rb +0 -17
  182. data/productions/examples/sandbox/frameing/props.rb +0 -35
  183. data/productions/examples/sandbox/frameing/styles.rb +0 -45
  184. data/productions/examples/sandbox/gradients/players/spinner.rb +0 -20
  185. data/productions/examples/sandbox/gradients/players/teaser.rb +0 -19
  186. data/productions/examples/sandbox/gradients/players/wave.rb +0 -19
  187. data/productions/examples/sandbox/gradients/players/waves.rb +0 -19
  188. data/productions/examples/sandbox/gradients/props.rb +0 -13
  189. data/productions/examples/sandbox/gradients/styles.rb +0 -47
  190. data/productions/examples/sandbox/header.rb +0 -22
  191. data/productions/examples/sandbox/homer/players/homer.rb +0 -24
  192. data/productions/examples/sandbox/homer/props.rb +0 -10
  193. data/productions/examples/sandbox/homer/styles.rb +0 -16
  194. data/productions/examples/sandbox/images/arch.jpg +0 -0
  195. data/productions/examples/sandbox/images/beach.jpg +0 -0
  196. data/productions/examples/sandbox/images/homer.jpg +0 -0
  197. data/productions/examples/sandbox/images/limelight_spotlight.jpg +0 -0
  198. data/productions/examples/sandbox/images/logo.png +0 -0
  199. data/productions/examples/sandbox/images/marilyn.jpg +0 -0
  200. data/productions/examples/sandbox/images/space.png +0 -0
  201. data/productions/examples/sandbox/images_scene/props.rb +0 -36
  202. data/productions/examples/sandbox/images_scene/styles.rb +0 -34
  203. data/productions/examples/sandbox/inputs/players/button_input.rb +0 -48
  204. data/productions/examples/sandbox/inputs/players/check_box_input.rb +0 -40
  205. data/productions/examples/sandbox/inputs/players/combo_box_input.rb +0 -41
  206. data/productions/examples/sandbox/inputs/players/radio_button_input.rb +0 -43
  207. data/productions/examples/sandbox/inputs/players/text_area_input.rb +0 -36
  208. data/productions/examples/sandbox/inputs/players/text_box_input.rb +0 -36
  209. data/productions/examples/sandbox/inputs/props.rb +0 -40
  210. data/productions/examples/sandbox/inputs/styles.rb +0 -39
  211. data/productions/examples/sandbox/kiosk/players/kiosk.rb +0 -39
  212. data/productions/examples/sandbox/kiosk/props.rb +0 -9
  213. data/productions/examples/sandbox/kiosk/styles.rb +0 -37
  214. data/productions/examples/sandbox/players/sandbox.rb +0 -11
  215. data/productions/examples/sandbox/rounded_corners/players/box.rb +0 -11
  216. data/productions/examples/sandbox/rounded_corners/props.rb +0 -22
  217. data/productions/examples/sandbox/rounded_corners/styles.rb +0 -17
  218. data/productions/examples/sandbox/scrolling/players/add_button.rb +0 -19
  219. data/productions/examples/sandbox/scrolling/players/cell.rb +0 -15
  220. data/productions/examples/sandbox/scrolling/props.rb +0 -45
  221. data/productions/examples/sandbox/scrolling/styles.rb +0 -33
  222. data/productions/examples/sandbox/sketching/players/sketchpad.rb +0 -46
  223. data/productions/examples/sandbox/sketching/props.rb +0 -25
  224. data/productions/examples/sandbox/sketching/styles.rb +0 -35
  225. data/productions/examples/sandbox/sounds/bird.au +0 -0
  226. data/productions/examples/sandbox/sounds/cat.au +0 -0
  227. data/productions/examples/sandbox/sounds/cow.au +0 -0
  228. data/productions/examples/sandbox/sounds/dog.au +0 -0
  229. data/productions/examples/sandbox/sounds/donkey.au +0 -0
  230. data/productions/examples/sandbox/sounds/duck.au +0 -0
  231. data/productions/examples/sandbox/sounds/players/clip.rb +0 -10
  232. data/productions/examples/sandbox/sounds/props.rb +0 -10
  233. data/productions/examples/sandbox/sounds/styles.rb +0 -17
  234. data/productions/examples/sandbox/spec/alerts/alerts_spec.rb +0 -16
  235. data/productions/examples/sandbox/stage_handles/players/sizer.rb +0 -38
  236. data/productions/examples/sandbox/stage_handles/props.rb +0 -17
  237. data/productions/examples/sandbox/stage_handles/styles.rb +0 -58
  238. data/productions/examples/sandbox/stages.rb +0 -8
  239. data/productions/examples/sandbox/styles.rb +0 -35
  240. data/productions/examples/sandbox/teaser/players/fader.rb +0 -58
  241. data/productions/examples/sandbox/teaser/props.rb +0 -14
  242. data/productions/examples/sandbox/teaser/styles.rb +0 -21
  243. data/productions/examples/tutorials/tutorial_1/players/sample.rb +0 -11
  244. data/productions/examples/tutorials/tutorial_1/props.rb +0 -9
  245. data/productions/examples/tutorials/tutorial_1/styles.rb +0 -25
  246. data/productions/stage_composer/init.rb +0 -10
  247. data/productions/stage_composer/inspector/players/inspector.rb +0 -80
  248. data/productions/stage_composer/inspector/players/prop_row.rb +0 -12
  249. data/productions/stage_composer/inspector/players/prop_tree.rb +0 -33
  250. data/productions/stage_composer/inspector/players/style_table.rb +0 -12
  251. data/productions/stage_composer/inspector/players/style_value.rb +0 -16
  252. data/productions/stage_composer/inspector/props.rb +0 -19
  253. data/productions/stage_composer/inspector/styles.rb +0 -71
  254. data/productions/stage_composer/lib/init.rb +0 -5
  255. data/productions/stage_composer/lib/limelight/composer/controller.rb +0 -51
  256. data/productions/stage_composer/lib/limelight/composer/lethargy.rb +0 -24
  257. data/productions/stage_composer/production.rb +0 -6
  258. data/productions/stage_composer/stages.rb +0 -15
  259. data/productions/startup/images/logo.png +0 -0
  260. data/productions/startup/images/splash.png +0 -0
  261. data/productions/startup/production.rb +0 -52
  262. data/productions/startup/spec/default_scene/default_scene_spec.rb +0 -16
  263. data/productions/startup/spec/spec_helper.rb +0 -8
  264. data/productions/startup/stages.rb +0 -9
  265. data/productions/startup/styles.rb +0 -15
  266. data/productions/startup/welcome/players/browse_button.rb +0 -10
  267. data/productions/startup/welcome/players/download_button.rb +0 -17
  268. data/productions/startup/welcome/players/sandbox_button.rb +0 -11
  269. data/productions/startup/welcome/props.rb +0 -23
  270. data/productions/startup/welcome/styles.rb +0 -103
  271. data/spec/limelight/builtin/players/button_spec.rb +0 -20
  272. data/spec/limelight/builtin/players/check_box_spec.rb +0 -29
  273. data/spec/limelight/builtin/players/combo_box_spec.rb +0 -29
  274. data/spec/limelight/builtin/players/image_spec.rb +0 -43
  275. data/spec/limelight/builtin/players/password_box_spec.rb +0 -27
  276. data/spec/limelight/builtin/players/radio_button_spec.rb +0 -64
  277. data/spec/limelight/builtin/players/stage_mover_spec.rb +0 -36
  278. data/spec/limelight/builtin/players/stage_sizer_spec.rb +0 -40
  279. data/spec/limelight/builtin/players/text_area_spec.rb +0 -27
  280. data/spec/limelight/builtin/players/text_box_spec.rb +0 -27
  281. data/spec/limelight/builtin/utilities_production/spec_helper.rb +0 -7
  282. data/spec/limelight/builtin/utilities_production/utilities_production_spec.rb +0 -147
  283. data/spec/limelight/casting_director_spec.rb +0 -164
  284. data/spec/limelight/commands/command_spec.rb +0 -26
  285. data/spec/limelight/commands/create_command_spec.rb +0 -108
  286. data/spec/limelight/commands/freeze_command_spec.rb +0 -143
  287. data/spec/limelight/commands/help_command_spec.rb +0 -42
  288. data/spec/limelight/commands/open_command_spec.rb +0 -53
  289. data/spec/limelight/commands/pack_command_spec.rb +0 -43
  290. data/spec/limelight/commands/unpack_command_spec.rb +0 -47
  291. data/spec/limelight/data_spec.rb +0 -36
  292. data/spec/limelight/dsl/prop_builder_spec.rb +0 -245
  293. data/spec/limelight/dsl/stage_builder_spec.rb +0 -90
  294. data/spec/limelight/dsl/styles_builder_spec.rb +0 -194
  295. data/spec/limelight/file_chooser_spec.rb +0 -64
  296. data/spec/limelight/file_filter_spec.rb +0 -29
  297. data/spec/limelight/file_loader_spec.rb +0 -28
  298. data/spec/limelight/gems_spec.rb +0 -92
  299. data/spec/limelight/java_util_spec.rb +0 -37
  300. data/spec/limelight/main_spec.rb +0 -40
  301. data/spec/limelight/paint_action_spec.rb +0 -30
  302. data/spec/limelight/pen_spec.rb +0 -62
  303. data/spec/limelight/producer_spec.rb +0 -246
  304. data/spec/limelight/production_spec.rb +0 -97
  305. data/spec/limelight/prop_spec.rb +0 -431
  306. data/spec/limelight/scene_spec.rb +0 -173
  307. data/spec/limelight/stage_spec.rb +0 -247
  308. data/spec/limelight/string_spec.rb +0 -38
  309. data/spec/limelight/templates/production_templater_spec.rb +0 -66
  310. data/spec/limelight/templates/scene_templater_spec.rb +0 -51
  311. data/spec/limelight/templates/templater_logger_spec.rb +0 -41
  312. data/spec/limelight/templates/templater_spec.rb +0 -107
  313. data/spec/limelight/theater_spec.rb +0 -120
  314. data/spec/limelight/util/downloader_spec.rb +0 -92
  315. data/spec/spec_helper.rb +0 -64
@@ -1,64 +0,0 @@
1
- #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
- #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
-
4
- require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
5
- require 'limelight/file_chooser'
6
-
7
- describe Limelight::FileChooser do
8
-
9
- before(:each) do
10
- end
11
-
12
- it "should create a Java file chooser" do
13
- chooser = Limelight::FileChooser.new()
14
- chooser.chooser.class.should == javax.swing.JFileChooser
15
- end
16
-
17
- it "should set current directory if provided" do
18
- chooser = Limelight::FileChooser.new(:directory => "/tmp")
19
-
20
- chooser.chooser.getCurrentDirectory().getAbsolutePath().should == "/tmp"
21
- end
22
-
23
- it "should have a title if provided" do
24
- chooser = Limelight::FileChooser.new(:title => "Some Title")
25
-
26
- chooser.chooser.getDialogTitle().should == "Some Title"
27
- end
28
-
29
- it "should have a filter if provided" do
30
- chooser = Limelight::FileChooser.new(:description => "Description") { "filter" }
31
-
32
- filter = chooser.chooser.getFileFilter()
33
- filter.description.should == "Description"
34
- filter.filter.call.should == "filter"
35
- end
36
-
37
- it "should return nil if no file was selected" do
38
- chooser = Limelight::FileChooser.new(:parent => "parent")
39
- chooser.chooser.should_receive(:showOpenDialog).with("parent").and_return(javax.swing.JFileChooser::CANCEL_OPTION)
40
-
41
- chooser.choose_file.should == nil
42
- end
43
-
44
- it "should return the absolute path if a file was selected" do
45
- chooser = Limelight::FileChooser.new(:parent => "parent")
46
- chooser.chooser.should_receive(:showOpenDialog).with("parent").and_return(javax.swing.JFileChooser::APPROVE_OPTION)
47
- selected_file = mock("selected file", :absolute_path => "selected file's absolute path")
48
- chooser.chooser.should_receive(:getSelectedFile).and_return(selected_file)
49
-
50
- chooser.choose_file.should == "selected file's absolute path"
51
- end
52
-
53
- it "should default to files and directories but allow directory only and file only" do
54
- chooser = Limelight::FileChooser.new
55
- chooser.chooser.file_selection_mode.should == javax.swing.JFileChooser::FILES_AND_DIRECTORIES
56
-
57
- chooser = Limelight::FileChooser.new(:directories_only => true)
58
- chooser.chooser.file_selection_mode.should == javax.swing.JFileChooser::DIRECTORIES_ONLY
59
-
60
- chooser = Limelight::FileChooser.new(:files_only => true)
61
- chooser.chooser.file_selection_mode.should == javax.swing.JFileChooser::FILES_ONLY
62
- end
63
-
64
- end
@@ -1,29 +0,0 @@
1
- #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
- #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
-
4
- require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
5
- require 'limelight/file_filter'
6
-
7
- describe Limelight::FileFilter do
8
-
9
- before(:each) do
10
- end
11
-
12
- it "should have a description and a block" do
13
- filter = Limelight::FileFilter.new("Some Description") { "blah" }
14
-
15
- filter.description.should == "Some Description"
16
- filter.filter.call.should == "blah"
17
- end
18
-
19
- it "should have implement java interface" do
20
- filter = Limelight::FileFilter.new("Some Description") { |file| file.name == "good" }
21
-
22
- filter.getDescription().should == "Some Description"
23
- bad_file = mock("file", :name => "bad")
24
- good_file = mock("file", :name => "good")
25
- filter.accept(bad_file).should == false
26
- filter.accept(good_file).should == true
27
- end
28
-
29
- end
@@ -1,28 +0,0 @@
1
- #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
- #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
-
4
- require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
5
- require 'limelight/file_loader'
6
-
7
- describe Limelight::FileLoader do
8
-
9
- before(:each) do
10
- @loader = Limelight::FileLoader.for_root("/Users/micahmartin/Projects/limelight/example")
11
- end
12
-
13
- it "should load path parts" do
14
- @loader.root.should == "/Users/micahmartin/Projects/limelight/example"
15
- end
16
-
17
- it "should calculate relative file paths" do
18
- @loader.path_to(".").should == "/Users/micahmartin/Projects/limelight/example"
19
- @loader.path_to("..").should == "/Users/micahmartin/Projects/limelight"
20
- @loader.path_to("images/blah.gif").should == "/Users/micahmartin/Projects/limelight/example/images/blah.gif"
21
- end
22
-
23
- it "should know absolute paths" do
24
- @loader.path_to("/").should == "/"
25
- @loader.path_to("/Users").should == "/Users"
26
- end
27
-
28
- end
@@ -1,92 +0,0 @@
1
- #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
- #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
-
4
- require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
5
- require "limelight/gems"
6
- require 'limelight/production'
7
-
8
- describe Limelight::Gems do
9
-
10
- before(:each) do
11
- @production = Limelight::Production.new(TestDir.path("prod"))
12
- end
13
-
14
- it "should know the load path" do
15
- Limelight::Gems.load_path.should be($:)
16
- Limelight::Gems.current_production = @production
17
- end
18
-
19
- it "add a gem to load path" do
20
- path = []
21
- Limelight::Gems.stub!(:load_path).and_return(path)
22
-
23
- Limelight::Gems.install("gem_dir_name", ["lib"])
24
-
25
- path.length.should == 1
26
- path[0].should == File.join(@production.gems_directory, "gem_dir_name/lib")
27
- end
28
-
29
- it "add a gem to the beginning of the load path" do
30
- path = ["foo"]
31
- Limelight::Gems.stub!(:load_path).and_return(path)
32
-
33
- Limelight::Gems.install("gem_dir_name", ["lib"])
34
-
35
- path.length.should == 2
36
- path[0].should == File.join(@production.gems_directory, "gem_dir_name/lib")
37
- path[1].should == "foo"
38
- end
39
-
40
- it "add a gem to the beginning of the load path in the same order provided" do
41
- path = ["foo"]
42
- Limelight::Gems.stub!(:load_path).and_return(path)
43
-
44
- Limelight::Gems.install("gem_dir_name", ["lib", "src", "ruby"])
45
-
46
- path.length.should == 4
47
- path[0].should == File.join(@production.gems_directory, "gem_dir_name/lib")
48
- path[1].should == File.join(@production.gems_directory, "gem_dir_name/src")
49
- path[2].should == File.join(@production.gems_directory, "gem_dir_name/ruby")
50
- path[3].should == "foo"
51
- end
52
-
53
- describe "finding gems" do
54
-
55
- before(:each) do
56
- TestDir.clean
57
- end
58
-
59
- it "should load all the gems in a production" do
60
- TestDir.create_file("prod/__resources/gems/gems/gem1/limelight_init.rb", "Limelight::Gems.install('gem1', ['fee'])")
61
- TestDir.create_file("prod/__resources/gems/gems/gem2/limelight_init.rb", "Limelight::Gems.install('gem2', ['fie'])")
62
- TestDir.create_file("prod/__resources/gems/gems/gem3/limelight_init.rb", "Limelight::Gems.install('gem3', ['foe', 'fum'])")
63
- path = []
64
- Limelight::Gems.stub!(:load_path).and_return(path)
65
-
66
- Limelight::Gems.install_gems_in_production(@production)
67
-
68
- path.length.should == 4
69
- path[0].should == File.join(@production.gems_directory, "gem1/fee")
70
- path[1].should == File.join(@production.gems_directory, "gem2/fie")
71
- path[2].should == File.join(@production.gems_directory, "gem3/foe")
72
- path[3].should == File.join(@production.gems_directory, "gem3/fum")
73
- end
74
-
75
- it "should gracefully handle missing gems dir" do
76
- TestDir.establish_dir("prod")
77
-
78
- path = []
79
- Limelight::Gems.stub!(:load_path).and_return(path)
80
- Limelight::Gems.install_gems_in_production(@production)
81
-
82
- path.length.should == 0
83
- end
84
-
85
- it "should set the gem home and gem path to the __resources/gems so that using the gem command within frozen gems will work" do
86
- Gem.should_receive(:use_paths).with(@production.gems_root, Gem.default_path)
87
-
88
- Limelight::Gems.install_gems_in_production(@production)
89
- end
90
- end
91
-
92
- end
@@ -1,37 +0,0 @@
1
- #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
- #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
-
4
- require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
5
- require 'limelight/java_util'
6
-
7
- describe Class do
8
-
9
- class TestClass
10
- attr_accessor :foo, :bar
11
- getters :foo, :bar
12
- setters :foo, :bar
13
- end
14
-
15
- before(:each) do
16
- @obj = TestClass.new
17
- end
18
-
19
- it "should have java setters" do
20
- @obj.setFoo("foo value")
21
- @obj.setBar("bar value")
22
-
23
- @obj.foo.should == "foo value"
24
- @obj.bar.should == "bar value"
25
- end
26
-
27
- it "should have java getters" do
28
- @obj.foo = "foo value"
29
- @obj.bar = "bar value"
30
-
31
- @obj.getFoo().should == "foo value"
32
- @obj.getBar().should == "bar value"
33
- end
34
-
35
- end
36
-
37
-
@@ -1,40 +0,0 @@
1
- #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
- #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
-
4
- require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
5
- require 'limelight/main'
6
-
7
- describe Limelight::Main do
8
-
9
- before(:each) do
10
- @mock_output = StringIO.new
11
- Limelight::Commands.output = @mock_output
12
- end
13
-
14
- it "should run the specified command" do
15
- command_class = mock("command_class")
16
- command = mock("command")
17
-
18
- Limelight::Commands.should_receive(:[]).with("mock").and_return(command_class)
19
- command_class.should_receive(:new).and_return(command)
20
- command.should_receive(:run).with(["1", "2", "3"])
21
-
22
- Limelight::Main.run(["mock", "1", "2", "3"])
23
- end
24
-
25
- it "should handle --version option" do
26
- Limelight::Main.run(["--version"])
27
-
28
- @mock_output.string.should == "Limelight, version #{Limelight::VERSION::STRING}\n"
29
- end
30
-
31
- it "should print usage" do
32
- begin
33
- Limelight::Main.run(["garbage"])
34
- rescue SystemExit
35
- end
36
-
37
- @mock_output.string.include?("Usage: limelight").should == true
38
- end
39
-
40
- end
@@ -1,30 +0,0 @@
1
- #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
- #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
-
4
- require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
5
- require 'limelight/paint_action'
6
-
7
- describe Limelight::PaintAction do
8
-
9
- before(:each) do
10
- end
11
-
12
- it "should take a block in constructor" do
13
- block = Proc.new { |pen| }
14
- action = Limelight::PaintAction.new(&block)
15
-
16
- action.block.should == block
17
- end
18
-
19
- it "should pass pen into the block" do
20
- local_pen = nil
21
- action = Limelight::PaintAction.new { |pen| local_pen = pen }
22
-
23
- graphics = mock("graphics", :setColor => nil, :setStroke => nil, :setRenderingHint => nil)
24
- action.invoke(graphics)
25
-
26
- local_pen.class.should == Limelight::Pen
27
- local_pen.context.should == graphics
28
- end
29
-
30
- end
@@ -1,62 +0,0 @@
1
- #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
- #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
-
4
- require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
5
- require 'limelight/pen'
6
-
7
- describe Limelight::Pen do
8
-
9
- before(:each) do
10
- @context = mock("context", :setColor => nil, :setStroke => nil, :setRenderingHint => nil)
11
- @pen = Limelight::Pen.new(@context)
12
- end
13
-
14
- it "should default to a think black stroke" do
15
- @context.should_receive(:setColor).with(java.awt.Color::black)
16
- @context.should_receive(:setStroke).with(java.awt.BasicStroke.new(1))
17
- @context.should_receive(:setRenderingHint).with(java.awt.RenderingHints::KEY_ANTIALIASING, java.awt.RenderingHints::VALUE_ANTIALIAS_OFF)
18
-
19
- @pen = Limelight::Pen.new(@context)
20
-
21
- @pen.context.should be(@context)
22
- end
23
-
24
- it "should allow setting the color" do
25
- @context.should_receive(:setColor).with(java.awt.Color::blue)
26
-
27
- @pen.color = "blue"
28
- end
29
-
30
- it "should allow setting the width" do
31
- @context.should_receive(:setStroke).with(java.awt.BasicStroke.new(5))
32
-
33
- @pen.width = 5
34
- end
35
-
36
- it "should allow setting smooth on" do
37
- @context.should_receive(:setRenderingHint).with(java.awt.RenderingHints::KEY_ANTIALIASING, java.awt.RenderingHints::VALUE_ANTIALIAS_ON)
38
-
39
- @pen.smooth = true
40
- end
41
-
42
- it "should draw a line" do
43
- @context.should_receive(:drawLine).with(1, 2, 3, 4)
44
-
45
- @pen.draw_line(1, 2, 3, 4)
46
- end
47
-
48
- it "should draw a rectangle" do
49
- @context.should_receive(:drawRect).with(1, 2, 3, 4)
50
-
51
- @pen.draw_rectangle(1, 2, 3, 4)
52
- end
53
-
54
- it "should fill a rectangle" do
55
- @pen.color = "blue"
56
-
57
- @context.should_receive(:fillRect).with(1, 2, 3, 4)
58
-
59
- @pen.fill_rectangle(1, 2, 3, 4)
60
- end
61
-
62
- end
@@ -1,246 +0,0 @@
1
- #- Copyright � 2008-2009 8th Light, Inc. All Rights Reserved.
2
- #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
-
4
- require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
5
- require 'limelight/producer'
6
-
7
- describe Limelight::Producer do
8
-
9
- before(:each) do
10
- TestDir.clean
11
- Limelight::Studio.uninstall
12
- @root_dir = TestDir.path("test_prod")
13
- @producer = Limelight::Producer.new(@root_dir)
14
- Limelight::Studio.install
15
- end
16
-
17
- it "should have loader on creation" do
18
- @producer.production.root.root.should == @root_dir
19
- end
20
-
21
- it "should take an optional theater on creation" do
22
- theater = mock("theater")
23
- producer = Limelight::Producer.new("/tmp", theater)
24
-
25
- producer.theater.should == theater
26
- end
27
-
28
- it "should build a new theater if none is passing in constructor" do
29
- @producer.theater.should_not == nil
30
- @producer.theater.class.should == Limelight::Theater
31
- end
32
-
33
- it "should load props" do
34
- TestDir.create_file("test_prod/props.rb", "child :id => 321")
35
-
36
- scene = @producer.load_props(:path => TestDir.path("test_prod"), :casting_director => mock("casting_director", :fill_cast => nil))
37
- scene.illuminate
38
- scene.children.size.should == 1
39
- scene.children[0].name.should == "child"
40
- scene.children[0].id.should == "321"
41
- end
42
-
43
- it "should load props even when props.rd doesn't exist." do
44
- scene = @producer.load_props(:path => TestDir.path("test_prod"), :casting_director => mock("casting_director", :fill_cast => nil))
45
- scene.children.size.should == 0
46
- end
47
-
48
- it "should load builtin styles" do
49
- styles = @producer.load_styles(Limelight::Scene.new())
50
-
51
- styles["limelight_builtin_players_combo_box_popup_list"].should_not == nil
52
- end
53
-
54
- it "should load styles" do
55
- TestDir.create_file("test_prod/styles.rb", "alpha { width 100 }")
56
- Limelight::Producer.stub!(:builtin_styles).and_return({})
57
-
58
- styles = @producer.load_styles(Limelight::Scene.new(:path => TestDir.path("test_prod")))
59
- styles.size.should == 1
60
- styles["alpha"].width.should == "100"
61
- end
62
-
63
- # Broken in JRuby 1.3
64
- #
65
- # it "should format prop errors well" do
66
- # TestDir.create_file("test_prod/props.rb", "one\n+\nthree")
67
- #
68
- # begin
69
- # result = @producer.load_props(:path => TestDir.path("test_prod"), :casting_director => mock("casting_director", :fill_cast => nil))
70
- # result.should == nil # should never perform
71
- # rescue Limelight::DSL::BuildException => e
72
- # e.line_number.should == 3
73
- # e.filename.should == TestDir.path("test_prod/props.rb")
74
- # e.message.include?("/props.rb:3: undefined method `+@' for ").should == true
75
- # end
76
- # end
77
- #
78
- # it "should format styles errors well" do
79
- # TestDir.create_file("test_prod/styles.rb", "one {}\ntwo {}\n-\nthree {}")
80
- #
81
- # begin
82
- # result = @producer.load_styles(Limelight::Scene.new(:path => TestDir.path("test_prod")))
83
- # result.should == nil # should never perform
84
- # rescue Limelight::DSL::BuildException => e
85
- # e.line_number.should == 4
86
- # e.filename.should == TestDir.path("test_prod/styles.rb")
87
- # e.message.include?("/styles.rb:4: undefined method `-@' for #<Java::LimelightStyles::RichStyle:0x").should == true
88
- # end
89
- # end
90
-
91
- it "should load a stage when stages.rb exists" do
92
- TestDir.create_file("test_prod/stages.rb", "stage 'Default' do\n default_scene 'abc'\n end")
93
- @producer.should_receive(:open_scene).with("abc", anything)
94
- Limelight::Gems.should_receive(:install_gems_in_production)
95
-
96
- @producer.open
97
- end
98
-
99
- it "should load a scene when stages.rb doesn't exists" do
100
- @producer.should_not_receive(:open_stages)
101
- @producer.should_receive(:open_scene).with(:root, anything)
102
- Limelight::Gems.should_receive(:install_gems_in_production)
103
-
104
- @producer.open
105
- end
106
-
107
- it "should have one default stage when no stages.rb is provided" do
108
- @producer.stub!(:open_scene)
109
- Limelight::Gems.should_receive(:install_gems_in_production)
110
-
111
- @producer.open
112
-
113
- @producer.theater.stages.size.should == 1
114
- @producer.theater["Limelight"].should_not == nil
115
- end
116
-
117
- it "should not load a scene when stages.rb doesn't exists and production indicates no default_scene" do
118
- @producer.should_not_receive(:open_stages)
119
- @producer.should_not_receive(:open_scene)
120
- @producer.production.should_receive(:default_scene).and_return(nil)
121
- Limelight::Gems.should_receive(:install_gems_in_production)
122
-
123
- @producer.open
124
- end
125
-
126
- it "should load a stage but not open it if it has no default scene" do
127
- TestDir.create_file("test_prod/stages.rb", "stage 'Default' do\n default_scene 'abc'\n end\n\nstage 'Hidden' do\n default_scene nil\n end")
128
- @producer.should_receive(:open_scene).with("abc", anything)
129
- Limelight::Gems.should_receive(:install_gems_in_production)
130
-
131
- @producer.open
132
- end
133
-
134
- it "should open a scene" do
135
- stage = mock("stage")
136
- scene = mock("scene")
137
- @producer.should_receive(:load_props).with(:production => @producer.production, :casting_director => anything, :path => TestDir.path("test_prod/name"), :name => "name").and_return(scene)
138
- @producer.should_receive(:load_styles).and_return("styles")
139
- scene.should_receive(:styles=)
140
- stage.should_receive(:open).with(scene)
141
-
142
- @producer.open_scene("name", stage)
143
- end
144
-
145
- it "should load empty styles if styles.rb doesn't exist" do
146
- Limelight::Producer.stub!(:builtin_styles).and_return({})
147
-
148
- @producer.load_styles(Limelight::Scene.new(:path => TestDir.path("test_prod"))).should == {}
149
- end
150
-
151
- it "should extend the production if production.rb is present" do
152
- TestDir.create_file("test_prod/production.rb", "module Production; def name; return 'Fido'; end; def foo; end; end;")
153
- @producer.stub!(:open_scene)
154
-
155
- @producer.establish_production
156
-
157
- @producer.production.name.should == "Fido"
158
- @producer.production.respond_to?(:foo).should == true
159
- end
160
-
161
- it "should load init.rb if it exists" do
162
- TestDir.create_file("test_prod/init.rb", "")
163
-
164
- @producer.stub!(:open_scene)
165
- Kernel.should_receive(:load).with(TestDir.path("test_prod/init.rb"))
166
- Limelight::Gems.should_receive(:install_gems_in_production)
167
-
168
- @producer.open
169
- end
170
-
171
- it "should not load init.rb when told not to" do
172
- TestDir.create_file("test_prod/init.rb", "$init_loaded = true")
173
- Limelight::Gems.should_receive(:install_gems_in_production)
174
-
175
- $init_loaded = false;
176
- @producer.load(:ignore_init => true)
177
-
178
- $init_loaded.should == false;
179
- end
180
-
181
- it "should call production_opening, production_loaded, production_opened when opening a production" do
182
- @producer.stub!(:open_scene)
183
- Limelight::Gems.should_receive(:install_gems_in_production)
184
- production = @producer.production
185
- production.should_receive(:production_opening)
186
- production.should_receive(:production_loaded)
187
- production.should_receive(:production_opened)
188
-
189
- @producer.open
190
- end
191
-
192
- it "should check limelight version" do
193
- @producer.production.should_receive(:minimum_limelight_version).and_return("0.0.0")
194
- @producer.version_compatible?.should == true
195
-
196
- @producer.production.should_receive(:minimum_limelight_version).and_return("999.0.0")
197
- @producer.version_compatible?.should == false
198
- end
199
-
200
- it "should allow options such as instance variables to be passed to open_scene" do
201
- stage = mock("stage")
202
- scene = mock("scene")
203
- @producer.should_receive(:load_props).with(:instance_variables => { :foo => "bar" }, :production => @producer.production, :casting_director => anything, :path => TestDir.path("test_prod/name"), :name => "name").and_return(scene)
204
- @producer.should_receive(:load_styles).and_return("styles")
205
- scene.should_receive(:styles=)
206
- stage.should_receive(:open).with(scene)
207
-
208
- @producer.open_scene("name", stage, :instance_variables => { :foo => "bar" })
209
- end
210
-
211
- it "should give the same buildin_styles hash twice" do
212
- Limelight::Producer.builtin_styles.should be(Limelight::Producer.builtin_styles)
213
- Limelight::Producer.builtin_styles["limelight_builtin_players_curtains"].should_not == nil
214
- end
215
-
216
- it "should close a production" do
217
- theater = mock("theater")
218
- production = @producer.production
219
- production.theater = theater
220
- production.should_receive(:closed=).with(true)
221
- production.should_receive(:production_closing)
222
- theater.should_receive(:close)
223
- production.should_receive(:production_closed)
224
- Limelight::Context.instance.studio.should_receive(:production_closed).with(production)
225
-
226
- close_thread = @producer.close
227
- close_thread.join()
228
- end
229
-
230
- it "should publish a production on drb" do
231
- service = mock("service")
232
- DRb.should_receive(:start_service).with("druby://localhost:9000", @producer.production).and_return(service)
233
-
234
- @producer.publish_production_on_drb(9000)
235
- end
236
-
237
- it "should stop the drb service when closing the production" do
238
- service = mock("service")
239
- DRb.stub!(:start_service).with("druby://localhost:9000", @producer.production).and_return(service)
240
- @producer.publish_production_on_drb(9000)
241
-
242
- service.should_receive(:stop_service)
243
- @producer.close.join
244
- end
245
-
246
- end