limelight 0.5.5-java → 0.6.14-java

Sign up to get free protection for your applications and to get access to all the features.
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
-