limelight 0.3.1-java → 0.4.0-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 (235) hide show
  1. data/lib/init.rb +5 -2
  2. data/lib/limelight/animation.rb +2 -2
  3. data/lib/limelight/builtin/players/button.rb +1 -1
  4. data/lib/limelight/builtin/players/check_box.rb +1 -1
  5. data/lib/limelight/builtin/players/combo_box.rb +2 -4
  6. data/lib/limelight/builtin/players/combo_box_popup_list.rb +1 -1
  7. data/lib/limelight/builtin/players/combo_box_popup_list_item.rb +1 -1
  8. data/lib/limelight/builtin/players/curtains.rb +1 -1
  9. data/lib/limelight/builtin/players/image.rb +3 -0
  10. data/lib/limelight/builtin/players/password_box.rb +1 -1
  11. data/lib/limelight/builtin/players/radio_button.rb +1 -1
  12. data/lib/limelight/builtin/players/text_area.rb +1 -1
  13. data/lib/limelight/builtin/players/text_box.rb +1 -1
  14. data/lib/limelight/builtin/players.rb +1 -1
  15. data/lib/limelight/builtin/styles.rb +1 -1
  16. data/lib/limelight/builtin/utilities_production/alert/props.rb +5 -0
  17. data/lib/limelight/builtin/utilities_production/alert/styles.rb +7 -0
  18. data/lib/limelight/builtin/utilities_production/incompatible_version/props.rb +17 -0
  19. data/lib/limelight/builtin/utilities_production/incompatible_version/styles.rb +9 -0
  20. data/lib/limelight/builtin/utilities_production/production.rb +59 -0
  21. data/lib/limelight/builtin/utilities_production/stages.rb +9 -0
  22. data/lib/limelight/builtin/utilities_production/styles.rb +50 -0
  23. data/lib/limelight/button_group_cache.rb +1 -1
  24. data/lib/limelight/casting_director.rb +1 -1
  25. data/lib/limelight/client/playbills.rb +3 -0
  26. data/lib/limelight/commands/command.rb +13 -7
  27. data/lib/limelight/commands/create_command.rb +13 -8
  28. data/lib/limelight/commands/freeze_command.rb +3 -0
  29. data/lib/limelight/commands/help_command.rb +12 -1
  30. data/lib/limelight/commands/open_command.rb +11 -1
  31. data/lib/limelight/commands/pack_command.rb +1 -1
  32. data/lib/limelight/commands/unpack_command.rb +1 -1
  33. data/lib/limelight/commands/version_command.rb +1 -1
  34. data/lib/limelight/data.rb +4 -14
  35. data/lib/limelight/dsl/build_exception.rb +12 -8
  36. data/lib/limelight/dsl/menu_bar.rb +1 -1
  37. data/lib/limelight/dsl/production_builder.rb +1 -1
  38. data/lib/limelight/dsl/prop_builder.rb +2 -2
  39. data/lib/limelight/dsl/stage_builder.rb +3 -3
  40. data/lib/limelight/dsl/styles_builder.rb +2 -1
  41. data/lib/limelight/file_chooser.rb +1 -1
  42. data/lib/limelight/file_filter.rb +1 -1
  43. data/lib/limelight/file_loader.rb +1 -1
  44. data/lib/limelight/gems.rb +4 -0
  45. data/lib/limelight/java_couplings.rb +3 -2
  46. data/lib/limelight/java_util.rb +1 -1
  47. data/lib/limelight/limelight_exception.rb +1 -1
  48. data/lib/limelight/main.rb +1 -1
  49. data/lib/limelight/paint_action.rb +1 -1
  50. data/lib/limelight/pen.rb +1 -1
  51. data/lib/limelight/producer.rb +52 -37
  52. data/lib/limelight/production.rb +81 -43
  53. data/lib/limelight/prop.rb +32 -13
  54. data/lib/limelight/scene.rb +19 -14
  55. data/lib/limelight/specs/spec_helper.rb +55 -28
  56. data/lib/limelight/stage.rb +163 -23
  57. data/lib/limelight/string.rb +3 -0
  58. data/lib/limelight/studio.rb +143 -6
  59. data/lib/limelight/styles.rb +14 -1
  60. data/lib/limelight/templates/production_templater.rb +6 -2
  61. data/lib/limelight/templates/scene_templater.rb +12 -7
  62. data/lib/limelight/templates/sources/production/production.rb.template +46 -6
  63. data/lib/limelight/templates/sources/production/spec/spec_helper.rb.template +5 -0
  64. data/lib/limelight/templates/sources/scene_spec/scene_spec.rb.template +13 -0
  65. data/lib/limelight/templates/templater.rb +4 -1
  66. data/lib/limelight/templates/templater_logger.rb +3 -0
  67. data/lib/limelight/theater.rb +15 -6
  68. data/lib/limelight/util/downloader.rb +3 -1
  69. data/lib/limelight/util.rb +8 -7
  70. data/lib/limelight/version.rb +3 -3
  71. data/lib/limelight.jar +0 -0
  72. data/productions/examples/8thlight.com/about/props.rb +1 -1
  73. data/productions/examples/8thlight.com/about/styles.rb +1 -1
  74. data/productions/examples/8thlight.com/footer.rb +1 -1
  75. data/productions/examples/8thlight.com/home/props.rb +1 -1
  76. data/productions/examples/8thlight.com/home/styles.rb +1 -1
  77. data/productions/examples/8thlight.com/menu.rb +1 -1
  78. data/productions/examples/8thlight.com/services/props.rb +1 -1
  79. data/productions/examples/8thlight.com/services/styles.rb +1 -1
  80. data/productions/examples/8thlight.com/stages.rb +1 -1
  81. data/productions/examples/8thlight.com/styles.rb +1 -1
  82. data/productions/examples/calculator/players/button.rb +1 -1
  83. data/productions/examples/calculator/players/calculator.rb +1 -1
  84. data/productions/examples/calculator/players/calculator_model.rb +1 -1
  85. data/productions/examples/calculator/props.rb +1 -1
  86. data/productions/examples/calculator/styles.rb +1 -1
  87. data/productions/examples/langstons_ant/init.rb +3 -0
  88. data/productions/examples/langstons_ant/players/ant.rb +1 -1
  89. data/productions/examples/langstons_ant/players/log.rb +1 -1
  90. data/productions/examples/langstons_ant/players/start_stop_button.rb +1 -1
  91. data/productions/examples/langstons_ant/players/world.rb +1 -1
  92. data/productions/examples/langstons_ant/props.rb +1 -1
  93. data/productions/examples/langstons_ant/styles.rb +1 -1
  94. data/productions/examples/sandbox/alerts/incompatible_production/default_scene/props.rb +7 -0
  95. data/productions/examples/sandbox/alerts/incompatible_production/default_scene/styles.rb +29 -0
  96. data/productions/examples/sandbox/alerts/incompatible_production/production.rb +49 -0
  97. data/productions/examples/sandbox/alerts/incompatible_production/spec/default_scene/default_scene_spec.rb +13 -0
  98. data/productions/examples/sandbox/alerts/incompatible_production/spec/spec_helper.rb +5 -0
  99. data/productions/examples/sandbox/alerts/incompatible_production/stages.rb +17 -0
  100. data/productions/examples/sandbox/alerts/incompatible_production/styles.rb +12 -0
  101. data/productions/examples/sandbox/alerts/players/alerts.rb +14 -0
  102. data/productions/examples/sandbox/alerts/props.rb +7 -0
  103. data/productions/examples/sandbox/alerts/styles.rb +43 -0
  104. data/productions/examples/sandbox/background_images/props.rb +19 -0
  105. data/productions/examples/sandbox/background_images/styles.rb +40 -0
  106. data/productions/examples/sandbox/click_me/players/chromaton.rb +1 -1
  107. data/productions/examples/sandbox/click_me/props.rb +1 -1
  108. data/productions/examples/sandbox/click_me/styles.rb +1 -1
  109. data/productions/examples/sandbox/floaters/players/floater.rb +9 -5
  110. data/productions/examples/sandbox/floaters/players/surface.rb +1 -1
  111. data/productions/examples/sandbox/floaters/props.rb +1 -1
  112. data/productions/examples/sandbox/floaters/styles.rb +13 -13
  113. data/productions/examples/sandbox/frameing/players/sandbox.rb +3 -0
  114. data/productions/examples/sandbox/frameing/props.rb +3 -0
  115. data/productions/examples/sandbox/frameing/styles.rb +3 -0
  116. data/productions/examples/sandbox/gradients/players/spinner.rb +1 -1
  117. data/productions/examples/sandbox/gradients/players/teaser.rb +1 -1
  118. data/productions/examples/sandbox/gradients/players/wave.rb +1 -1
  119. data/productions/examples/sandbox/gradients/players/waves.rb +1 -1
  120. data/productions/examples/sandbox/gradients/props.rb +1 -1
  121. data/productions/examples/sandbox/gradients/styles.rb +1 -1
  122. data/productions/examples/sandbox/header.rb +4 -1
  123. data/productions/examples/sandbox/homer/players/homer.rb +1 -1
  124. data/productions/examples/sandbox/homer/props.rb +1 -1
  125. data/productions/examples/sandbox/homer/styles.rb +2 -2
  126. data/productions/examples/sandbox/images/space.png +0 -0
  127. data/productions/examples/sandbox/images_scene/props.rb +3 -0
  128. data/productions/examples/sandbox/images_scene/styles.rb +3 -0
  129. data/productions/examples/sandbox/inputs/players/button_input.rb +1 -1
  130. data/productions/examples/sandbox/inputs/players/check_box_input.rb +1 -1
  131. data/productions/examples/sandbox/inputs/players/combo_box_input.rb +1 -1
  132. data/productions/examples/sandbox/inputs/players/radio_button_input.rb +1 -1
  133. data/productions/examples/sandbox/inputs/players/text_area_input.rb +1 -1
  134. data/productions/examples/sandbox/inputs/players/text_box_input.rb +1 -1
  135. data/productions/examples/sandbox/inputs/props.rb +1 -1
  136. data/productions/examples/sandbox/inputs/styles.rb +1 -1
  137. data/productions/examples/sandbox/kiosk/players/kiosk.rb +36 -0
  138. data/productions/examples/sandbox/kiosk/props.rb +6 -0
  139. data/productions/examples/sandbox/kiosk/styles.rb +34 -0
  140. data/productions/examples/sandbox/players/sandbox.rb +1 -1
  141. data/productions/examples/sandbox/rounded_corners/players/box.rb +1 -1
  142. data/productions/examples/sandbox/rounded_corners/props.rb +1 -1
  143. data/productions/examples/sandbox/rounded_corners/styles.rb +1 -1
  144. data/productions/examples/sandbox/scrolling/players/add_button.rb +1 -1
  145. data/productions/examples/sandbox/scrolling/players/cell.rb +1 -1
  146. data/productions/examples/sandbox/scrolling/props.rb +1 -1
  147. data/productions/examples/sandbox/scrolling/styles.rb +1 -1
  148. data/productions/examples/sandbox/sketching/players/sketchpad.rb +1 -1
  149. data/productions/examples/sandbox/sketching/props.rb +1 -1
  150. data/productions/examples/sandbox/sketching/styles.rb +1 -1
  151. data/productions/examples/sandbox/sounds/players/clip.rb +1 -1
  152. data/productions/examples/sandbox/sounds/props.rb +1 -1
  153. data/productions/examples/sandbox/sounds/styles.rb +1 -1
  154. data/productions/examples/sandbox/spec/alerts/alerts_spec.rb +13 -0
  155. data/productions/examples/sandbox/stages.rb +2 -1
  156. data/productions/examples/sandbox/styles.rb +1 -1
  157. data/productions/examples/sandbox/teaser/players/fader.rb +1 -1
  158. data/productions/examples/sandbox/teaser/props.rb +1 -1
  159. data/productions/examples/sandbox/teaser/styles.rb +1 -1
  160. data/productions/examples/tutorials/tutorial_1/players/sample.rb +1 -1
  161. data/productions/examples/tutorials/tutorial_1/props.rb +1 -1
  162. data/productions/examples/tutorials/tutorial_1/styles.rb +1 -1
  163. data/productions/stage_composer/init.rb +1 -1
  164. data/productions/stage_composer/inspector/players/inspector.rb +1 -1
  165. data/productions/stage_composer/inspector/players/prop_row.rb +1 -1
  166. data/productions/stage_composer/inspector/players/prop_tree.rb +1 -1
  167. data/productions/stage_composer/inspector/players/style_table.rb +1 -1
  168. data/productions/stage_composer/inspector/players/style_value.rb +1 -1
  169. data/productions/stage_composer/inspector/props.rb +1 -1
  170. data/productions/stage_composer/inspector/styles.rb +1 -1
  171. data/productions/stage_composer/lib/init.rb +1 -1
  172. data/productions/stage_composer/lib/limelight/composer/controller.rb +1 -1
  173. data/productions/stage_composer/lib/limelight/composer/lethargy.rb +1 -1
  174. data/productions/stage_composer/production.rb +1 -1
  175. data/productions/stage_composer/stages.rb +1 -1
  176. data/productions/startup/production.rb +49 -0
  177. data/productions/startup/spec/default_scene/default_scene_spec.rb +13 -0
  178. data/productions/startup/spec/spec_helper.rb +5 -0
  179. data/productions/startup/stages.rb +5 -2
  180. data/productions/startup/styles.rb +12 -0
  181. data/productions/startup/welcome/players/browse_button.rb +1 -1
  182. data/productions/startup/welcome/players/download_button.rb +1 -1
  183. data/productions/startup/welcome/players/sandbox_button.rb +1 -1
  184. data/productions/startup/welcome/props.rb +2 -2
  185. data/productions/startup/welcome/styles.rb +1 -1
  186. data/spec/builtin/players/button_spec.rb +1 -1
  187. data/spec/builtin/players/check_box_spec.rb +1 -1
  188. data/spec/builtin/players/combo_box_spec.rb +1 -1
  189. data/spec/builtin/players/image_spec.rb +3 -0
  190. data/spec/builtin/players/password_box_spec.rb +1 -1
  191. data/spec/builtin/players/radio_button_spec.rb +7 -7
  192. data/spec/builtin/players/text_area_spec.rb +1 -1
  193. data/spec/builtin/players/text_box_spec.rb +1 -1
  194. data/spec/builtin/utilities_production/spec_helper.rb +4 -0
  195. data/spec/builtin/utilities_production/utilities_production_spec.rb +143 -0
  196. data/spec/casting_director_spec.rb +7 -7
  197. data/spec/client/playbills_spec.rb +3 -0
  198. data/spec/commands/command_spec.rb +9 -1
  199. data/spec/commands/create_command_spec.rb +35 -5
  200. data/spec/commands/freeze_command_spec.rb +3 -0
  201. data/spec/commands/help_command_spec.rb +6 -3
  202. data/spec/commands/open_command_spec.rb +24 -2
  203. data/spec/commands/pack_command_spec.rb +3 -0
  204. data/spec/commands/unpack_command_spec.rb +4 -1
  205. data/spec/data_spec.rb +5 -16
  206. data/spec/dsl/production_builder_spec.rb +1 -1
  207. data/spec/dsl/prop_builder_spec.rb +19 -19
  208. data/spec/dsl/stage_builder_spec.rb +1 -1
  209. data/spec/dsl/styles_builder_spec.rb +1 -1
  210. data/spec/file_chooser_spec.rb +1 -1
  211. data/spec/file_filter_spec.rb +1 -1
  212. data/spec/file_loader_spec.rb +1 -1
  213. data/spec/gems_spec.rb +3 -0
  214. data/spec/java_util_spec.rb +1 -1
  215. data/spec/main_spec.rb +4 -1
  216. data/spec/paint_action_spec.rb +1 -1
  217. data/spec/pen_spec.rb +1 -1
  218. data/spec/producer_spec.rb +73 -32
  219. data/spec/production_spec.rb +23 -44
  220. data/spec/prop_spec.rb +102 -64
  221. data/spec/scene_spec.rb +3 -3
  222. data/spec/spec_helper.rb +3 -2
  223. data/spec/stage_spec.rb +172 -36
  224. data/spec/string_spec.rb +3 -0
  225. data/spec/studio_spec.rb +131 -3
  226. data/spec/styles_spec.rb +3 -0
  227. data/spec/templates/production_templater_spec.rb +12 -1
  228. data/spec/templates/scene_templater_spec.rb +17 -2
  229. data/spec/templates/templater_logger_spec.rb +3 -0
  230. data/spec/templates/templater_spec.rb +3 -0
  231. data/spec/theater_spec.rb +16 -1
  232. data/spec/util/downloader_spec.rb +3 -0
  233. metadata +56 -6
  234. data/lib/i4jruntime.jar +0 -0
  235. data/lib/junit-4.4.jar +0 -0
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  module Limelight
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  name "Stage Composer"
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  stage "inspector" do
@@ -0,0 +1,49 @@
1
+ # This file (production.rb) is the first file loaded opening a production. It must define a module named 'Production'.
2
+ # The containing production will acquire all the behavior defined in this module.
3
+ # You may define serveral hooks and initialization steps here.
4
+
5
+ module Production
6
+
7
+ # # Define this method if you want the production name to be different from the default, directory name.
8
+ # def name
9
+ # return Startup
10
+ # end
11
+ #
12
+ # # Returns the minimum version of limelight required to run this production. Default: "0.0.0"
13
+ # # If the version of limelight used to open this production is less than the minimum,
14
+ # # an error will be displayed (starting with version 0.4.0).
15
+ # #
16
+ # def minimum_limelight_version
17
+ # return "0.4.0"
18
+ # end
19
+ #
20
+ # # Hook #1. Called when the production is newly created, before any loading has been done.
21
+ # # This is a good place to require needed files and instantiate objects in the busines layer.
22
+ # def production_opening
23
+ # end
24
+ #
25
+ # # Hook #2. Called after internal gems have been loaded and stages have been instantiated, yet before
26
+ # # any scenes have been opened.
27
+ # def production_loaded
28
+ # end
29
+ #
30
+ # # Hook #3. Called when the production, and all the scenes, have fully opened.
31
+ # def production_opened
32
+ # end
33
+ #
34
+ # # The system will call this methods when it wishes to close the production, perhaps when the user quits the
35
+ # # application. By default the production will always return true. You may override this behavior by re-implenting
36
+ # # the methods here.
37
+ # def allow_close?
38
+ # return true
39
+ # end
40
+ #
41
+ # # Called when the production is about to be closed.
42
+ # def production_closing
43
+ # end
44
+ #
45
+ # # Called when the production is fully closed.
46
+ # def production_closed
47
+ # end
48
+
49
+ end
@@ -0,0 +1,13 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
+
3
+ describe "Default Scene" do
4
+
5
+ uses_scene "default_scene", :hidden => true
6
+
7
+ it "should have default text" do
8
+ scene.children.size.should == 1
9
+ root = scene.children[0]
10
+ root.text.should == "This is the Default Scene scene."
11
+ end
12
+
13
+ end
@@ -0,0 +1,5 @@
1
+ require 'rubygems'
2
+ require 'spec'
3
+ require 'limelight/specs/spec_helper'
4
+
5
+ $PRODUCTION_PATH = File.expand_path(File.dirname(__FILE__) + "/../")
@@ -1,6 +1,9 @@
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
+
1
4
  stage "default" do
2
5
  default_scene "welcome"
3
6
  title "Limelight"
4
- location [200, 25]
5
- size [800, 800]
7
+ location :center, :center
8
+ size [900, 800]
6
9
  end
@@ -0,0 +1,12 @@
1
+ # This file, (styles.rb) in the root directory of the production, should define any styles that are used in multiple
2
+ # scenes. It makes use of the StyleBuilder DSL.
3
+ #
4
+ # For more information see: http://limelightwiki.8thlight.com/index.php/A_Cook%27s_Tour_of_Limelight#Styling_with_styles.rb
5
+ # For a complete listing of style attributes see: http://limelightwiki.8thlight.com/index.php/Style_Attributes
6
+
7
+ # An example style definition
8
+ #foo {
9
+ # width 100
10
+ # height 100
11
+ # background_color :blue
12
+ #}
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  module BrowseButton
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  module DownloadButton
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  module SandboxButton
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  __ :name => "root"
@@ -20,4 +20,4 @@ section do
20
20
  sandbox_button :text => "Open the Sandbox"
21
21
  end
22
22
  spacer :width => "100", :height => "110"
23
- copyright :text => "Copyright 2008 8th Light, Inc."
23
+ copyright :text => "Copyright 2008-2009 8th Light, Inc."
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  root {
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
@@ -1,3 +1,6 @@
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
+
1
4
  require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
2
5
  require 'limelight/builtin/players/image'
3
6
  require 'limelight/prop'
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
@@ -47,14 +47,14 @@ describe Limelight::Builtin::Players::RadioButton do
47
47
  prop3.group = "group 2"
48
48
 
49
49
  group1 = @scene.button_groups["group 1"]
50
- group1.elements.should include(@prop.radio_button)
51
- group1.elements.should include(prop2.radio_button)
52
- group1.elements.should_not include(prop3.radio_button)
50
+ group1.elements.include?(@prop.radio_button).should == true
51
+ group1.elements.include?(prop2.radio_button).should == true
52
+ group1.elements.include?(prop3.radio_button).should == false
53
53
 
54
54
  group2 = @scene.button_groups["group 2"]
55
- group2.elements.should_not include(@prop.radio_button)
56
- group2.elements.should_not include(prop2.radio_button)
57
- group2.elements.should include(prop3.radio_button)
55
+ group2.elements.include?(@prop.radio_button).should == false
56
+ group2.elements.include?(prop2.radio_button).should == false
57
+ group2.elements.include?(prop3.radio_button).should == true
58
58
 
59
59
  @prop.button_group.should == group1
60
60
  prop2.button_group.should == group1
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
@@ -0,0 +1,4 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
2
+ require 'limelight/specs/spec_helper'
3
+
4
+ $PRODUCTION_PATH = File.join($LIMELIGHT_LIB, 'limelight', 'builtin', 'utilities_production')
@@ -0,0 +1,143 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/spec_helper")
2
+
3
+ describe "Utilitites Production" do
4
+
5
+ uses_scene "none"
6
+
7
+ before(:each) do
8
+ production.production_opening
9
+ end
10
+
11
+ after(:each) do
12
+ @thread.kill if @thread
13
+ production.theater.stages.each { |stage| stage.close }
14
+ end
15
+
16
+ after(:all) do
17
+ # Java::java.awt.Frame.getFrames.each { |frame| frame.close; frame.dispose; puts frame }
18
+ # Java::limelight.util.Threads.showAll
19
+ end
20
+
21
+ it "should construct stage on load_with_incomptible_version_scene" do
22
+ production.load_incompatible_version_scene("Some Production", "1.2.3")
23
+ stage = production.theater["Incompatible Version"]
24
+ stage.should_not == nil
25
+ stage.location.should == ["center", "center"]
26
+ stage.size.should == ["400", "auto"]
27
+ stage.background_color.should == "#FFFFFF"
28
+ stage.framed?.should == false
29
+ stage.always_on_top?.should == true
30
+ stage.vital?.should == false
31
+ end
32
+
33
+ it "should not construct the incomptible_version stage twice" do
34
+ production.load_incompatible_version_scene("Some Production", "1.2.3")
35
+ stage = production.theater["Incompatible Version"]
36
+
37
+ lambda { production.load_incompatible_version_scene("Some Production", "1.2.3") }.should_not raise_error
38
+ end
39
+
40
+ it "should load the incomptible_version scene" do
41
+ production.load_incompatible_version_scene("Some Production", "1.2.3")
42
+ stage = production.theater["Incompatible Version"]
43
+
44
+ stage.current_scene.should_not == nil
45
+ scene = stage.current_scene
46
+ scene.find("production_name_label").text.should == "Some Production"
47
+ scene.find("required_version_label").text.should == "1.2.3"
48
+ scene.find("current_version_label").text.should == Limelight::VERSION::STRING
49
+ end
50
+
51
+ def start_proceed_with_incompatible_version()
52
+ @thread = Thread.new do
53
+ begin
54
+ @result = production.proceed_with_incompatible_version?("Some Production", "1.2.3")
55
+ rescue Exception => e
56
+ puts e
57
+ puts e.backtrace
58
+ end
59
+ end
60
+ end
61
+
62
+ def wait_for
63
+ 10.times do
64
+ return if yield
65
+ sleep(0.1)
66
+ end
67
+ raise "the desired condition was not met on time"
68
+ end
69
+
70
+ def scene_open?(stage_name)
71
+ stage = production.theater[stage_name]
72
+ return stage != nil && stage.current_scene != nil
73
+ end
74
+
75
+ it "should return true when clicking proceed" do
76
+ @result = nil
77
+ start_proceed_with_incompatible_version()
78
+ wait_for { scene_open?("Incompatible Version") }
79
+
80
+ scene = production.theater["Incompatible Version"].current_scene
81
+ scene.find("proceed_button").button_pressed(nil)
82
+ wait_for { !@thread.alive? }
83
+
84
+ @result.should == true
85
+ end
86
+
87
+ it "should return false when clicking cancel" do
88
+ @result = nil
89
+ start_proceed_with_incompatible_version()
90
+ wait_for { scene_open?("Incompatible Version") }
91
+
92
+ scene = production.theater["Incompatible Version"].current_scene
93
+ scene.find("cancel_button").button_pressed(nil)
94
+ wait_for { !@thread.alive? }
95
+
96
+ @result.should == false
97
+ end
98
+
99
+ def start_alert()
100
+ @thread = Thread.new do
101
+ begin
102
+ @result = production.alert("Some Message")
103
+ rescue Exception => e
104
+ puts e
105
+ puts e.backtrace
106
+ end
107
+ end
108
+ end
109
+
110
+ it "should construct alert stage" do
111
+ production.load_alert_scene("Some Message")
112
+ stage = production.theater["Alert"]
113
+ stage.should_not == nil
114
+ stage.location.should == ["center", "center"]
115
+ stage.size.should == ["400", "auto"]
116
+ stage.background_color.should == "#FFFFFF"
117
+ stage.framed?.should == false
118
+ stage.always_on_top?.should == true
119
+ stage.vital?.should == false
120
+ end
121
+
122
+ it "should load the incomptible_version scene" do
123
+ production.load_alert_scene("Some Message")
124
+ stage = production.theater["Alert"]
125
+
126
+ stage.current_scene.should_not == nil
127
+ scene = stage.current_scene
128
+ scene.find("title").text.should == "Limelight Alert"
129
+ scene.find("message").text.should == "Some Message"
130
+ end
131
+
132
+ it "should close the alert when clicking OK" do
133
+ start_alert
134
+ wait_for { scene_open?("Alert") }
135
+
136
+ scene = production.theater["Alert"].current_scene
137
+ scene.find("ok_button").button_pressed(nil)
138
+
139
+ wait_for { !@thread.alive? }
140
+ @result.should == true
141
+ end
142
+
143
+ end
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  require File.expand_path(File.dirname(__FILE__) + "/spec_helper")
@@ -39,7 +39,7 @@ describe Limelight::CastingDirector do
39
39
 
40
40
  $casted_props.length.should == 1
41
41
  $casted_props[0].should == @root
42
- $casted_players[0].name.should include("Root")
42
+ $casted_players[0].name.include?("Root").should == true
43
43
  @root.is_a?($casted_players[0]).should == true
44
44
  end
45
45
 
@@ -89,7 +89,7 @@ describe Limelight::CastingDirector do
89
89
  @casting_director.fill_cast(@root)
90
90
 
91
91
  $casted_props[0].should == @root
92
- $casted_players[0].name.should include("CustomPlayer");
92
+ $casted_players[0].name.include?("CustomPlayer").should == true
93
93
  @root.is_a?($casted_players[0]).should == true
94
94
  end
95
95
 
@@ -102,10 +102,10 @@ describe Limelight::CastingDirector do
102
102
  @casting_director.fill_cast(@root)
103
103
 
104
104
  $casted_props[0].should == @root
105
- $casted_players[0].name.should include("Root");
105
+ $casted_players[0].name.include?("Root").should == true
106
106
  @root.is_a?($casted_players[0]).should == true
107
107
  @root.is_a?(Limelight::Builtin::Players::Button).should == true
108
- $casted_players[1].name.should include("CustomPlayer");
108
+ $casted_players[1].name.include?("CustomPlayer").should == true
109
109
  @root.is_a?($casted_players[1]).should == true
110
110
  end
111
111
 
@@ -120,8 +120,8 @@ describe Limelight::CastingDirector do
120
120
  @casting_director.fill_cast(@root)
121
121
 
122
122
  $casted_props[0].should == @root
123
- $casted_players[0].name.should include("Root");
124
- $casted_players[1].name.should include("SharedPlayer");
123
+ $casted_players[0].name.include?("Root").should == true
124
+ $casted_players[1].name.include?("SharedPlayer").should == true
125
125
  @root.is_a?($casted_players[0]).should == true
126
126
  @root.is_a?($casted_players[1]).should == true
127
127
  end
@@ -1,3 +1,6 @@
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
+
1
4
  require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
5
  require 'limelight/client/playbills'
3
6
 
@@ -1,4 +1,4 @@
1
- #- Copyright 2008 8th Light, Inc. All Rights Reserved.
1
+ #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
2
  #- Limelight and all included source files are distributed under terms of the GNU LGPL.
3
3
 
4
4
  require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
@@ -15,4 +15,12 @@ describe Limelight::Commands::Command do
15
15
  Limelight::Commands::LISTING["mine"].should == myclass
16
16
  end
17
17
 
18
+ it "should load the open command" do
19
+ Limelight::Commands["open"].name.should == "Limelight::Commands::OpenCommand"
20
+ end
21
+
22
+ it "shouldn't crash on unknown commands" do
23
+ lambda { Limelight::Commands["blah"] }.should_not raise_error
24
+ end
25
+
18
26
  end
@@ -1,3 +1,6 @@
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
+
1
4
  require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
5
  require 'limelight/commands/create_command'
3
6
  require 'limelight/templates/production_templater'
@@ -23,7 +26,7 @@ describe Limelight::Commands::CreateCommand do
23
26
  production_templater = make_mock("production_templater")
24
27
  Limelight::Templates::ProductionTemplater.should_receive(:new).with("blah", "default_scene").and_return(production_templater)
25
28
  scene_templater = make_mock("scene_templater")
26
- Limelight::Templates::SceneTemplater.should_receive(:new).with("blah/default_scene").and_return(scene_templater)
29
+ Limelight::Templates::SceneTemplater.should_receive(:new).with("blah", "default_scene").and_return(scene_templater)
27
30
  production_templater.should_receive(:generate)
28
31
  scene_templater.should_receive(:generate)
29
32
 
@@ -33,12 +36,21 @@ describe Limelight::Commands::CreateCommand do
33
36
  it "should create a scene" do
34
37
  Limelight::Templates::ProductionTemplater.should_not_receive(:new)
35
38
  scene_templater = make_mock("scene_templater")
36
- Limelight::Templates::SceneTemplater.should_receive(:new).with("prod/some_scene").and_return(scene_templater)
39
+ Limelight::Templates::SceneTemplater.should_receive(:new).with(".", "prod/some_scene").and_return(scene_templater)
37
40
  scene_templater.should_receive(:generate)
38
41
 
39
42
  @command.run(["scene", "prod/some_scene"])
40
43
  end
41
44
 
45
+ it "should create a scene with specified production_path" do
46
+ Limelight::Templates::ProductionTemplater.should_not_receive(:new)
47
+ scene_templater = make_mock("scene_templater")
48
+ Limelight::Templates::SceneTemplater.should_receive(:new).with("prod", "some_scene").and_return(scene_templater)
49
+ scene_templater.should_receive(:generate)
50
+
51
+ @command.run(["-p", "prod", "scene", "some_scene"])
52
+ end
53
+
42
54
  it "should print useage on invalid template type" do
43
55
  @command.should_receive(:parse_error).at_least(:once)
44
56
 
@@ -54,21 +66,39 @@ describe Limelight::Commands::CreateCommand do
54
66
  it "should have a default scene name" do
55
67
  @command.parse ["production", "blah"]
56
68
 
57
- @command.default_scene_name.should == "default_scene"
69
+ @command.scene_name.should == "default_scene"
58
70
  @command.template_type.should == "production"
59
71
  @command.path.should == "blah"
60
72
  end
61
73
 
74
+ it "should have a default production path" do
75
+ @command.parse ["scene", "blah"]
76
+
77
+ @command.production_path.should == "."
78
+ end
79
+
62
80
  it "should parse a scene option" do
63
81
  @command.parse ["-s", "scene_name", "production", "blah"]
64
- @command.default_scene_name.should == "scene_name"
82
+ @command.scene_name.should == "scene_name"
65
83
  @command.template_type.should == "production"
66
84
  @command.path.should == "blah"
67
85
 
68
86
  @command.parse ["--scene=another_scene", "production", "blah"]
69
- @command.default_scene_name.should == "another_scene"
87
+ @command.scene_name.should == "another_scene"
70
88
  @command.template_type.should == "production"
71
89
  @command.path.should == "blah"
72
90
  end
73
91
 
92
+ it "should parse a production path option" do
93
+ @command.parse ["-p", "prod_path", "scene", "blah"]
94
+ @command.production_path.should == "prod_path"
95
+ @command.template_type.should == "scene"
96
+ @command.path.should == "blah"
97
+
98
+ @command.parse ["--production_path=prody_path", "scene", "blah"]
99
+ @command.production_path.should == "prody_path"
100
+ @command.template_type.should == "scene"
101
+ @command.path.should == "blah"
102
+ end
103
+
74
104
  end
@@ -1,3 +1,6 @@
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
+
1
4
  require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
5
  require 'limelight/commands/freeze_command'
3
6
 
@@ -1,3 +1,6 @@
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
+
1
4
  require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
5
  require 'limelight/commands/help_command'
3
6
 
@@ -23,9 +26,9 @@ describe Limelight::Commands::HelpCommand do
23
26
 
24
27
  Limelight::Commands::LISTING.keys.each do |key|
25
28
  if key[0...1] == "-"
26
- @mock_output.string.should_not include("\t#{key}")
29
+ @mock_output.string.include?("\t#{key}").should == false
27
30
  else
28
- @mock_output.string.should include("\t#{key}")
31
+ @mock_output.string.include?("\t#{key}").should == true
29
32
  end
30
33
  end
31
34
  end
@@ -33,7 +36,7 @@ describe Limelight::Commands::HelpCommand do
33
36
  it "should include options in the header" do
34
37
  @command.run([])
35
38
 
36
- @mock_output.string.should include("[--version]")
39
+ @mock_output.string.include?("[--version]").should == true
37
40
  end
38
41
 
39
42
  end
@@ -1,3 +1,6 @@
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
+
1
4
  require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
5
  require 'limelight/commands/open_command'
3
6
  require 'limelight/producer'
@@ -15,16 +18,35 @@ describe Limelight::Commands::OpenCommand do
15
18
 
16
19
  it "should open a production" do
17
20
  Limelight::Main.should_receive(:initialize_context)
18
- Limelight::Producer.should_receive(:open).with("production_name")
21
+ Limelight::Studio.should_receive(:open).with("production_name")
19
22
 
20
23
  @command.run(["production_name"])
21
24
  end
22
25
 
23
26
  it "should open the default production" do
24
27
  Limelight::Main.should_receive(:initialize_context)
25
- Limelight::Producer.should_receive(:open).with(@command_class::DEFAULT_PRODUCTION)
28
+ Limelight::Studio.should_receive(:open).with(@command_class::DEFAULT_PRODUCTION)
26
29
 
27
30
  @command.run([])
28
31
  end
29
32
 
33
+ it "should parse drp_port option" do
34
+ @command.parse ["production_path"]
35
+ @command.drb_port.should == nil
36
+
37
+ @command.parse ["-d", "1234", "some_prod"]
38
+ @command.drb_port.should == "1234"
39
+
40
+ @command.parse ["--drb_port=4321", "some_prod"]
41
+ @command.drb_port.should == "4321"
42
+ end
43
+
44
+ it "should start the studio on drb" do
45
+ Limelight::Main.should_receive(:initialize_context)
46
+ Limelight::Studio.should_receive(:publish_on_drb).with(1234)
47
+ Limelight::Studio.should_receive(:open).with("some_prod")
48
+
49
+ @command.run ["-d", "1234", "some_prod"]
50
+ end
51
+
30
52
  end
@@ -1,3 +1,6 @@
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
+
1
4
  require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
5
  require 'limelight/commands/pack_command'
3
6
 
@@ -1,3 +1,6 @@
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
+
1
4
  require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
5
  require 'limelight/commands/unpack_command'
3
6
 
@@ -38,7 +41,7 @@ describe Limelight::Commands::UnpackCommand do
38
41
  it "print the unpacked location" do
39
42
  @command.run(["production_to_pack"])
40
43
 
41
- @mock_output.string.should include("Production was unpacked to: unpacked location")
44
+ @mock_output.string.include?("Production was unpacked to: unpacked location").should == true
42
45
  end
43
46
 
44
47
  end