epall-limelight 0.5.1-java → 0.5.2-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.
- data/lib/init.rb +2 -6
- data/lib/limelight.jar +0 -0
- data/lib/limelight/builtin/utilities_production/alert/players/alert.rb +4 -1
- data/lib/limelight/builtin/utilities_production/production.rb +6 -2
- data/lib/limelight/commands/create_command.rb +1 -1
- data/lib/limelight/commands/open_command.rb +4 -4
- data/lib/limelight/dsl/styles_builder.rb +5 -0
- data/lib/limelight/java_couplings.rb +3 -2
- data/lib/limelight/limelight_init.rb +12 -0
- data/lib/limelight/main.rb +43 -46
- data/lib/limelight/producer.rb +54 -13
- data/lib/limelight/production.rb +34 -7
- data/lib/limelight/scene.rb +1 -1
- data/lib/limelight/specs/spec_helper.rb +1 -1
- data/lib/limelight/specs/test_scene_opener.rb +3 -0
- data/lib/limelight/stage.rb +65 -5
- data/lib/limelight/studio.rb +28 -159
- data/lib/limelight/styles/style.rb +288 -0
- data/lib/limelight/theater.rb +27 -2
- data/lib/limelight/version.rb +2 -2
- data/productions/examples/sandbox/alerts/players/alerts.rb +1 -1
- data/productions/examples/sandbox/stage_handles/players/sizer.rb +3 -0
- data/spec/limelight/builtin/players/combo_box_spec.rb +1 -1
- data/spec/limelight/builtin/players/radio_button_spec.rb +1 -1
- data/spec/limelight/builtin/utilities_production/utilities_production_spec.rb +39 -38
- data/spec/limelight/casting_director_spec.rb +1 -1
- data/spec/limelight/commands/create_command_spec.rb +4 -4
- data/spec/limelight/commands/open_command_spec.rb +5 -4
- data/spec/limelight/commands/pack_command_spec.rb +1 -1
- data/spec/limelight/commands/unpack_command_spec.rb +1 -1
- data/spec/limelight/dsl/prop_builder_spec.rb +6 -6
- data/spec/limelight/dsl/stage_builder_spec.rb +1 -1
- data/spec/limelight/file_chooser_spec.rb +1 -1
- data/spec/limelight/file_filter_spec.rb +2 -2
- data/spec/limelight/main_spec.rb +2 -2
- data/spec/limelight/paint_action_spec.rb +1 -1
- data/spec/limelight/pen_spec.rb +1 -1
- data/spec/limelight/producer_spec.rb +30 -11
- data/spec/limelight/production_spec.rb +12 -20
- data/spec/limelight/prop_spec.rb +2 -2
- data/spec/limelight/scene_spec.rb +1 -1
- data/spec/limelight/stage_spec.rb +51 -6
- data/spec/limelight/templates/templater_spec.rb +1 -1
- data/spec/limelight/theater_spec.rb +49 -1
- data/spec/spec_helper.rb +0 -6
- metadata +5 -7
- data/lib/limelight/client/playbills.rb +0 -86
- data/lib/limelight/styles.rb +0 -347
- data/spec/limelight/client/playbills_spec.rb +0 -79
- data/spec/limelight/studio_spec.rb +0 -157
data/lib/limelight/theater.rb
CHANGED
@@ -15,7 +15,8 @@ module Limelight
|
|
15
15
|
#
|
16
16
|
attr_reader :active_stage
|
17
17
|
|
18
|
-
def initialize
|
18
|
+
def initialize(production)
|
19
|
+
@production = production
|
19
20
|
@stages = {}
|
20
21
|
end
|
21
22
|
|
@@ -46,17 +47,27 @@ module Limelight
|
|
46
47
|
return stage
|
47
48
|
end
|
48
49
|
|
49
|
-
# Lets the Theater know which stage
|
50
|
+
# Invoked when a stage, blonging to this theater becomes active. Lets the Theater know which stage
|
51
|
+
# has the limelight (currently active). Only 1 stage may be active at a time.
|
50
52
|
#
|
51
53
|
def stage_activated(stage)
|
52
54
|
@active_stage = stage
|
53
55
|
end
|
54
56
|
|
57
|
+
# Invoked when a stage, belonging to this theater, loose it's status as the active stage. The active_stage is
|
58
|
+
# cleared. Only 1 stage may be active at a time.
|
59
|
+
#
|
60
|
+
def stage_deactivated(stage)
|
61
|
+
@active_stage = nil
|
62
|
+
@production.theater_empty! if !any_visible_stages?
|
63
|
+
end
|
64
|
+
|
55
65
|
# Removes the stage from this theater.
|
56
66
|
#
|
57
67
|
def stage_closed(stage)
|
58
68
|
@stages.delete(stage.name)
|
59
69
|
@active_stage = nil if @active_stage == stage
|
70
|
+
@production.theater_empty! if @stages.empty? || !any_visible_stages?
|
60
71
|
end
|
61
72
|
|
62
73
|
# If no Stages are added, the Theater will provide a default Stage named "Limelight".
|
@@ -66,11 +77,25 @@ module Limelight
|
|
66
77
|
return self["Limelight"]
|
67
78
|
end
|
68
79
|
|
80
|
+
# Close this theater. All stages in this theater will be closed and the active_stage will be nil'ed.
|
81
|
+
#
|
82
|
+
def close
|
83
|
+
@stages.values.each { |stage| stage.close }
|
84
|
+
@stages.clear
|
85
|
+
@active_stage = nil
|
86
|
+
end
|
87
|
+
|
69
88
|
protected #############################################
|
70
89
|
|
71
90
|
def build_stage(name, options)
|
72
91
|
return Limelight::Stage.new(self, name, options)
|
73
92
|
end
|
93
|
+
|
94
|
+
private ###############################################
|
95
|
+
|
96
|
+
def any_visible_stages?
|
97
|
+
return @stages.values.any? { |s| s.visible? }
|
98
|
+
end
|
74
99
|
|
75
100
|
end
|
76
101
|
|
data/lib/limelight/version.rb
CHANGED
@@ -6,7 +6,7 @@ module Limelight
|
|
6
6
|
unless defined? MAJOR
|
7
7
|
MAJOR = 0
|
8
8
|
MINOR = 5
|
9
|
-
TINY =
|
9
|
+
TINY = 2
|
10
10
|
|
11
11
|
STRING = [MAJOR, MINOR, TINY].join('.')
|
12
12
|
TAG = "REL_" + [MAJOR, MINOR, TINY].join('_')
|
@@ -17,4 +17,4 @@ module Limelight
|
|
17
17
|
DESCRIPTION = "#{NAME}-#{STRING} - Limelight\n#{URL}"
|
18
18
|
end
|
19
19
|
end
|
20
|
-
end
|
20
|
+
end
|
@@ -11,7 +11,7 @@ module Alerts
|
|
11
11
|
|
12
12
|
def open_incompatible_production
|
13
13
|
production_path = File.join(path, "incompatible_production")
|
14
|
-
Thread.new { Limelight::
|
14
|
+
Thread.new { Limelight::Context.instance.studio.open(production_path) }
|
15
15
|
end
|
16
16
|
|
17
17
|
end
|
@@ -9,7 +9,7 @@ require 'limelight/builtin/players/combo_box'
|
|
9
9
|
describe Limelight::Builtin::Players::ComboBox do
|
10
10
|
|
11
11
|
before(:each) do
|
12
|
-
@scene = Limelight::Scene.new(:casting_director =>
|
12
|
+
@scene = Limelight::Scene.new(:casting_director => mock("caster", :fill_cast => nil))
|
13
13
|
@prop = Limelight::Prop.new(:scene => @scene)
|
14
14
|
@prop.include_player(Limelight::Builtin::Players::ComboBox)
|
15
15
|
end
|
@@ -9,7 +9,7 @@ require 'limelight/builtin/players/radio_button'
|
|
9
9
|
describe Limelight::Builtin::Players::RadioButton do
|
10
10
|
|
11
11
|
before(:each) do
|
12
|
-
@scene = Limelight::Scene.new(:casting_director =>
|
12
|
+
@scene = Limelight::Scene.new(:casting_director => mock("caster", :fill_cast => nil))
|
13
13
|
@prop = Limelight::Prop.new
|
14
14
|
@scene << @prop
|
15
15
|
@prop.include_player(Limelight::Builtin::Players::RadioButton)
|
@@ -5,9 +5,10 @@ require File.expand_path(File.dirname(__FILE__) + "/spec_helper")
|
|
5
5
|
|
6
6
|
describe "Utilitites Production" do
|
7
7
|
|
8
|
-
|
8
|
+
uses_limelight
|
9
9
|
|
10
10
|
before(:each) do
|
11
|
+
@result = nil
|
11
12
|
production.production_opening
|
12
13
|
end
|
13
14
|
|
@@ -17,8 +18,43 @@ describe "Utilitites Production" do
|
|
17
18
|
end
|
18
19
|
|
19
20
|
after(:all) do
|
20
|
-
|
21
|
-
|
21
|
+
# Java::java.awt.Frame.getFrames.each { |frame| frame.close; frame.dispose; puts frame }
|
22
|
+
# Java::limelight.util.Threads.showAll
|
23
|
+
end
|
24
|
+
|
25
|
+
def start_alert()
|
26
|
+
@thread = Thread.new do
|
27
|
+
begin
|
28
|
+
@result = production.alert("Some Message")
|
29
|
+
rescue Exception => e
|
30
|
+
puts e
|
31
|
+
puts e.backtrace
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def start_proceed_with_incompatible_version()
|
37
|
+
@thread = Thread.new do
|
38
|
+
begin
|
39
|
+
@result = production.proceed_with_incompatible_version?("Some Production", "1.2.3")
|
40
|
+
rescue Exception => e
|
41
|
+
puts e
|
42
|
+
puts e.backtrace
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def wait_for
|
48
|
+
10.times do
|
49
|
+
return if yield
|
50
|
+
sleep(0.1)
|
51
|
+
end
|
52
|
+
raise "the desired condition was not met on time"
|
53
|
+
end
|
54
|
+
|
55
|
+
def scene_open?(stage_name)
|
56
|
+
stage = production.theater[stage_name]
|
57
|
+
return stage != nil && stage.current_scene != nil
|
22
58
|
end
|
23
59
|
|
24
60
|
it "should construct stage on load_with_incomptible_version_scene" do
|
@@ -51,30 +87,6 @@ describe "Utilitites Production" do
|
|
51
87
|
scene.find("current_version_label").text.should == Limelight::VERSION::STRING
|
52
88
|
end
|
53
89
|
|
54
|
-
def start_proceed_with_incompatible_version()
|
55
|
-
@thread = Thread.new do
|
56
|
-
begin
|
57
|
-
@result = production.proceed_with_incompatible_version?("Some Production", "1.2.3")
|
58
|
-
rescue Exception => e
|
59
|
-
puts e
|
60
|
-
puts e.backtrace
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
def wait_for
|
66
|
-
10.times do
|
67
|
-
return if yield
|
68
|
-
sleep(0.1)
|
69
|
-
end
|
70
|
-
raise "the desired condition was not met on time"
|
71
|
-
end
|
72
|
-
|
73
|
-
def scene_open?(stage_name)
|
74
|
-
stage = production.theater[stage_name]
|
75
|
-
return stage != nil && stage.current_scene != nil
|
76
|
-
end
|
77
|
-
|
78
90
|
it "should return true when clicking proceed" do
|
79
91
|
@result = nil
|
80
92
|
start_proceed_with_incompatible_version()
|
@@ -99,17 +111,6 @@ describe "Utilitites Production" do
|
|
99
111
|
@result.should == false
|
100
112
|
end
|
101
113
|
|
102
|
-
def start_alert()
|
103
|
-
@thread = Thread.new do
|
104
|
-
begin
|
105
|
-
@result = production.alert("Some Message")
|
106
|
-
rescue Exception => e
|
107
|
-
puts e
|
108
|
-
puts e.backtrace
|
109
|
-
end
|
110
|
-
end
|
111
|
-
end
|
112
|
-
|
113
114
|
it "should construct alert stage" do
|
114
115
|
production.load_alert_scene("Some Message")
|
115
116
|
stage = production.theater["Alert"]
|
@@ -13,7 +13,7 @@ describe Limelight::CastingDirector do
|
|
13
13
|
TestDir.clean
|
14
14
|
$casted_props = []
|
15
15
|
$casted_players = []
|
16
|
-
@scene = Limelight::Scene.new(:casting_director =>
|
16
|
+
@scene = Limelight::Scene.new(:casting_director => mock("casting_director", :fill_cast => nil), :path => TestDir.path("scene_path"))
|
17
17
|
@scene.illuminate
|
18
18
|
@loader = Limelight::FileLoader.for_root(TestDir.root)
|
19
19
|
@casting_director = Limelight::CastingDirector.new(@loader)
|
@@ -23,9 +23,9 @@ describe Limelight::Commands::CreateCommand do
|
|
23
23
|
end
|
24
24
|
|
25
25
|
it "should create a production" do
|
26
|
-
production_templater =
|
26
|
+
production_templater = mock("production_templater")
|
27
27
|
Limelight::Templates::ProductionTemplater.should_receive(:new).and_return(production_templater)
|
28
|
-
scene_templater =
|
28
|
+
scene_templater = mock("scene_templater")
|
29
29
|
Limelight::Templates::SceneTemplater.should_receive(:new).and_return(scene_templater)
|
30
30
|
production_templater.should_receive(:generate)
|
31
31
|
scene_templater.should_receive(:generate)
|
@@ -35,7 +35,7 @@ describe Limelight::Commands::CreateCommand do
|
|
35
35
|
|
36
36
|
it "should create a scene" do
|
37
37
|
Limelight::Templates::ProductionTemplater.should_not_receive(:new)
|
38
|
-
scene_templater =
|
38
|
+
scene_templater = mock("scene_templater")
|
39
39
|
Limelight::Templates::SceneTemplater.should_receive(:new).and_return(scene_templater)
|
40
40
|
scene_templater.should_receive(:generate)
|
41
41
|
|
@@ -60,7 +60,7 @@ describe Limelight::Commands::CreateCommand do
|
|
60
60
|
@command.scene_name.should == "default_scene"
|
61
61
|
@command.template_type.should == "production"
|
62
62
|
@command.production_path.should == "blah"
|
63
|
-
@command.spec_path.should == "
|
63
|
+
@command.spec_path.should == "spec"
|
64
64
|
end
|
65
65
|
|
66
66
|
it "should have a default production path" do
|
@@ -8,6 +8,7 @@ require 'limelight/producer'
|
|
8
8
|
describe Limelight::Commands::OpenCommand do
|
9
9
|
|
10
10
|
before(:all) do
|
11
|
+
@studio = Limelight::Studio.install
|
11
12
|
@command_class = Limelight::Commands::OpenCommand
|
12
13
|
@command = @command_class.new
|
13
14
|
end
|
@@ -18,14 +19,14 @@ describe Limelight::Commands::OpenCommand do
|
|
18
19
|
|
19
20
|
it "should open a production" do
|
20
21
|
Limelight::Main.should_receive(:initialize_context)
|
21
|
-
|
22
|
+
@studio.should_receive(:open).with("production_name")
|
22
23
|
|
23
24
|
@command.run(["production_name"])
|
24
25
|
end
|
25
26
|
|
26
27
|
it "should open the default production" do
|
27
28
|
Limelight::Main.should_receive(:initialize_context)
|
28
|
-
|
29
|
+
@studio.should_receive(:open).with(@command_class::DEFAULT_PRODUCTION)
|
29
30
|
|
30
31
|
@command.run([])
|
31
32
|
end
|
@@ -43,8 +44,8 @@ describe Limelight::Commands::OpenCommand do
|
|
43
44
|
|
44
45
|
it "should start the studio on drb" do
|
45
46
|
Limelight::Main.should_receive(:initialize_context)
|
46
|
-
|
47
|
-
|
47
|
+
@studio.should_receive(:publish_on_drb).with(1234)
|
48
|
+
@studio.should_receive(:open).with("some_prod")
|
48
49
|
|
49
50
|
@command.run ["-d", "1234", "some_prod"]
|
50
51
|
end
|
@@ -16,7 +16,7 @@ describe Limelight::Commands::PackCommand do
|
|
16
16
|
end
|
17
17
|
|
18
18
|
it "should pack a production" do
|
19
|
-
mock_packer =
|
19
|
+
mock_packer = mock("packer")
|
20
20
|
Limelight::Util::Packer.should_receive(:new).and_return(mock_packer)
|
21
21
|
mock_packer.should_receive(:pack).with("production_to_pack")
|
22
22
|
|
@@ -15,7 +15,7 @@ describe Limelight::Commands::UnpackCommand do
|
|
15
15
|
@mock_output = StringIO.new
|
16
16
|
Limelight::Commands.output = @mock_output
|
17
17
|
|
18
|
-
@mock_unpacker =
|
18
|
+
@mock_unpacker = mock("unpacker")
|
19
19
|
Limelight::Util::Packer.stub!(:new).and_return(@mock_unpacker)
|
20
20
|
@mock_unpacker.stub!(:unpack).and_return "unpacked location"
|
21
21
|
|
@@ -7,7 +7,7 @@ require 'limelight/dsl/prop_builder'
|
|
7
7
|
describe Limelight::DSL::PropBuilder do
|
8
8
|
|
9
9
|
before(:each) do
|
10
|
-
@caster =
|
10
|
+
@caster = mock("caster", :fill_cast => nil)
|
11
11
|
@scene = Limelight::Scene.new(:name => "root", :casting_director => @caster)
|
12
12
|
end
|
13
13
|
|
@@ -118,7 +118,7 @@ describe Limelight::DSL::PropBuilder do
|
|
118
118
|
end
|
119
119
|
|
120
120
|
it "should install external props" do
|
121
|
-
loader =
|
121
|
+
loader = mock("loader", :exists? => true)
|
122
122
|
loader.should_receive(:load).with("external.rb").and_return("child :id => 123")
|
123
123
|
|
124
124
|
root = Limelight::build_props(@scene, :id => 321, :build_loader => loader, :casting_director => @caster) do
|
@@ -145,7 +145,7 @@ describe Limelight::DSL::PropBuilder do
|
|
145
145
|
end
|
146
146
|
|
147
147
|
it "should fail when the external file doesn't exist" do
|
148
|
-
loader =
|
148
|
+
loader = mock("loader")
|
149
149
|
loader.should_receive(:exists?).with("external.rb").and_return(false)
|
150
150
|
|
151
151
|
begin
|
@@ -158,7 +158,7 @@ describe Limelight::DSL::PropBuilder do
|
|
158
158
|
end
|
159
159
|
|
160
160
|
it "should fail with PropException when there's problem in the external file" do
|
161
|
-
loader =
|
161
|
+
loader = mock("loader", :exists? => true)
|
162
162
|
loader.should_receive(:load).with("external.rb").and_return("+")
|
163
163
|
|
164
164
|
begin
|
@@ -172,7 +172,7 @@ describe Limelight::DSL::PropBuilder do
|
|
172
172
|
|
173
173
|
it "should build onto an existing block" do
|
174
174
|
prop = Limelight::Prop.new
|
175
|
-
scene = Limelight::Scene.new(:casting_director =>
|
175
|
+
scene = Limelight::Scene.new(:casting_director => mock(:casting_director, :fill_cast => nil))
|
176
176
|
scene << prop
|
177
177
|
builder = Limelight::DSL::PropBuilder.new(prop)
|
178
178
|
block = Proc.new { one; two { three } }
|
@@ -229,7 +229,7 @@ describe Limelight::DSL::PropBuilder do
|
|
229
229
|
end
|
230
230
|
|
231
231
|
it "should allow instance_variable when installing an external props file" do
|
232
|
-
loader =
|
232
|
+
loader = mock("loader", :exists? => true)
|
233
233
|
loader.should_receive(:load).with("external.rb").and_return("child :id => @desired_id")
|
234
234
|
|
235
235
|
root = Limelight::build_props(@scene, :id => 321, :build_loader => loader, :casting_director => @caster) do
|
@@ -44,7 +44,7 @@ describe Limelight::FileChooser do
|
|
44
44
|
it "should return the absolute path if a file was selected" do
|
45
45
|
chooser = Limelight::FileChooser.new(:parent => "parent")
|
46
46
|
chooser.chooser.should_receive(:showOpenDialog).with("parent").and_return(javax.swing.JFileChooser::APPROVE_OPTION)
|
47
|
-
selected_file =
|
47
|
+
selected_file = mock("selected file", :absolute_path => "selected file's absolute path")
|
48
48
|
chooser.chooser.should_receive(:getSelectedFile).and_return(selected_file)
|
49
49
|
|
50
50
|
chooser.choose_file.should == "selected file's absolute path"
|
@@ -20,8 +20,8 @@ describe Limelight::FileFilter do
|
|
20
20
|
filter = Limelight::FileFilter.new("Some Description") { |file| file.name == "good" }
|
21
21
|
|
22
22
|
filter.getDescription().should == "Some Description"
|
23
|
-
bad_file =
|
24
|
-
good_file =
|
23
|
+
bad_file = mock("file", :name => "bad")
|
24
|
+
good_file = mock("file", :name => "good")
|
25
25
|
filter.accept(bad_file).should == false
|
26
26
|
filter.accept(good_file).should == true
|
27
27
|
end
|
data/spec/limelight/main_spec.rb
CHANGED
@@ -12,8 +12,8 @@ describe Limelight::Main do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
it "should run the specified command" do
|
15
|
-
command_class =
|
16
|
-
command =
|
15
|
+
command_class = mock("command_class")
|
16
|
+
command = mock("command")
|
17
17
|
|
18
18
|
Limelight::Commands.should_receive(:[]).with("mock").and_return(command_class)
|
19
19
|
command_class.should_receive(:new).and_return(command)
|
@@ -20,7 +20,7 @@ describe Limelight::PaintAction do
|
|
20
20
|
local_pen = nil
|
21
21
|
action = Limelight::PaintAction.new { |pen| local_pen = pen }
|
22
22
|
|
23
|
-
graphics =
|
23
|
+
graphics = mock("graphics", :setColor => nil, :setStroke => nil, :setRenderingHint => nil)
|
24
24
|
action.invoke(graphics)
|
25
25
|
|
26
26
|
local_pen.class.should == Limelight::Pen
|
data/spec/limelight/pen_spec.rb
CHANGED
@@ -7,7 +7,7 @@ require 'limelight/pen'
|
|
7
7
|
describe Limelight::Pen do
|
8
8
|
|
9
9
|
before(:each) do
|
10
|
-
@context =
|
10
|
+
@context = mock("context", :setColor => nil, :setStroke => nil, :setRenderingHint => nil)
|
11
11
|
@pen = Limelight::Pen.new(@context)
|
12
12
|
end
|
13
13
|
|
@@ -8,9 +8,10 @@ describe Limelight::Producer do
|
|
8
8
|
|
9
9
|
before(:each) do
|
10
10
|
TestDir.clean
|
11
|
-
Limelight::Studio.
|
11
|
+
Limelight::Studio.uninstall
|
12
12
|
@root_dir = TestDir.path("test_prod")
|
13
13
|
@producer = Limelight::Producer.new(@root_dir)
|
14
|
+
Limelight::Studio.install
|
14
15
|
end
|
15
16
|
|
16
17
|
it "should have loader on creation" do
|
@@ -18,7 +19,7 @@ describe Limelight::Producer do
|
|
18
19
|
end
|
19
20
|
|
20
21
|
it "should take an optional theater on creation" do
|
21
|
-
theater =
|
22
|
+
theater = mock("theater")
|
22
23
|
producer = Limelight::Producer.new("/tmp", theater)
|
23
24
|
|
24
25
|
producer.theater.should == theater
|
@@ -32,7 +33,7 @@ describe Limelight::Producer do
|
|
32
33
|
it "should load props" do
|
33
34
|
TestDir.create_file("test_prod/props.rb", "child :id => 321")
|
34
35
|
|
35
|
-
scene = @producer.load_props(:path => TestDir.path("test_prod"), :casting_director =>
|
36
|
+
scene = @producer.load_props(:path => TestDir.path("test_prod"), :casting_director => mock("casting_director", :fill_cast => nil))
|
36
37
|
scene.illuminate
|
37
38
|
scene.children.size.should == 1
|
38
39
|
scene.children[0].name.should == "child"
|
@@ -40,7 +41,7 @@ describe Limelight::Producer do
|
|
40
41
|
end
|
41
42
|
|
42
43
|
it "should load props even when props.rd doesn't exist." do
|
43
|
-
scene = @producer.load_props(:path => TestDir.path("test_prod"), :casting_director =>
|
44
|
+
scene = @producer.load_props(:path => TestDir.path("test_prod"), :casting_director => mock("casting_director", :fill_cast => nil))
|
44
45
|
scene.children.size.should == 0
|
45
46
|
end
|
46
47
|
|
@@ -52,7 +53,7 @@ describe Limelight::Producer do
|
|
52
53
|
|
53
54
|
it "should load styles" do
|
54
55
|
TestDir.create_file("test_prod/styles.rb", "alpha { width 100 }")
|
55
|
-
Limelight::
|
56
|
+
Limelight::Producer.stub!(:builtin_styles).and_return({})
|
56
57
|
|
57
58
|
styles = @producer.load_styles(Limelight::Scene.new(:path => TestDir.path("test_prod")))
|
58
59
|
styles.size.should == 1
|
@@ -65,7 +66,7 @@ describe Limelight::Producer do
|
|
65
66
|
# TestDir.create_file("test_prod/props.rb", "one\n+\nthree")
|
66
67
|
#
|
67
68
|
# begin
|
68
|
-
# result = @producer.load_props(:path => TestDir.path("test_prod"), :casting_director =>
|
69
|
+
# result = @producer.load_props(:path => TestDir.path("test_prod"), :casting_director => mock("casting_director", :fill_cast => nil))
|
69
70
|
# result.should == nil # should never perform
|
70
71
|
# rescue Limelight::DSL::BuildException => e
|
71
72
|
# e.line_number.should == 3
|
@@ -131,8 +132,8 @@ describe Limelight::Producer do
|
|
131
132
|
end
|
132
133
|
|
133
134
|
it "should open a scene" do
|
134
|
-
stage =
|
135
|
-
scene =
|
135
|
+
stage = mock("stage")
|
136
|
+
scene = mock("scene")
|
136
137
|
@producer.should_receive(:load_props).with(:production => @producer.production, :casting_director => anything, :path => TestDir.path("test_prod/name"), :name => "name").and_return(scene)
|
137
138
|
@producer.should_receive(:load_styles).and_return("styles")
|
138
139
|
scene.should_receive(:styles=)
|
@@ -142,7 +143,7 @@ describe Limelight::Producer do
|
|
142
143
|
end
|
143
144
|
|
144
145
|
it "should load empty styles if styles.rb doesn't exist" do
|
145
|
-
Limelight::
|
146
|
+
Limelight::Producer.stub!(:builtin_styles).and_return({})
|
146
147
|
|
147
148
|
@producer.load_styles(Limelight::Scene.new(:path => TestDir.path("test_prod"))).should == {}
|
148
149
|
end
|
@@ -197,8 +198,8 @@ describe Limelight::Producer do
|
|
197
198
|
end
|
198
199
|
|
199
200
|
it "should allow options such as instance variables to be passed to open_scene" do
|
200
|
-
stage =
|
201
|
-
scene =
|
201
|
+
stage = mock("stage")
|
202
|
+
scene = mock("scene")
|
202
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)
|
203
204
|
@producer.should_receive(:load_styles).and_return("styles")
|
204
205
|
scene.should_receive(:styles=)
|
@@ -207,4 +208,22 @@ describe Limelight::Producer do
|
|
207
208
|
@producer.open_scene("name", stage, :instance_variables => { :foo => "bar" })
|
208
209
|
end
|
209
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 = mock("production", :theater => theater, :closed? => false)
|
219
|
+
production.should_receive(:closed=).with(true)
|
220
|
+
production.should_receive(:production_closing)
|
221
|
+
theater.should_receive(:close)
|
222
|
+
production.should_receive(:production_closed)
|
223
|
+
Limelight::Context.instance.studio.should_receive(:production_closed).with(production)
|
224
|
+
|
225
|
+
close_thread = @producer.close(production)
|
226
|
+
close_thread.join()
|
227
|
+
end
|
228
|
+
|
210
229
|
end
|