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,97 +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/production'
6
-
7
- describe Limelight::Production, "Instance methods" do
8
-
9
- before(:each) do
10
- @producer = mock("producer")
11
- @theater = mock("theater")
12
- @studio = Limelight::Studio.install
13
- @production = Limelight::Production.new("/tmp")
14
- @production.producer = @producer
15
- @production.theater = @theater
16
- end
17
-
18
- it "should know it path, producer, and theater" do
19
- @production.producer.should == @producer
20
- @production.theater.should == @theater
21
- @production.path.should == "/tmp"
22
- end
23
-
24
- it "should get it's name from the file" do
25
- Limelight::Production.new("/tmp").name.should == "tmp"
26
- Limelight::Production.new("/Somewhere/over/the/rainbow").name.should == "rainbow"
27
- Limelight::Production.new("my_name/is/kid").name.should == "kid"
28
- end
29
-
30
- it "should know its init file" do
31
- @production.init_file.should == "/tmp/init.rb"
32
- end
33
-
34
- it "should know its stages file" do
35
- @production.stages_file.should == "/tmp/stages.rb"
36
- end
37
-
38
- it "should know its styles file" do
39
- @production.styles_file.should == "/tmp/styles.rb"
40
- end
41
-
42
- it "should know its gems directory" do
43
- @production.gems_directory.should == "/tmp/__resources/gems/gems"
44
- end
45
-
46
- it "should know its gems root" do
47
- @production.gems_root.should == "/tmp/__resources/gems"
48
- end
49
-
50
- it "should provide paths to it's scenes" do
51
- @production.scene_directory("one").should == "/tmp/one"
52
- @production.scene_directory("two").should == "/tmp/two"
53
- @production.scene_directory(:root).should == "/tmp"
54
- end
55
-
56
- it "should allow close by default" do
57
- @production.allow_close?.should == true
58
- end
59
-
60
- it "should tell producer to do the closing" do
61
- @producer.should_receive(:close)
62
-
63
- @production.close
64
- end
65
-
66
- it "should publish on drb" do
67
- @producer.should_receive(:publish_production_on_drb).with(9000)
68
- @production.publish_on_drb(9000)
69
- end
70
-
71
- it "should handle empty theater" do
72
- @production.should_receive(:allow_close?).at_least(1).and_return(true)
73
- @production.should_receive(:close)
74
-
75
- @production.theater_empty!
76
- end
77
-
78
- describe "with files" do
79
-
80
- after(:each) do
81
- TestDir.clean
82
- end
83
-
84
- it "should load it's root styles" do
85
- TestDir.create_file("test_prod/styles.rb", "a_style { width 100; height 200 }")
86
- @production = Limelight::Production.new( TestDir.path("test_prod"))
87
-
88
- styles = @production.root_styles
89
- styles["a_style"].width.should == "100"
90
- styles["a_style"].height.should == "200"
91
- @production.root_styles.should be(styles)
92
- end
93
- end
94
-
95
- end
96
-
97
-
@@ -1,431 +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/prop'
6
- require 'limelight/dsl/styles_builder'
7
- require 'limelight/scene'
8
- require 'limelight/production'
9
-
10
- describe Limelight::Prop do
11
-
12
- before(:each) do
13
- @casting_director = mock("casting_director", :fill_cast => nil)
14
- @scene = Limelight::Scene.new(:casting_director => @casting_director)
15
- @prop = Limelight::Prop.new(:id => "root", :name => "root_class")
16
- @scene.illuminate
17
- @scene << @prop
18
- end
19
-
20
- it "should set the childs parent before adding the child to the parent" do
21
- # This is important because a child must be illuminated before a parent knows about it
22
- child = Limelight::Prop.new(:id => "child", :name => "child_class")
23
-
24
- child.should_receive(:set_parent) do
25
- @prop.children.size.should == 0
26
- end
27
- @prop.add(child)
28
-
29
- @prop.children.size.should == 1
30
- end
31
-
32
- module TestPlayer
33
- class << self
34
- attr_reader :extended_prop
35
-
36
- def extended(prop)
37
- @extended_prop = (prop)
38
- end
39
- end
40
-
41
- def test_method
42
- end
43
-
44
- attr_reader :was_casted
45
- def casted
46
- @was_casted = true
47
- end
48
- end
49
-
50
- it "should extend added controllers and invoke the extended hook" do
51
- @prop.include_player(TestPlayer)
52
-
53
- TestPlayer.extended_prop.should == @prop
54
- @prop.respond_to?(:test_method).should == true
55
- end
56
-
57
- it "should call the player's casted method" do
58
- @prop.include_player(TestPlayer)
59
-
60
- @prop.was_casted.should == true
61
- end
62
-
63
- it "should have an id" do
64
- @prop.illuminate
65
- @prop.id.should == "root"
66
- end
67
-
68
- it "not start out being illuminated" do
69
- prop = Limelight::Prop.new(nil)
70
-
71
- prop.should_not be_illuminated
72
- end
73
-
74
-
75
- def build_prop_tree
76
- @child1 = Limelight::Prop.new(:id => "child1", :name => "child_class")
77
- @child2 = Limelight::Prop.new(:id => "child2", :name => "child_class")
78
- @grand_child1 = Limelight::Prop.new(:id => "grand_child1", :name => "grand_child_class")
79
- @grand_child2 = Limelight::Prop.new(:id => "grand_child2", :name => "grand_child_class")
80
- @grand_child3 = Limelight::Prop.new(:id => "grand_child3", :name => "grand_child_class")
81
- @grand_child4 = Limelight::Prop.new(:id => "grand_child4", :name => "grand_child_class")
82
-
83
- @prop << @child1 << @child2
84
- @child1 << @grand_child1 << @grand_child2
85
- @child2 << @grand_child3 << @grand_child4
86
- end
87
-
88
- it "should find children by id" do
89
- build_prop_tree
90
- @scene.find("blah").should == nil
91
- @scene.find("root").should be(@prop)
92
- @scene.find("child1").should be(@child1)
93
- @scene.find("child2").should be(@child2)
94
- @scene.find("grand_child1").should be(@grand_child1)
95
- @scene.find("grand_child2").should be(@grand_child2)
96
- @scene.find("grand_child3").should be(@grand_child3)
97
- @scene.find("grand_child4").should be(@grand_child4)
98
- end
99
-
100
- it "should find children by name" do
101
- build_prop_tree
102
- @prop.find_by_name("root_class").should == [@prop]
103
- @prop.find_by_name("child_class").should == [@child1, @child2]
104
- @prop.find_by_name("grand_child_class").should == [@grand_child1, @grand_child2, @grand_child3, @grand_child4]
105
- end
106
-
107
- it "should get and set text" do
108
- @prop.text = "blah"
109
- @prop.text.should == "blah"
110
- @prop.text = 123
111
- @prop.text.should == "123"
112
- @prop.text = nil
113
- @prop.text.should == ""
114
- end
115
-
116
- it "should have controllers" do
117
- prop = Limelight::Prop.new(:players => "abc, xyz")
118
- @scene << prop
119
- prop.players.should == "abc, xyz"
120
- end
121
-
122
- it "should get populated through constructor" do
123
- prop = Limelight::Prop.new(:name => "my_name", :id => "123", :players => "a, b, c")
124
- @scene << prop
125
-
126
- prop.name.should == "my_name"
127
- prop.id.should == "123"
128
- end
129
-
130
- it "should populate styles through constructor" do
131
- prop = Limelight::Prop.new(:width => "100", :text_color => "white", :background_image => "apple.jpg")
132
- @scene << prop
133
-
134
- prop.style.width.should == "100"
135
- prop.style.text_color.should == "#ffffffff"
136
- prop.style.background_image.should == "apple.jpg"
137
- end
138
-
139
- it "should define event through constructor using a string" do
140
- prop = Limelight::Prop.new(:on_mouse_entered => "return event")
141
- @scene << prop
142
-
143
- value = prop.mouse_entered("my event")
144
-
145
- value.should == "my event"
146
- end
147
-
148
- it "should pass scene on to children" do
149
- child = Limelight::Prop.new(:name => "child")
150
-
151
- @prop.parent.should == @scene
152
- @prop.scene.should == @scene
153
-
154
- @prop << child
155
- child.parent.should == @prop
156
- child.scene.should == @scene
157
- end
158
-
159
- it "should set styles upon adding to parent" do
160
- styles = Limelight::build_styles { child { width 123 } }
161
- scene = Limelight::Scene.new(:casting_director => @casting_director, :styles_hash => styles)
162
- prop = Limelight::Prop.new(:name => "child")
163
- scene.illuminate
164
-
165
- scene << prop
166
-
167
- prop.style.width.should == "123"
168
- end
169
-
170
- it "should set styles upon adding to parent" do
171
- prop = Limelight::Prop.new(:name => "child")
172
-
173
- @casting_director.should_receive(:fill_cast).with(prop)
174
-
175
- @scene << prop
176
- end
177
-
178
- it "should use populate data included by players" do
179
- prop = Limelight::Prop.new(:name => "child", :foo => "bar")
180
- @casting_director.should_receive(:fill_cast).with(prop) do
181
- prop.instance_eval "def foo=(value); @foo = value; end; def foo; return @foo; end;"
182
- end
183
-
184
- @scene << prop
185
-
186
- prop.foo.should == "bar"
187
- end
188
-
189
- it "should set styles upon illuminating, and convert them to strings" do
190
- prop = Limelight::Prop.new(:width => "100", :height => 200, :horizontal_alignment => :center)
191
-
192
- @scene << prop
193
-
194
- prop.style.width.should == "100"
195
- prop.style.height.should == "200"
196
- prop.style.horizontal_alignment.should == "center"
197
- end
198
-
199
- it "should add additional styles listed in options" do
200
- style1 = Limelight::Styles::RichStyle.new()
201
- style2 = Limelight::Styles::RichStyle.new()
202
- style3 = Limelight::Styles::RichStyle.new()
203
- @scene.styles.merge!("one" => style1, "two" => style2, "three" => style3)
204
-
205
- prop = Limelight::Prop.new(:name => "one", :styles => "two three")
206
- @scene << prop
207
-
208
- prop.style.should have_extension(style1)
209
- prop.style.should have_extension(style2)
210
- prop.style.should have_extension(style3)
211
- end
212
-
213
- it "should add additional styles and their hover part" do
214
- style1 = Limelight::Styles::RichStyle.new()
215
- style2 = Limelight::Styles::RichStyle.new()
216
- style3 = Limelight::Styles::RichStyle.new()
217
- style4 = Limelight::Styles::RichStyle.new()
218
- @scene.styles.merge!("one" => style1, "one.hover" => style2, "two" => style3, "two.hover" => style4)
219
-
220
- prop = Limelight::Prop.new(:name => "one", :styles => "two three")
221
- @scene << prop
222
-
223
- prop.style.should have_extension(style1)
224
- prop.style.should have_extension(style3)
225
- prop.hover_style.should == style2
226
- prop.hover_style.should have_extension(style4)
227
- end
228
-
229
- it "should be able to remove children" do
230
- child1 = Limelight::Prop.new()
231
- child2 = Limelight::Prop.new()
232
- child3 = Limelight::Prop.new()
233
- @prop << child1 << child2 << child3
234
-
235
- @prop.remove(child2)
236
-
237
- @prop.children.length.should == 2
238
- @prop.children.include?(child2).should == false
239
- @prop.panel.children.length.should == 2
240
- @prop.panel.children.include?(child2.panel).should == false
241
- end
242
-
243
- it "should make dimensions accessible" do
244
- @prop.panel.should_receive(:get_bounding_box).and_return("whole area")
245
- @prop.panel.should_receive(:get_box_inside_borders).and_return("area inside borders")
246
-
247
- @prop.area.should == "whole area"
248
- @prop.bordered_area.should == "area inside borders"
249
- end
250
-
251
- it "should give you a pen" do
252
- graphics = mock("graphics", :setColor => nil, :setStroke => nil, :setRenderingHint => nil)
253
- @prop.panel.should_receive(:getGraphics).and_return(graphics)
254
-
255
- pen = @prop.pen
256
-
257
- pen.context.should be(graphics)
258
- end
259
-
260
- it "should set after paint action" do
261
- block = Proc.new { |pen| }
262
-
263
- @prop.after_painting &block
264
-
265
- action = @prop.panel.after_paint_action
266
- action.should_not == nil
267
- action.class.should == Limelight::PaintAction
268
- action.block.should == block
269
- end
270
-
271
- it "should clear after paint action" do
272
- @prop.after_painting { |pen| puts "blah" }
273
-
274
- @prop.after_painting nil
275
-
276
- @prop.panel.after_paint_action.should == nil
277
- end
278
-
279
- it "should build children" do
280
- @prop.scene.production = Limelight::Production.new("some/path")
281
- @prop.build do
282
- one
283
- two do
284
- three
285
- end
286
- end
287
-
288
- @prop.children.length.should == 2
289
- @prop.children[0].name.should == "one"
290
- @prop.children[1].name.should == "two"
291
- @prop.children[1].children.length.should == 1
292
- @prop.children[1].children[0].name.should == "three"
293
- end
294
-
295
- it "should build children with options" do
296
- @prop.scene.production = Limelight::Production.new("some/path")
297
- @prop.build(:one_val => "hello") do
298
- one :text => @one_val
299
- two do
300
- three
301
- end
302
-
303
- end
304
-
305
- @prop.children.length.should == 2
306
- @prop.children[0].name.should == "one"
307
- @prop.children[0].text.should == "hello"
308
- @prop.children[1].name.should == "two"
309
- @prop.children[1].children.length.should == 1
310
- @prop.children[1].children[0].name.should == "three"
311
- end
312
-
313
- it "should play sound" do
314
- production = Limelight::Production.new("/blah")
315
- @scene.production = production
316
- production.root.should_receive(:path_to).with("some.au").and_return("/full/path/to/some.au");
317
- @prop.panel.should_receive(:play_sound).with("/full/path/to/some.au");
318
-
319
- @prop.play_sound("some.au")
320
- end
321
-
322
- it "should remember when it has been illuminated" do
323
- prop = Limelight::Prop.new
324
- prop.illuminated?.should == false
325
-
326
- @scene << prop
327
-
328
- prop.illuminated?.should == true;
329
- end
330
-
331
- #TODO remove_all should not remove scrollbars
332
-
333
- describe "events" do
334
-
335
- it "should not accept mouse_clicked events to start with" do
336
- @prop.accepts_mouse_clicked().should == false
337
- @prop.instance_eval("def mouse_clicked(e); puts 'hi'; end;")
338
- @prop.accepts_mouse_clicked().should == true
339
- end
340
-
341
- it "should not accept mouse_pressed events to start with" do
342
- @prop.accepts_mouse_pressed().should == false
343
- @prop.instance_eval("def mouse_pressed(e); puts 'hi'; end;")
344
- @prop.accepts_mouse_pressed().should == true
345
- end
346
-
347
- it "should not accept mouse_released events to start with" do
348
- @prop.accepts_mouse_released().should == false
349
- @prop.instance_eval("def mouse_released(e); puts 'hi'; end;")
350
- @prop.accepts_mouse_released().should == true
351
- end
352
-
353
- end
354
-
355
- describe "id" do
356
-
357
- it "should index its id when illuminated" do
358
- @scene.find("root").should == @prop
359
- end
360
-
361
- it "should unindex ids when removing children" do
362
- child = Limelight::Prop.new(:id => "child")
363
- @prop << child
364
- @scene.find("child").should == child
365
-
366
- @prop.remove(child)
367
-
368
- @scene.find("child").should == nil
369
- end
370
-
371
- it "should unindex ids when removing all children" do
372
- child1 = Limelight::Prop.new(:id => "child1")
373
- child2 = Limelight::Prop.new(:id => "child2")
374
- @prop << child1 << child2
375
-
376
- @prop.remove_all
377
-
378
- @scene.find("child1").should == nil
379
- @scene.find("child2").should == nil
380
- end
381
-
382
- it "should unindex grandchildren on remove all" do
383
- grandchild = Limelight::Prop.new(:id => "grandchild")
384
- child = Limelight::Prop.new(:id => "child")
385
- child << grandchild
386
- @prop << child
387
-
388
- @prop.remove_all
389
-
390
- @scene.find("child").should == nil
391
- @scene.find("grandchild").should == nil
392
- end
393
-
394
- it "should index it's id when being re-added to the prop tree" do
395
- child = Limelight::Prop.new(:id => "child")
396
- @prop << child
397
- @prop.remove(child)
398
- @prop << child
399
-
400
- @scene.find("child").should == child
401
- end
402
-
403
- it "should traverse and index children when being re-added to the prop tree" do
404
- grandchild = Limelight::Prop.new(:id => "grandchild")
405
- child = Limelight::Prop.new(:id => "child")
406
- child << grandchild
407
- @prop << child
408
- @prop.remove(child)
409
- @prop << child
410
-
411
- @scene.find("grandchild").should == grandchild
412
- end
413
-
414
-
415
- end
416
-
417
- describe "launch" do
418
-
419
- it "should launch a url" do
420
- os = mock("Limelight OS")
421
- instance = mock("Limelight OS instance", :os => os)
422
- Java::limelight.Context.stub!(:instance).and_return(instance)
423
-
424
- os.should_receive(:launch).with("http://www.google.com")
425
-
426
- @prop.launch("http://www.google.com")
427
- end
428
-
429
- end
430
-
431
- end