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