limelight 0.2.1-java → 0.3.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/ll.bat +1 -1
- data/lib/i4jruntime.jar +0 -0
- data/lib/junit-4.4.jar +0 -0
- data/lib/limelight.jar +0 -0
- data/lib/limelight/animation.rb +3 -3
- data/lib/limelight/builtin/players.rb +2 -1
- data/lib/limelight/builtin/players/combo_box.rb +8 -2
- data/lib/limelight/builtin/players/image.rb +47 -0
- data/lib/limelight/builtin/styles.rb +1 -1
- data/lib/limelight/casting_director.rb +70 -39
- data/lib/limelight/commands/command.rb +150 -0
- data/lib/limelight/commands/create_command.rb +79 -0
- data/lib/limelight/commands/freeze_command.rb +113 -0
- data/lib/limelight/commands/open_command.rb +49 -0
- data/lib/limelight/commands/pack_command.rb +45 -0
- data/lib/limelight/dsl/build_exception.rb +51 -0
- data/lib/limelight/dsl/menu_bar.rb +71 -0
- data/lib/limelight/dsl/production_builder.rb +71 -0
- data/lib/limelight/dsl/prop_builder.rb +155 -0
- data/lib/limelight/dsl/stage_builder.rb +105 -0
- data/lib/limelight/dsl/styles_builder.rb +134 -0
- data/lib/limelight/file_loader.rb +46 -0
- data/lib/limelight/gems.rb +45 -0
- data/lib/limelight/java_couplings.rb +7 -2
- data/lib/limelight/java_util.rb +2 -15
- data/lib/limelight/main.rb +7 -5
- data/lib/limelight/producer.rb +87 -66
- data/lib/limelight/production.rb +42 -4
- data/lib/limelight/prop.rb +84 -70
- data/lib/limelight/scene.rb +75 -20
- data/lib/limelight/specs/spec_helper.rb +58 -0
- data/lib/limelight/stage.rb +11 -6
- data/lib/limelight/string.rb +35 -0
- data/lib/limelight/studio.rb +29 -0
- data/lib/limelight/templates/production_templater.rb +42 -0
- data/lib/limelight/templates/scene_templater.rb +41 -0
- data/lib/limelight/templates/sources/freezing/limelight_init.rb.template +5 -0
- data/lib/limelight/templates/sources/production/init.rb.template +15 -0
- data/lib/limelight/templates/sources/production/production.rb.template +9 -0
- data/lib/limelight/templates/sources/production/stages.rb.template +17 -0
- data/lib/limelight/templates/sources/production/styles.rb.template +12 -0
- data/lib/limelight/templates/sources/scene/props.rb.template +6 -0
- data/lib/limelight/templates/sources/scene/styles.rb.template +18 -0
- data/lib/limelight/templates/templater.rb +128 -0
- data/lib/limelight/templates/templater_logger.rb +36 -0
- data/lib/limelight/theater.rb +21 -7
- data/lib/limelight/util.rb +22 -6
- data/lib/limelight/version.rb +2 -2
- data/productions/examples/8thlight.com/styles.rb +1 -1
- data/productions/examples/langstons_ant/html_javascript/ant.html +1 -1
- data/productions/examples/langstons_ant/init.rb +1 -0
- data/productions/examples/langstons_ant/players/log.rb +2 -2
- data/productions/examples/langstons_ant/players/world.rb +0 -26
- data/productions/examples/sandbox.llp +0 -0
- data/productions/examples/sandbox/click_me/players/chromaton.rb +10 -4
- data/productions/examples/sandbox/floaters/players/floater.rb +4 -2
- data/productions/examples/sandbox/gradients/players/spinner.rb +5 -1
- data/productions/examples/sandbox/gradients/players/teaser.rb +2 -2
- data/productions/examples/sandbox/gradients/players/wave.rb +2 -2
- data/productions/examples/sandbox/gradients/players/waves.rb +2 -2
- data/productions/examples/sandbox/header.rb +1 -0
- data/productions/examples/sandbox/images/logo.png +0 -0
- data/productions/examples/sandbox/images_scene/props.rb +25 -0
- data/productions/examples/sandbox/images_scene/styles.rb +30 -0
- data/productions/examples/sandbox/inputs/styles.rb +1 -1
- data/productions/examples/sandbox/scrolling/props.rb +12 -12
- data/productions/examples/sandbox/teaser/players/fader.rb +2 -8
- data/productions/stage_composer/inspector/styles.rb +2 -2
- data/productions/startup/styles.rb +2 -2
- data/spec/builtin/players/button_spec.rb +0 -1
- data/spec/builtin/players/image_spec.rb +41 -0
- data/spec/casting_director_spec.rb +114 -44
- data/spec/commands/command_spec.rb +18 -0
- data/spec/commands/create_command_spec.rb +74 -0
- data/spec/commands/freeze_command_spec.rb +59 -0
- data/spec/commands/open_command_spec.rb +30 -0
- data/spec/commands/pack_command_spec.rb +23 -0
- data/spec/dsl/production_builder_spec.rb +46 -0
- data/spec/{prop_builder_spec.rb → dsl/prop_builder_spec.rb} +80 -24
- data/spec/{stage_builder_spec.rb → dsl/stage_builder_spec.rb} +4 -4
- data/spec/{styles_builder_spec.rb → dsl/styles_builder_spec.rb} +6 -6
- data/spec/{loaders/file_loader_spec.rb → file_loader_spec.rb} +4 -4
- data/spec/gems_spec.rb +83 -0
- data/spec/java_util_spec.rb +1 -17
- data/spec/main_spec.rb +17 -0
- data/spec/producer_spec.rb +89 -79
- data/spec/production_spec.rb +28 -3
- data/spec/prop_spec.rb +82 -16
- data/spec/scene_spec.rb +73 -3
- data/spec/spec_helper.rb +37 -1
- data/spec/stage_spec.rb +10 -1
- data/spec/string_spec.rb +35 -0
- data/spec/studio_spec.rb +14 -0
- data/spec/styles_spec.rb +14 -0
- data/spec/templates/production_templater_spec.rb +44 -0
- data/spec/templates/scene_templater_spec.rb +25 -0
- data/spec/templates/templater_logger_spec.rb +38 -0
- data/spec/templates/templater_spec.rb +104 -0
- data/spec/theater_spec.rb +12 -21
- metadata +75 -23
- data/bin/icons/splash.png +0 -0
- data/lib/limelight/build_exception.rb +0 -48
- data/lib/limelight/commands.rb +0 -52
- data/lib/limelight/loaders/file_scene_loader.rb +0 -49
- data/lib/limelight/menu_bar.rb +0 -68
- data/lib/limelight/production_builder.rb +0 -66
- data/lib/limelight/prop_builder.rb +0 -119
- data/lib/limelight/stage_builder.rb +0 -103
- data/lib/limelight/styles_builder.rb +0 -131
- data/spec/commands_spec.rb +0 -34
- data/spec/production_builder_spec.rb +0 -48
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
|
2
|
+
require 'limelight/commands/open_command'
|
|
3
|
+
require 'limelight/producer'
|
|
4
|
+
|
|
5
|
+
describe Limelight::Commands::OpenCommand do
|
|
6
|
+
|
|
7
|
+
before(:all) do
|
|
8
|
+
@command_class = Limelight::Commands::OpenCommand
|
|
9
|
+
@command = @command_class.new
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it "should be listed" do
|
|
13
|
+
Limelight::Commands::LISTING["open"].should == @command_class
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "should open a production" do
|
|
17
|
+
Limelight::Main.should_receive(:initialize_context)
|
|
18
|
+
Limelight::Producer.should_receive(:open).with("production_name")
|
|
19
|
+
|
|
20
|
+
@command.run(["production_name"])
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it "should open the default production" do
|
|
24
|
+
Limelight::Main.should_receive(:initialize_context)
|
|
25
|
+
Limelight::Producer.should_receive(:open).with(@command_class::DEFAULT_PRODUCTION)
|
|
26
|
+
|
|
27
|
+
@command.run([])
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
|
2
|
+
require 'limelight/commands/pack_command'
|
|
3
|
+
|
|
4
|
+
describe Limelight::Commands::PackCommand do
|
|
5
|
+
|
|
6
|
+
before(:all) do
|
|
7
|
+
@command_class = Limelight::Commands::PackCommand
|
|
8
|
+
@command = @command_class.new
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it "should be listed" do
|
|
12
|
+
Limelight::Commands::LISTING["pack"].should == @command_class
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it "should pack a production" do
|
|
16
|
+
mock_packer = make_mock("packer")
|
|
17
|
+
Limelight::Util::Packer.should_receive(:new).and_return(mock_packer)
|
|
18
|
+
mock_packer.should_receive(:pack).with("production_to_pack")
|
|
19
|
+
|
|
20
|
+
@command.run(["production_to_pack"])
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
#- Copyright 2008 8th Light, Inc. All Rights Reserved.
|
|
2
|
+
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
|
+
|
|
4
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
|
5
|
+
require 'limelight/dsl/production_builder'
|
|
6
|
+
|
|
7
|
+
describe Limelight::DSL::ProductionBuilder do
|
|
8
|
+
|
|
9
|
+
before(:each) do
|
|
10
|
+
@production = Limelight::Production.new("/tmp")
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
it "should build a production" do
|
|
14
|
+
result = Limelight.build_production(@production)
|
|
15
|
+
|
|
16
|
+
result.should == @production
|
|
17
|
+
result.path.should == "/tmp"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it "should build able to set the production's name" do
|
|
21
|
+
result = Limelight.build_production(@production) do
|
|
22
|
+
name "My Production"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
result.name.should == "My Production"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it "should build attribute accessors" do
|
|
29
|
+
result = Limelight.build_production(@production) do
|
|
30
|
+
name "My Production2"
|
|
31
|
+
attribute :foo
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
result.respond_to?(:foo).should == true
|
|
35
|
+
result.foo = "foo"
|
|
36
|
+
result.foo.should == "foo"
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it "should raise an exception when setting an invalid property" do
|
|
40
|
+
lambda do
|
|
41
|
+
Limelight::build_production(@production) do
|
|
42
|
+
blah "blah"
|
|
43
|
+
end
|
|
44
|
+
end.should raise_error(Limelight::DSL::ProductionBuilderException, "'blah' is not a valid production property")
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
#- Copyright 2008 8th Light, Inc. All Rights Reserved.
|
|
2
2
|
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
3
|
|
|
4
|
-
require File.expand_path(File.dirname(__FILE__) + "
|
|
5
|
-
require 'limelight/prop_builder'
|
|
4
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
|
5
|
+
require 'limelight/dsl/prop_builder'
|
|
6
6
|
|
|
7
|
-
describe Limelight::
|
|
7
|
+
describe Limelight::DSL::PropBuilder do
|
|
8
8
|
|
|
9
9
|
before(:each) do
|
|
10
10
|
@caster = make_mock("caster", :fill_cast => nil)
|
|
11
|
-
@
|
|
11
|
+
@scene = Limelight::Scene.new(:name => "root", :casting_director => @caster)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
it "should build root" do
|
|
15
|
-
root = Limelight.build_scene(@
|
|
15
|
+
root = Limelight.build_scene(@scene)
|
|
16
|
+
root.illuminate
|
|
16
17
|
|
|
17
18
|
root.class.should == Limelight::Scene
|
|
18
19
|
root.name.should == "root"
|
|
@@ -21,9 +22,10 @@ describe Limelight::SceneBuilder do
|
|
|
21
22
|
end
|
|
22
23
|
|
|
23
24
|
it "should build one child prop" do
|
|
24
|
-
root = Limelight::build_scene(@
|
|
25
|
+
root = Limelight::build_scene(@scene) do
|
|
25
26
|
child
|
|
26
27
|
end
|
|
28
|
+
root.illuminate
|
|
27
29
|
|
|
28
30
|
root.children.size.should == 1
|
|
29
31
|
child = root.children[0]
|
|
@@ -34,10 +36,11 @@ describe Limelight::SceneBuilder do
|
|
|
34
36
|
end
|
|
35
37
|
|
|
36
38
|
it "should allow multiple children" do
|
|
37
|
-
root = Limelight::build_scene(@
|
|
39
|
+
root = Limelight::build_scene(@scene) do
|
|
38
40
|
child1
|
|
39
41
|
child2
|
|
40
42
|
end
|
|
43
|
+
root.illuminate
|
|
41
44
|
|
|
42
45
|
root.children.size.should == 2
|
|
43
46
|
root.children[0].name.should == "child1"
|
|
@@ -45,11 +48,12 @@ describe Limelight::SceneBuilder do
|
|
|
45
48
|
end
|
|
46
49
|
|
|
47
50
|
it "should allow nested children" do
|
|
48
|
-
root = Limelight::build_scene(@
|
|
51
|
+
root = Limelight::build_scene(@scene) do
|
|
49
52
|
child do
|
|
50
53
|
grandchild
|
|
51
54
|
end
|
|
52
55
|
end
|
|
56
|
+
root.illuminate
|
|
53
57
|
|
|
54
58
|
root.children.size.should == 1
|
|
55
59
|
root.children[0].name.should == "child"
|
|
@@ -58,9 +62,10 @@ describe Limelight::SceneBuilder do
|
|
|
58
62
|
end
|
|
59
63
|
|
|
60
64
|
it "should be able to set the id" do
|
|
61
|
-
root = Limelight::build_scene(@
|
|
65
|
+
root = Limelight::build_scene(@scene) do
|
|
62
66
|
child :id => "child_1", :players => "x, y, z"
|
|
63
67
|
end
|
|
68
|
+
root.illuminate
|
|
64
69
|
|
|
65
70
|
child = root.children[0]
|
|
66
71
|
child.id.should == "child_1"
|
|
@@ -68,29 +73,32 @@ describe Limelight::SceneBuilder do
|
|
|
68
73
|
end
|
|
69
74
|
|
|
70
75
|
it "should allow setting styles" do
|
|
71
|
-
root = Limelight::build_scene(@
|
|
76
|
+
root = Limelight::build_scene(@scene) do
|
|
72
77
|
child :width => "100", :font_size => "10", :top_border_color => "blue"
|
|
73
78
|
end
|
|
79
|
+
root.illuminate
|
|
74
80
|
|
|
75
81
|
child = root.children[0]
|
|
76
82
|
child.style.width.should == "100"
|
|
77
83
|
child.style.font_size.should == "10"
|
|
78
|
-
child.style.top_border_color.should == "
|
|
84
|
+
child.style.top_border_color.should == "#0000ffff"
|
|
79
85
|
end
|
|
80
86
|
|
|
81
87
|
it "should allow defining events through constructor" do
|
|
82
|
-
root = Limelight::build_scene(@
|
|
88
|
+
root = Limelight::build_scene(@scene) do
|
|
83
89
|
child :on_mouse_entered => "return [self, event]"
|
|
84
90
|
end
|
|
91
|
+
root.illuminate
|
|
85
92
|
|
|
86
93
|
child = root.children[0]
|
|
87
94
|
child.mouse_entered("blah").should == [child, "blah"]
|
|
88
95
|
end
|
|
89
96
|
|
|
90
97
|
it "should allow scene configuration" do
|
|
91
|
-
root = Limelight::build_scene(@
|
|
98
|
+
root = Limelight::build_scene(@scene) do
|
|
92
99
|
__ :name => "root", :id => "123"
|
|
93
100
|
end
|
|
101
|
+
root.illuminate
|
|
94
102
|
|
|
95
103
|
root.children.size.should == 0
|
|
96
104
|
root.name.should == "root"
|
|
@@ -98,7 +106,7 @@ describe Limelight::SceneBuilder do
|
|
|
98
106
|
end
|
|
99
107
|
|
|
100
108
|
it "should give every prop their scene" do
|
|
101
|
-
root = Limelight::build_scene(@
|
|
109
|
+
root = Limelight::build_scene(@scene) do
|
|
102
110
|
child do
|
|
103
111
|
grandchild
|
|
104
112
|
end
|
|
@@ -113,20 +121,21 @@ describe Limelight::SceneBuilder do
|
|
|
113
121
|
loader = make_mock("loader", :exists? => true)
|
|
114
122
|
loader.should_receive(:load).with("external.rb").and_return("child :id => 123")
|
|
115
123
|
|
|
116
|
-
root = Limelight::build_scene(:id => 321, :build_loader => loader, :casting_director => @caster) do
|
|
124
|
+
root = Limelight::build_scene(@scene, :id => 321, :build_loader => loader, :casting_director => @caster) do
|
|
117
125
|
__install "external.rb"
|
|
118
126
|
end
|
|
127
|
+
root.illuminate
|
|
119
128
|
|
|
120
|
-
root.id.should == 321
|
|
129
|
+
root.id.should == "321"
|
|
121
130
|
root.children.size.should == 1
|
|
122
131
|
child = root.children[0]
|
|
123
132
|
child.name.should == "child"
|
|
124
|
-
child.id.should == 123
|
|
133
|
+
child.id.should == "123"
|
|
125
134
|
end
|
|
126
135
|
|
|
127
136
|
it "should fail if no loader is provided" do
|
|
128
137
|
begin
|
|
129
|
-
root = Limelight::build_scene(@
|
|
138
|
+
root = Limelight::build_scene(@scene, :id => 321, :build_loader => nil) do
|
|
130
139
|
__install "external.rb"
|
|
131
140
|
end
|
|
132
141
|
root.should == nil # should never get here
|
|
@@ -140,7 +149,7 @@ describe Limelight::SceneBuilder do
|
|
|
140
149
|
loader.should_receive(:exists?).with("external.rb").and_return(false)
|
|
141
150
|
|
|
142
151
|
begin
|
|
143
|
-
root = Limelight::build_scene(@
|
|
152
|
+
root = Limelight::build_scene(@scene, :id => 321, :build_loader => loader) do
|
|
144
153
|
__install "external.rb"
|
|
145
154
|
end
|
|
146
155
|
rescue Exception => e
|
|
@@ -153,20 +162,22 @@ describe Limelight::SceneBuilder do
|
|
|
153
162
|
loader.should_receive(:load).with("external.rb").and_return("+")
|
|
154
163
|
|
|
155
164
|
begin
|
|
156
|
-
root = Limelight::build_scene(@
|
|
165
|
+
root = Limelight::build_scene(@scene, :id => 321, :build_loader => loader) do
|
|
157
166
|
__install "external.rb"
|
|
158
167
|
end
|
|
159
|
-
rescue Limelight::BuildException => e
|
|
168
|
+
rescue Limelight::DSL::BuildException => e
|
|
160
169
|
e.message.should include("external.rb:1: (eval):1: , unexpected end-of-file")
|
|
161
170
|
end
|
|
162
171
|
end
|
|
163
172
|
|
|
164
173
|
it "should build onto an existing block" do
|
|
165
174
|
prop = Limelight::Prop.new
|
|
166
|
-
|
|
167
|
-
|
|
175
|
+
scene = Limelight::Scene.new(:casting_director => make_mock(:casting_director, :fill_cast => nil))
|
|
176
|
+
scene << prop
|
|
177
|
+
builder = Limelight::DSL::PropBuilder.new(prop)
|
|
168
178
|
block = Proc.new { one; two { three } }
|
|
169
179
|
builder.instance_eval(&block)
|
|
180
|
+
scene.illuminate
|
|
170
181
|
|
|
171
182
|
prop.children.length.should == 2
|
|
172
183
|
prop.children[0].name.should == "one"
|
|
@@ -176,9 +187,10 @@ describe Limelight::SceneBuilder do
|
|
|
176
187
|
end
|
|
177
188
|
|
|
178
189
|
it "should not crash with prop named display" do
|
|
179
|
-
root = Limelight::build_scene(@
|
|
190
|
+
root = Limelight::build_scene(@scene) do
|
|
180
191
|
display :id => "display"
|
|
181
192
|
end
|
|
193
|
+
root.illuminate
|
|
182
194
|
|
|
183
195
|
root.children.size.should == 1
|
|
184
196
|
display = root.children[0]
|
|
@@ -186,4 +198,48 @@ describe Limelight::SceneBuilder do
|
|
|
186
198
|
display.id.should == "display"
|
|
187
199
|
end
|
|
188
200
|
|
|
201
|
+
it "should allow instance variables" do
|
|
202
|
+
root = Limelight::build_scene(@scene, :instance_variables => { :id1 => "abc", :id2 => "xyz" } ) do
|
|
203
|
+
__ :id => @id1
|
|
204
|
+
child :id => @id2
|
|
205
|
+
end
|
|
206
|
+
root.illuminate
|
|
207
|
+
|
|
208
|
+
root.id.should == "abc"
|
|
209
|
+
child = root.children[0]
|
|
210
|
+
child.id.should == "xyz"
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
it "should propogate instance variables to nested levels" do
|
|
214
|
+
root = Limelight::build_scene(@scene, :instance_variables => { :name => "blah" } ) do
|
|
215
|
+
child :id => "child", :name => @name do
|
|
216
|
+
grand_child :id => "grand_child", :name => @name do
|
|
217
|
+
great_grand_child :id => "great_grand_child", :name => @name do
|
|
218
|
+
baby :id => "baby", :name => @name
|
|
219
|
+
end
|
|
220
|
+
end
|
|
221
|
+
end
|
|
222
|
+
end
|
|
223
|
+
root.illuminate
|
|
224
|
+
|
|
225
|
+
root.find("child").name.should == "blah"
|
|
226
|
+
root.find("grand_child").name.should == "blah"
|
|
227
|
+
root.find("great_grand_child").name.should == "blah"
|
|
228
|
+
root.find("baby").name.should == "blah"
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
it "should allow instance_variable when installing an external props file" do
|
|
232
|
+
loader = make_mock("loader", :exists? => true)
|
|
233
|
+
loader.should_receive(:load).with("external.rb").and_return("child :id => @desired_id")
|
|
234
|
+
|
|
235
|
+
root = Limelight::build_scene(@scene, :id => 321, :build_loader => loader, :casting_director => @caster) do
|
|
236
|
+
__install "external.rb", :desired_id => "123"
|
|
237
|
+
end
|
|
238
|
+
root.illuminate
|
|
239
|
+
|
|
240
|
+
child = root.children[0]
|
|
241
|
+
child.name.should == "child"
|
|
242
|
+
child.id.should == "123"
|
|
243
|
+
end
|
|
244
|
+
|
|
189
245
|
end
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#- Copyright 2008 8th Light, Inc. All Rights Reserved.
|
|
2
2
|
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
3
|
|
|
4
|
-
require File.expand_path(File.dirname(__FILE__) + "
|
|
5
|
-
require 'limelight/stage_builder'
|
|
4
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
|
5
|
+
require 'limelight/dsl/stage_builder'
|
|
6
6
|
require 'limelight/theater'
|
|
7
7
|
|
|
8
|
-
describe Limelight::StageBuilder do
|
|
8
|
+
describe Limelight::DSL::StageBuilder do
|
|
9
9
|
|
|
10
10
|
before(:each) do
|
|
11
11
|
@theater = Limelight::Theater.new
|
|
@@ -57,7 +57,7 @@ describe Limelight::StageBuilder do
|
|
|
57
57
|
blah "blah"
|
|
58
58
|
end
|
|
59
59
|
end
|
|
60
|
-
end.should raise_error(Limelight::StageBuilderException, "'blah' is not a valid stage property")
|
|
60
|
+
end.should raise_error(Limelight::DSL::StageBuilderException, "'blah' is not a valid stage property")
|
|
61
61
|
end
|
|
62
62
|
|
|
63
63
|
it "should add stages to the theater" do
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#- Copyright 2008 8th Light, Inc. All Rights Reserved.
|
|
2
2
|
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
3
|
|
|
4
|
-
require File.expand_path(File.dirname(__FILE__) + "
|
|
5
|
-
require 'limelight/styles_builder'
|
|
4
|
+
require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
|
5
|
+
require 'limelight/dsl/styles_builder'
|
|
6
6
|
|
|
7
|
-
describe Limelight::StylesBuilder do
|
|
7
|
+
describe Limelight::DSL::StylesBuilder do
|
|
8
8
|
|
|
9
9
|
before(:each) do
|
|
10
10
|
end
|
|
@@ -37,7 +37,7 @@ describe Limelight::StylesBuilder do
|
|
|
37
37
|
result.size.should == 1
|
|
38
38
|
style = result["root"]
|
|
39
39
|
style.width.should == "100"
|
|
40
|
-
style.top_border_color.should == "
|
|
40
|
+
style.top_border_color.should == "#0000ffff"
|
|
41
41
|
style.transparency.should == "50%"
|
|
42
42
|
end
|
|
43
43
|
|
|
@@ -48,7 +48,7 @@ describe Limelight::StylesBuilder do
|
|
|
48
48
|
blah 100
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
|
-
end.should raise_error(Limelight::StyleBuilderException)
|
|
51
|
+
end.should raise_error(Limelight::DSL::StyleBuilderException)
|
|
52
52
|
end
|
|
53
53
|
|
|
54
54
|
it "should build multiple styles" do
|
|
@@ -116,7 +116,7 @@ describe Limelight::StylesBuilder do
|
|
|
116
116
|
end
|
|
117
117
|
|
|
118
118
|
it "should raise an exception when attempting to extend a missing style" do
|
|
119
|
-
lambda { Limelight.build_styles { one { extends :blah } } }.should raise_error(Limelight::StyleBuilderException, "Can't extend missing style: 'blah'")
|
|
119
|
+
lambda { Limelight.build_styles { one { extends :blah } } }.should raise_error(Limelight::DSL::StyleBuilderException, "Can't extend missing style: 'blah'")
|
|
120
120
|
end
|
|
121
121
|
|
|
122
122
|
it "should allow styles to be repopened" do
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#- Copyright 2008 8th Light, Inc. All Rights Reserved.
|
|
2
2
|
#- Limelight and all included source files are distributed under terms of the GNU LGPL.
|
|
3
3
|
|
|
4
|
-
require File.expand_path(File.dirname(__FILE__) + "
|
|
5
|
-
require 'limelight/
|
|
4
|
+
require File.expand_path(File.dirname(__FILE__) + "/spec_helper")
|
|
5
|
+
require 'limelight/file_loader'
|
|
6
6
|
|
|
7
|
-
describe Limelight::
|
|
7
|
+
describe Limelight::FileLoader do
|
|
8
8
|
|
|
9
9
|
before(:each) do
|
|
10
|
-
@loader = Limelight::
|
|
10
|
+
@loader = Limelight::FileLoader.for_root("/Users/micahmartin/Projects/limelight/example")
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
it "should load path parts" do
|
data/spec/gems_spec.rb
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + "/spec_helper")
|
|
2
|
+
require "limelight/gems"
|
|
3
|
+
require 'limelight/production'
|
|
4
|
+
|
|
5
|
+
describe Limelight::Gems do
|
|
6
|
+
|
|
7
|
+
before(:each) do
|
|
8
|
+
@production = Limelight::Production.new(TestDir.path("prod"))
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it "should know the load path" do
|
|
12
|
+
Limelight::Gems.load_path.should be($:)
|
|
13
|
+
Limelight::Gems.current_production = @production
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "add a gem to load path" do
|
|
17
|
+
path = []
|
|
18
|
+
Limelight::Gems.stub!(:load_path).and_return(path)
|
|
19
|
+
|
|
20
|
+
Limelight::Gems.install("gem_dir_name", ["lib"])
|
|
21
|
+
|
|
22
|
+
path.length.should == 1
|
|
23
|
+
path[0].should == File.join(@production.gems_directory, "gem_dir_name/lib")
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it "add a gem to the beginning of the load path" do
|
|
27
|
+
path = ["foo"]
|
|
28
|
+
Limelight::Gems.stub!(:load_path).and_return(path)
|
|
29
|
+
|
|
30
|
+
Limelight::Gems.install("gem_dir_name", ["lib"])
|
|
31
|
+
|
|
32
|
+
path.length.should == 2
|
|
33
|
+
path[0].should == File.join(@production.gems_directory, "gem_dir_name/lib")
|
|
34
|
+
path[1].should == "foo"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
it "add a gem to the beginning of the load path in the same order provided" do
|
|
38
|
+
path = ["foo"]
|
|
39
|
+
Limelight::Gems.stub!(:load_path).and_return(path)
|
|
40
|
+
|
|
41
|
+
Limelight::Gems.install("gem_dir_name", ["lib", "src", "ruby"])
|
|
42
|
+
|
|
43
|
+
path.length.should == 4
|
|
44
|
+
path[0].should == File.join(@production.gems_directory, "gem_dir_name/lib")
|
|
45
|
+
path[1].should == File.join(@production.gems_directory, "gem_dir_name/src")
|
|
46
|
+
path[2].should == File.join(@production.gems_directory, "gem_dir_name/ruby")
|
|
47
|
+
path[3].should == "foo"
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
describe "finding gems" do
|
|
51
|
+
|
|
52
|
+
before(:each) do
|
|
53
|
+
TestDir.clean
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
it "should load all the gems in a production" do
|
|
57
|
+
TestDir.create_file("prod/__resources/gems/gem1/limelight_init.rb", "Limelight::Gems.install('gem1', ['fee'])")
|
|
58
|
+
TestDir.create_file("prod/__resources/gems/gem2/limelight_init.rb", "Limelight::Gems.install('gem2', ['fie'])")
|
|
59
|
+
TestDir.create_file("prod/__resources/gems/gem3/limelight_init.rb", "Limelight::Gems.install('gem3', ['foe', 'fum'])")
|
|
60
|
+
path = []
|
|
61
|
+
Limelight::Gems.stub!(:load_path).and_return(path)
|
|
62
|
+
|
|
63
|
+
Limelight::Gems.install_gems_in_production(@production)
|
|
64
|
+
|
|
65
|
+
path.length.should == 4
|
|
66
|
+
path[0].should == File.join(@production.gems_directory, "gem1/fee")
|
|
67
|
+
path[1].should == File.join(@production.gems_directory, "gem2/fie")
|
|
68
|
+
path[2].should == File.join(@production.gems_directory, "gem3/foe")
|
|
69
|
+
path[3].should == File.join(@production.gems_directory, "gem3/fum")
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
it "should gracefully handle missing gems dir" do
|
|
73
|
+
TestDir.establish_dir("prod")
|
|
74
|
+
|
|
75
|
+
path = []
|
|
76
|
+
Limelight::Gems.stub!(:load_path).and_return(path)
|
|
77
|
+
Limelight::Gems.install_gems_in_production(@production)
|
|
78
|
+
|
|
79
|
+
path.length.should == 0
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
end
|