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,245 +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/dsl/prop_builder'
6
-
7
- describe Limelight::DSL::PropBuilder do
8
-
9
- before(:each) do
10
- @caster = mock("caster", :fill_cast => nil)
11
- @scene = Limelight::Scene.new(:name => "root", :casting_director => @caster)
12
- end
13
-
14
- it "should build root" do
15
- root = Limelight.build_props(@scene)
16
- root.illuminate
17
-
18
- root.class.should == Limelight::Scene
19
- root.name.should == "root"
20
- root.panel.should_not == nil
21
- root.children.size.should == 0
22
- end
23
-
24
- it "should build one child prop" do
25
- root = Limelight::build_props(@scene) do
26
- child
27
- end
28
- root.illuminate
29
-
30
- root.children.size.should == 1
31
- child = root.children[0]
32
- child.class.should == Limelight::Prop
33
- child.name.should == "child"
34
- child.panel.should_not == nil
35
- child.children.size.should == 0
36
- end
37
-
38
- it "should allow multiple children" do
39
- root = Limelight::build_props(@scene) do
40
- child1
41
- child2
42
- end
43
- root.illuminate
44
-
45
- root.children.size.should == 2
46
- root.children[0].name.should == "child1"
47
- root.children[1].name.should == "child2"
48
- end
49
-
50
- it "should allow nested children" do
51
- root = Limelight::build_props(@scene) do
52
- child do
53
- grandchild
54
- end
55
- end
56
- root.illuminate
57
-
58
- root.children.size.should == 1
59
- root.children[0].name.should == "child"
60
- root.children[0].children.size.should == 1
61
- root.children[0].children[0].name.should == "grandchild"
62
- end
63
-
64
- it "should be able to set the id" do
65
- root = Limelight::build_props(@scene) do
66
- child :id => "child_1", :players => "x, y, z"
67
- end
68
- root.illuminate
69
-
70
- child = root.children[0]
71
- child.id.should == "child_1"
72
- child.players.should == "x, y, z"
73
- end
74
-
75
- it "should allow setting styles" do
76
- root = Limelight::build_props(@scene) do
77
- child :width => "100", :font_size => "10", :top_border_color => "blue"
78
- end
79
- root.illuminate
80
-
81
- child = root.children[0]
82
- child.style.width.should == "100"
83
- child.style.font_size.should == "10"
84
- child.style.top_border_color.should == "#0000ffff"
85
- end
86
-
87
- it "should allow defining events through constructor" do
88
- root = Limelight::build_props(@scene) do
89
- child :on_mouse_entered => "return [self, event]"
90
- end
91
- root.illuminate
92
-
93
- child = root.children[0]
94
- child.mouse_entered("blah").should == [child, "blah"]
95
- end
96
-
97
- it "should allow scene configuration" do
98
- root = Limelight::build_props(@scene) do
99
- __ :name => "root", :id => "123"
100
- end
101
- root.illuminate
102
-
103
- root.children.size.should == 0
104
- root.name.should == "root"
105
- root.id.should == "123"
106
- end
107
-
108
- it "should give every prop their scene" do
109
- root = Limelight::build_props(@scene) do
110
- child do
111
- grandchild
112
- end
113
- end
114
-
115
- root.scene.should == root
116
- root.children[0].scene.should == root
117
- root.children[0].children[0].scene.should == root
118
- end
119
-
120
- it "should install external props" do
121
- loader = mock("loader", :exists? => true)
122
- loader.should_receive(:load).with("external.rb").and_return("child :id => 123")
123
-
124
- root = Limelight::build_props(@scene, :id => 321, :build_loader => loader, :casting_director => @caster) do
125
- __install "external.rb"
126
- end
127
- root.illuminate
128
-
129
- root.id.should == "321"
130
- root.children.size.should == 1
131
- child = root.children[0]
132
- child.name.should == "child"
133
- child.id.should == "123"
134
- end
135
-
136
- it "should fail if no loader is provided" do
137
- begin
138
- root = Limelight::build_props(@scene, :id => 321, :build_loader => nil) do
139
- __install "external.rb"
140
- end
141
- root.should == nil # should never get here
142
- rescue Exception => e
143
- e.message.should == "Cannot install external props because no loader was provided"
144
- end
145
- end
146
-
147
- it "should fail when the external file doesn't exist" do
148
- loader = mock("loader")
149
- loader.should_receive(:exists?).with("external.rb").and_return(false)
150
-
151
- begin
152
- root = Limelight::build_props(@scene, :id => 321, :build_loader => loader) do
153
- __install "external.rb"
154
- end
155
- rescue Exception => e
156
- e.message.should == "External prop file: 'external.rb' doesn't exist"
157
- end
158
- end
159
-
160
- it "should fail with PropException when there's problem in the external file" do
161
- loader = mock("loader", :exists? => true)
162
- loader.should_receive(:load).with("external.rb").and_return("+")
163
-
164
- begin
165
- root = Limelight::build_props(@scene, :id => 321, :build_loader => loader) do
166
- __install "external.rb"
167
- end
168
- rescue Limelight::DSL::BuildException => e
169
- e.message.include?("external.rb:1: (eval):1: , unexpected end-of-file").should == true
170
- end
171
- end
172
-
173
- it "should build onto an existing block" do
174
- prop = Limelight::Prop.new
175
- scene = Limelight::Scene.new(:casting_director => mock(:casting_director, :fill_cast => nil))
176
- scene << prop
177
- builder = Limelight::DSL::PropBuilder.new(prop)
178
- block = Proc.new { one; two { three } }
179
- builder.instance_eval(&block)
180
- scene.illuminate
181
-
182
- prop.children.length.should == 2
183
- prop.children[0].name.should == "one"
184
- prop.children[1].name.should == "two"
185
- prop.children[1].children.length.should == 1
186
- prop.children[1].children[0].name.should == "three"
187
- end
188
-
189
- it "should not crash with prop named display" do
190
- root = Limelight::build_props(@scene) do
191
- display :id => "display"
192
- end
193
- root.illuminate
194
-
195
- root.children.size.should == 1
196
- display = root.children[0]
197
- display.name.should == "display"
198
- display.id.should == "display"
199
- end
200
-
201
- it "should allow instance variables" do
202
- root = Limelight::build_props(@scene, :instance_variables => { :id1 => "abc", :id2 => "xyz" } ) do
203
- __ :id => @id1
204
- child :id => @id2
205
- end
206
- root.illuminate
207
-
208
- root.id.should == "abc"
209
- child = root.children[0]
210
- child.id.should == "xyz"
211
- end
212
-
213
- it "should propogate instance variables to nested levels" do
214
- root = Limelight::build_props(@scene, :instance_variables => { :name => "blah" } ) do
215
- child :id => "child", :name => @name do
216
- grand_child :id => "grand_child", :name => @name do
217
- great_grand_child :id => "great_grand_child", :name => @name do
218
- baby :id => "baby", :name => @name
219
- end
220
- end
221
- end
222
- end
223
- root.illuminate
224
-
225
- root.find("child").name.should == "blah"
226
- root.find("grand_child").name.should == "blah"
227
- root.find("great_grand_child").name.should == "blah"
228
- root.find("baby").name.should == "blah"
229
- end
230
-
231
- it "should allow instance_variable when installing an external props file" do
232
- loader = mock("loader", :exists? => true)
233
- loader.should_receive(:load).with("external.rb").and_return("child :id => @desired_id")
234
-
235
- root = Limelight::build_props(@scene, :id => 321, :build_loader => loader, :casting_director => @caster) do
236
- __install "external.rb", :desired_id => "123"
237
- end
238
- root.illuminate
239
-
240
- child = root.children[0]
241
- child.name.should == "child"
242
- child.id.should == "123"
243
- end
244
-
245
- end
@@ -1,90 +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/dsl/stage_builder'
6
- require 'limelight/theater'
7
-
8
- describe Limelight::DSL::StageBuilder do
9
-
10
- before(:each) do
11
- @theater = Limelight::Theater.new(nil)
12
- end
13
-
14
- it "should give no stages if empty" do
15
- stages = Limelight::build_stages(@theater)
16
-
17
- stages.should == []
18
- end
19
-
20
- it "should build one stage" do
21
- stages = Limelight::build_stages(@theater) do
22
- stage "George"
23
- end
24
-
25
- stages.length.should == 1
26
- stages[0].name.should == "George"
27
- end
28
-
29
- it "should build multiple stages" do
30
- stages = Limelight::build_stages(@theater) do
31
- stage "George"
32
- stage "Bill"
33
- stage "Amy"
34
- end
35
-
36
- stages.length.should == 3
37
- stages[0].name.should == "George"
38
- stages[1].name.should == "Bill"
39
- stages[2].name.should == "Amy"
40
- end
41
-
42
- it "should allow the setting of stage properties" do
43
- stages = Limelight::build_stages(@theater) do
44
- stage "George" do
45
- title "The Curious"
46
- end
47
- end
48
-
49
- stages.length.should == 1
50
- stages[0].title.should == "The Curious"
51
- end
52
-
53
- it "should raise an exception when setting an invalid property" do
54
- lambda do
55
- Limelight::build_stages(@theater) do
56
- stage "George" do
57
- blah "blah"
58
- end
59
- end
60
- end.should raise_error(Limelight::DSL::StageBuilderException, "'blah' is not a valid stage property")
61
- end
62
-
63
- it "should add stages to the theater" do
64
- stages = Limelight::build_stages(@theater) do
65
- stage "George" do
66
- title "The Curious"
67
- end
68
- end
69
-
70
- @theater["George"].should == stages[0]
71
- end
72
-
73
- it "should add stages to the theater" do
74
- stages = Limelight::build_stages(@theater) do
75
- stage "George" do
76
- title "The Curious"
77
- end
78
- end
79
- stages = Limelight::build_stages(@theater) do
80
- stage "George" do
81
- title "The Monkey"
82
- end
83
- end
84
-
85
- @theater.stages.length.should == 1
86
- @theater["George"].title.should == "The Monkey"
87
- end
88
-
89
- end
90
-
@@ -1,194 +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/dsl/styles_builder'
6
-
7
- describe Limelight::DSL::StylesBuilder do
8
-
9
- before(:each) do
10
- end
11
-
12
- it "should build a hash" do
13
- result = Limelight.build_styles
14
-
15
- result.class.should == Hash
16
- result.size.should == 0
17
- end
18
-
19
- it "should build one style" do
20
- result = Limelight.build_styles do
21
- root
22
- end
23
-
24
- result.size.should == 1
25
- result["root"].class.should == Limelight::Styles::RichStyle
26
- end
27
-
28
- it "should build one style with styling" do
29
- result = Limelight.build_styles do
30
- root do
31
- width 100
32
- top_border_color "blue"
33
- transparency "50%"
34
- end
35
- end
36
-
37
- result.size.should == 1
38
- style = result["root"]
39
- style.width.should == "100"
40
- style.top_border_color.should == "#0000ffff"
41
- style.transparency.should == "50%"
42
- end
43
-
44
- it "should raise an error on invalid styles" do
45
- lambda do
46
- Limelight.build_styles do
47
- root do
48
- blah 100
49
- end
50
- end
51
- end.should raise_error(Limelight::DSL::StyleBuilderException)
52
- end
53
-
54
- it "should build multiple styles" do
55
- result = Limelight.build_styles do
56
- one { width 100 }
57
- two { width 50 }
58
- end
59
-
60
- result.size.should == 2
61
- result["one"].width.should == "100"
62
- result["two"].width.should == "50"
63
- end
64
-
65
- it "should allow hover styles" do
66
- styles = Limelight.build_styles do
67
- root do
68
- width 100
69
- hover do
70
- width 50
71
- end
72
- end
73
- end
74
-
75
- styles.size.should == 2
76
- styles["root"].width.should == "100"
77
- styles["root.hover"].width.should == "50"
78
- end
79
-
80
- it "should allow styles to extend other styles" do
81
- styles = Limelight.build_styles do
82
- one { width 100 }
83
- two {
84
- extends "one"
85
- height 200
86
- }
87
- end
88
-
89
- styles.size.should == 2
90
- one = styles["one"]
91
- two = styles["two"]
92
- two.has_extension(one).should == true
93
- two.height.should == "200"
94
- two.width.should == "100"
95
- end
96
-
97
- it "should allow multiple extensions" do
98
- styles = Limelight.build_styles do
99
- one { width 100 }
100
- two { x 100 }
101
- three {
102
- extends :one, :two
103
- height 200
104
- }
105
- end
106
-
107
- styles.size.should == 3
108
- one = styles["one"]
109
- two = styles["two"]
110
- three = styles["three"]
111
- three.has_extension(one).should == true
112
- three.has_extension(two).should == true
113
- three.height.should == "200"
114
- three.width.should == "100"
115
- three.x.should == "100"
116
- end
117
-
118
- it "should raise an exception when attempting to extend a missing style" do
119
- lambda { Limelight.build_styles { one { extends :blah } } }.should raise_error(Limelight::DSL::StyleBuilderException, "Can't extend missing style: 'blah'")
120
- end
121
-
122
- it "should allow styles to be repopened" do
123
- styles = Limelight.build_styles do
124
- one { width 100 }
125
- one { height 200 }
126
- one { x 300 }
127
- end
128
-
129
- styles.size.should == 1
130
- one = styles["one"]
131
- one.width.should == "100"
132
- one.height.should == "200"
133
- one.x.should == "300"
134
- end
135
-
136
- it "should be able to start with an existing styles hash" do
137
- styles1 = Limelight.build_styles do
138
- one { width 100 }
139
- end
140
- styles2 = Limelight.build_styles(styles1) do
141
- one { height 200 }
142
- two { width 123 }
143
- end
144
-
145
- styles2.size.should == 2
146
- one = styles2["one"]
147
- two = styles2["two"]
148
- one.width.should == "100"
149
- one.height.should == "200"
150
- two.width.should == "123"
151
- end
152
-
153
- it "should be able to modify style within same build" do
154
- styles = Limelight.build_styles do
155
- one { width 100 }
156
- one { height 200 }
157
- end
158
-
159
- styles["one"].width.should == "100"
160
- styles["one"].height.should == "200"
161
- end
162
-
163
- it "should beable to extend existing styles but not modify them" do
164
- styles1 = Limelight.build_styles do
165
- one { width 100; height 200 }
166
- end
167
- styles2 = Limelight.build_styles(styles1) do
168
- one { width 300 }
169
- end
170
-
171
- styles1["one"].width.should == "100"
172
- styles1["one"].height.should == "200"
173
- styles2["one"].width.should == "300"
174
- styles2["one"].height.should == "200"
175
-
176
- styles1["one"].height = "400"
177
- styles2["one"].height.should == "400"
178
- end
179
-
180
- it "should be able to explicitely extend extendable_styles" do
181
- styles1 = Limelight.build_styles do
182
- one { width 100; height 200 }
183
- end
184
- styles2 = Limelight.build_styles(styles1) do
185
- two { extends "one"; x 25 }
186
- end
187
-
188
- styles2["two"].width.should == "100"
189
- styles2["two"].height.should == "200"
190
- styles2["two"].x.should == "25"
191
- end
192
-
193
- end
194
-