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