jasmine 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. data/Rakefile +11 -2
  2. data/generators/jasmine/templates/spec/javascripts/support/jasmine-rails.yml +2 -2
  3. data/generators/jasmine/templates/spec/javascripts/support/jasmine.yml +2 -1
  4. data/jasmine.gemspec +1 -1
  5. data/lib/jasmine.rb +10 -2
  6. data/lib/jasmine/application.rb +6 -33
  7. data/lib/jasmine/asset_expander.rb +19 -0
  8. data/lib/jasmine/asset_pipeline_mapper.rb +11 -14
  9. data/lib/jasmine/asset_pipeline_utility.rb +19 -0
  10. data/lib/jasmine/base.rb +4 -0
  11. data/lib/jasmine/config.rb +74 -111
  12. data/lib/jasmine/configuration.rb +83 -0
  13. data/lib/jasmine/core_configuration.rb +28 -0
  14. data/lib/jasmine/javascripts/boot.js +28 -0
  15. data/lib/jasmine/path_expander.rb +18 -0
  16. data/lib/jasmine/path_mapper.rb +29 -0
  17. data/lib/jasmine/results_processor.rb +21 -20
  18. data/lib/jasmine/run.html.erb +0 -37
  19. data/lib/jasmine/run_specs.rb +12 -8
  20. data/lib/jasmine/server.rb +1 -1
  21. data/lib/jasmine/tasks/jasmine.rake +3 -4
  22. data/lib/jasmine/version.rb +1 -1
  23. data/lib/jasmine/yaml_config_parser.rb +54 -0
  24. data/spec/application_integration_spec.rb +15 -0
  25. data/spec/application_spec.rb +37 -92
  26. data/spec/asset_expander_spec.rb +42 -0
  27. data/spec/asset_pipeline_mapper_spec.rb +12 -11
  28. data/spec/base_spec.rb +14 -0
  29. data/spec/configuration_spec.rb +163 -0
  30. data/spec/jasmine_self_test_spec.rb +14 -7
  31. data/spec/page_spec.rb +2 -4
  32. data/spec/path_expander_spec.rb +96 -0
  33. data/spec/path_mapper_spec.rb +33 -0
  34. data/spec/server_spec.rb +2 -2
  35. data/spec/yaml_config_parser_spec.rb +182 -0
  36. metadata +34 -23
  37. data/lib/jasmine/runner_config.rb +0 -71
  38. data/lib/jasmine/sprockets_mapper.rb +0 -13
  39. data/lib/rack/jasmine/redirect.rb +0 -20
  40. data/spec/config_spec.rb +0 -309
  41. data/spec/fixture/jasmine.erb.yml +0 -4
  42. data/spec/fixture/spec/example_spec.js +0 -5
  43. data/spec/fixture/src/example.js +0 -3
  44. data/spec/jasmine_self_test_config.rb +0 -19
  45. data/spec/runner_config_spec.rb +0 -136
  46. data/spec/sprockets_mapper_spec.rb +0 -17
@@ -0,0 +1,182 @@
1
+ require 'spec_helper'
2
+
3
+ describe Jasmine::YamlConfigParser do
4
+ it "src_dir uses current working directory when src dir is blank" do
5
+ yaml_loader = lambda do |path|
6
+ if path == "some_path"
7
+ {"src_dir" => nil}
8
+ end
9
+ end
10
+ parser = Jasmine::YamlConfigParser.new('some_path', 'some_project_root', nil, yaml_loader)
11
+ parser.src_dir.should == 'some_project_root'
12
+ end
13
+
14
+ it "src_dir returns src_dir if set" do
15
+ yaml_loader = lambda do |path|
16
+ if path == "some_path"
17
+ {"src_dir" => 'some_src_dir'}
18
+ end
19
+ end
20
+ parser = Jasmine::YamlConfigParser.new('some_path', 'some_project_root', nil, yaml_loader)
21
+ parser.src_dir.should == File.join('some_project_root', 'some_src_dir')
22
+ end
23
+
24
+ it "jasmine_dir returns nil when jasmine dir is blank" do
25
+ yaml_loader = lambda do |path|
26
+ if path == "some_path"
27
+ {"jasmine_dir" => nil}
28
+ end
29
+ end
30
+ parser = Jasmine::YamlConfigParser.new('some_path', 'some_project_root', nil, yaml_loader)
31
+ parser.jasmine_dir.should be_nil
32
+ end
33
+
34
+ it "jasmine_dir returns jasmine_dir if set" do
35
+ yaml_loader = lambda do |path|
36
+ if path == "some_path"
37
+ {"jasmine_dir" => 'some_jasmine_dir'}
38
+ end
39
+ end
40
+ parser = Jasmine::YamlConfigParser.new('some_path', 'some_project_root', nil, yaml_loader)
41
+ parser.jasmine_dir.should == File.join('some_project_root', 'some_jasmine_dir')
42
+ end
43
+
44
+ it "spec_dir uses default path when spec dir is blank" do
45
+ yaml_loader = lambda do |path|
46
+ if path == "some_path"
47
+ {"spec_dir" => nil}
48
+ end
49
+ end
50
+ parser = Jasmine::YamlConfigParser.new('some_path', 'some_project_root', nil, yaml_loader)
51
+ parser.spec_dir.should == File.join('some_project_root', 'spec', 'javascripts')
52
+ end
53
+
54
+ it "spec_dir returns spec_dir if set" do
55
+ yaml_loader = lambda do |path|
56
+ if path == "some_path"
57
+ {"spec_dir" => "some_spec_dir"}
58
+ end
59
+ end
60
+ parser = Jasmine::YamlConfigParser.new('some_path', 'some_project_root', nil, yaml_loader)
61
+ parser.spec_dir.should == File.join('some_project_root', 'some_spec_dir')
62
+ end
63
+
64
+ it "expands src_file paths" do
65
+ expander = lambda do |dir, patterns|
66
+ if (dir == File.join('some_project_root', 'some_src') && patterns == ['some_patterns'])
67
+ ['expected_results']
68
+ end
69
+ end
70
+ yaml_loader = lambda do |path|
71
+ if path == "some_path"
72
+ { 'src_dir' => 'some_src', 'src_files' => ['some_patterns'] }
73
+ end
74
+ end
75
+
76
+ parser = Jasmine::YamlConfigParser.new('some_path', 'some_project_root', expander, yaml_loader)
77
+
78
+ parser.src_files.should == ['expected_results']
79
+ end
80
+
81
+ it "expands stylesheets paths" do
82
+ expander = lambda do |dir, patterns|
83
+ if (dir == File.join('some_project_root', 'some_src') && patterns == ['some_patterns'])
84
+ ['expected_results']
85
+ end
86
+ end
87
+ yaml_loader = lambda do |path|
88
+ if path == "some_path"
89
+ { 'src_dir' => 'some_src', 'stylesheets' => ['some_patterns'] }
90
+ end
91
+ end
92
+
93
+ parser = Jasmine::YamlConfigParser.new('some_path', 'some_project_root', expander, yaml_loader)
94
+
95
+ parser.css_files.should == ['expected_results']
96
+ end
97
+
98
+ it "expands spec_file paths" do
99
+ expander = lambda do |dir, patterns|
100
+ if (dir == File.join('some_project_root', 'some_spec') && patterns == ['some_patterns'])
101
+ ['expected_results']
102
+ end
103
+ end
104
+ yaml_loader = lambda do |path|
105
+ if path == "some_path"
106
+ { 'spec_dir' => 'some_spec', 'spec_files' => ['some_patterns'] }
107
+ end
108
+ end
109
+
110
+ parser = Jasmine::YamlConfigParser.new('some_path', 'some_project_root', expander, yaml_loader)
111
+
112
+ parser.spec_files.should == ['expected_results']
113
+ end
114
+
115
+ it "expands jasmine_file paths" do
116
+ expander = lambda do |dir, patterns|
117
+ if (dir == File.join('some_project_root', 'some_jasmine') && patterns == ['some_patterns'])
118
+ ['expected_results']
119
+ end
120
+ end
121
+ yaml_loader = lambda do |path|
122
+ if path == "some_path"
123
+ { 'jasmine_dir' => 'some_jasmine', 'jasmine_files' => ['some_patterns'] }
124
+ end
125
+ end
126
+
127
+ parser = Jasmine::YamlConfigParser.new('some_path', 'some_project_root', expander, yaml_loader)
128
+
129
+ parser.jasmine_files.should == ['expected_results']
130
+ end
131
+
132
+ it "expands jasmine css file paths" do
133
+ expander = lambda do |dir, patterns|
134
+ if (dir == File.join('some_project_root', 'some_jasmine') && patterns == ['some_patterns'])
135
+ ['expected_results']
136
+ end
137
+ end
138
+ yaml_loader = lambda do |path|
139
+ if path == "some_path"
140
+ { 'jasmine_dir' => 'some_jasmine', 'jasmine_css_files' => ['some_patterns'] }
141
+ end
142
+ end
143
+
144
+ parser = Jasmine::YamlConfigParser.new('some_path', 'some_project_root', expander, yaml_loader)
145
+
146
+ parser.jasmine_css_files.should == ['expected_results']
147
+ end
148
+
149
+ it "expands helper paths" do
150
+ expander = lambda do |dir, patterns|
151
+ if (dir == File.join('some_project_root', 'some_spec') && patterns == ['some_patterns'])
152
+ ['expected_results']
153
+ end
154
+ end
155
+ yaml_loader = lambda do |path|
156
+ if path == "some_path"
157
+ { 'spec_dir' => 'some_spec', 'helpers' => ['some_patterns'] }
158
+ end
159
+ end
160
+
161
+ parser = Jasmine::YamlConfigParser.new('some_path', 'some_project_root', expander, yaml_loader)
162
+
163
+ parser.helpers.should == ['expected_results']
164
+ end
165
+
166
+ it "doesn't blow up when blank values are passed" do
167
+ expander = lambda do |dir, patterns|
168
+ raise 'bad arguments' unless patterns.is_a?(Array)
169
+ []
170
+ end
171
+ yaml_loader = lambda do |path|
172
+ {}
173
+ end
174
+
175
+ parser = Jasmine::YamlConfigParser.new({}, 'some_project_root', expander, yaml_loader)
176
+ parser.src_files.should == []
177
+ parser.spec_files.should == []
178
+ parser.css_files.should == []
179
+ parser.helpers.should == []
180
+ end
181
+
182
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jasmine
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-11-28 00:00:00.000000000 Z
14
+ date: 2012-12-03 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rspec
@@ -114,17 +114,17 @@ dependencies:
114
114
  requirement: !ruby/object:Gem::Requirement
115
115
  none: false
116
116
  requirements:
117
- - - ! '>='
117
+ - - ~>
118
118
  - !ruby/object:Gem::Version
119
- version: 1.3.0
119
+ version: 1.3.1
120
120
  type: :runtime
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  none: false
124
124
  requirements:
125
- - - ! '>='
125
+ - - ~>
126
126
  - !ruby/object:Gem::Version
127
- version: 1.3.0
127
+ version: 1.3.1
128
128
  - !ruby/object:Gem::Dependency
129
129
  name: rack
130
130
  requirement: !ruby/object:Gem::Requirement
@@ -215,58 +215,63 @@ files:
215
215
  - lib/generators/jasmine/install/templates/spec/javascripts/support/jasmine.yml
216
216
  - lib/jasmine.rb
217
217
  - lib/jasmine/application.rb
218
+ - lib/jasmine/asset_expander.rb
218
219
  - lib/jasmine/asset_pipeline_mapper.rb
220
+ - lib/jasmine/asset_pipeline_utility.rb
219
221
  - lib/jasmine/base.rb
220
222
  - lib/jasmine/command_line_tool.rb
221
223
  - lib/jasmine/config.rb
224
+ - lib/jasmine/configuration.rb
225
+ - lib/jasmine/core_configuration.rb
222
226
  - lib/jasmine/dependencies.rb
223
227
  - lib/jasmine/firebug/firebug-1.6.2.xpi
224
228
  - lib/jasmine/firebug/firebug-1.7.0.xpi
225
229
  - lib/jasmine/firebug/firebug-license.txt
226
230
  - lib/jasmine/firebug/firebug.rb
231
+ - lib/jasmine/javascripts/boot.js
227
232
  - lib/jasmine/page.rb
233
+ - lib/jasmine/path_expander.rb
234
+ - lib/jasmine/path_mapper.rb
228
235
  - lib/jasmine/railtie.rb
229
236
  - lib/jasmine/results.rb
230
237
  - lib/jasmine/results_processor.rb
231
238
  - lib/jasmine/rspec_formatter.rb
232
239
  - lib/jasmine/run.html.erb
233
240
  - lib/jasmine/run_specs.rb
234
- - lib/jasmine/runner_config.rb
235
241
  - lib/jasmine/runners/http.rb
236
242
  - lib/jasmine/selenium_driver.rb
237
243
  - lib/jasmine/server.rb
238
- - lib/jasmine/sprockets_mapper.rb
239
244
  - lib/jasmine/tasks/jasmine.rake
240
245
  - lib/jasmine/tasks/jasmine_rails3.rake
241
246
  - lib/jasmine/version.rb
247
+ - lib/jasmine/yaml_config_parser.rb
242
248
  - lib/rack/jasmine/cache_control.rb
243
249
  - lib/rack/jasmine/focused_suite.rb
244
- - lib/rack/jasmine/redirect.rb
245
250
  - lib/rack/jasmine/runner.rb
251
+ - spec/application_integration_spec.rb
246
252
  - spec/application_spec.rb
253
+ - spec/asset_expander_spec.rb
247
254
  - spec/asset_pipeline_mapper_spec.rb
248
- - spec/config_spec.rb
255
+ - spec/base_spec.rb
256
+ - spec/configuration_spec.rb
249
257
  - spec/dependencies_spec.rb
250
258
  - spec/fixture/Rakefile
251
- - spec/fixture/jasmine.erb.yml
252
- - spec/fixture/spec/example_spec.js
253
- - spec/fixture/src/example.js
254
259
  - spec/jasmine_command_line_tool_rakeless_spec.rb
255
260
  - spec/jasmine_command_line_tool_spec.rb
256
261
  - spec/jasmine_pojs_spec.rb
257
262
  - spec/jasmine_rails2_spec.rb
258
263
  - spec/jasmine_rails3_spec.rb
259
- - spec/jasmine_self_test_config.rb
260
264
  - spec/jasmine_self_test_spec.rb
261
265
  - spec/page_spec.rb
266
+ - spec/path_expander_spec.rb
267
+ - spec/path_mapper_spec.rb
262
268
  - spec/rack/jasmine/runner_spec.rb
263
269
  - spec/results_processor_spec.rb
264
270
  - spec/results_spec.rb
265
271
  - spec/rspec_formatter_spec.rb
266
- - spec/runner_config_spec.rb
267
272
  - spec/server_spec.rb
268
273
  - spec/spec_helper.rb
269
- - spec/sprockets_mapper_spec.rb
274
+ - spec/yaml_config_parser_spec.rb
270
275
  homepage: http://pivotal.github.com/jasmine/
271
276
  licenses:
272
277
  - MIT
@@ -281,12 +286,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
281
286
  - - ! '>='
282
287
  - !ruby/object:Gem::Version
283
288
  version: '0'
289
+ segments:
290
+ - 0
291
+ hash: -2055152305295795874
284
292
  required_rubygems_version: !ruby/object:Gem::Requirement
285
293
  none: false
286
294
  requirements:
287
295
  - - ! '>='
288
296
  - !ruby/object:Gem::Version
289
297
  version: '0'
298
+ segments:
299
+ - 0
300
+ hash: -2055152305295795874
290
301
  requirements: []
291
302
  rubyforge_project:
292
303
  rubygems_version: 1.8.24
@@ -294,27 +305,27 @@ signing_key:
294
305
  specification_version: 3
295
306
  summary: JavaScript BDD framework
296
307
  test_files:
308
+ - spec/application_integration_spec.rb
297
309
  - spec/application_spec.rb
310
+ - spec/asset_expander_spec.rb
298
311
  - spec/asset_pipeline_mapper_spec.rb
299
- - spec/config_spec.rb
312
+ - spec/base_spec.rb
313
+ - spec/configuration_spec.rb
300
314
  - spec/dependencies_spec.rb
301
315
  - spec/fixture/Rakefile
302
- - spec/fixture/jasmine.erb.yml
303
- - spec/fixture/spec/example_spec.js
304
- - spec/fixture/src/example.js
305
316
  - spec/jasmine_command_line_tool_rakeless_spec.rb
306
317
  - spec/jasmine_command_line_tool_spec.rb
307
318
  - spec/jasmine_pojs_spec.rb
308
319
  - spec/jasmine_rails2_spec.rb
309
320
  - spec/jasmine_rails3_spec.rb
310
- - spec/jasmine_self_test_config.rb
311
321
  - spec/jasmine_self_test_spec.rb
312
322
  - spec/page_spec.rb
323
+ - spec/path_expander_spec.rb
324
+ - spec/path_mapper_spec.rb
313
325
  - spec/rack/jasmine/runner_spec.rb
314
326
  - spec/results_processor_spec.rb
315
327
  - spec/results_spec.rb
316
328
  - spec/rspec_formatter_spec.rb
317
- - spec/runner_config_spec.rb
318
329
  - spec/server_spec.rb
319
330
  - spec/spec_helper.rb
320
- - spec/sprockets_mapper_spec.rb
331
+ - spec/yaml_config_parser_spec.rb
@@ -1,71 +0,0 @@
1
- module Jasmine
2
- class RunnerConfig
3
- def initialize(config = Jasmine::Config.new)
4
- @config = config
5
- end
6
-
7
- def css_files
8
- @config.jasmine_stylesheets + @config.user_stylesheets
9
- end
10
-
11
- def jasmine_files
12
- @config.jasmine_javascripts
13
- end
14
-
15
- def js_files
16
- @config.js_files
17
- end
18
-
19
- def spec_files
20
- @config.spec_files
21
- end
22
-
23
- def spec_files_full_paths
24
- @config.spec_files_full_paths
25
- end
26
-
27
- def spec_path
28
- @config.spec_path
29
- end
30
-
31
- def spec_dir
32
- @config.spec_dir
33
- end
34
-
35
- def src_dir
36
- @config.src_dir
37
- end
38
-
39
- def project_root
40
- @config.project_root
41
- end
42
-
43
- def root_path
44
- @config.root_path
45
- end
46
-
47
- def browser
48
- ENV["JASMINE_BROWSER"] || 'firefox'
49
- end
50
-
51
- def port
52
- @config.port
53
- end
54
-
55
- def jasmine_server_url
56
- "#{@config.jasmine_host}:#{@config.port}/"
57
- end
58
-
59
- def src_mapper=(context)
60
- @config.src_mapper = context
61
- end
62
-
63
- def src_mapper
64
- @config.src_mapper
65
- end
66
-
67
- def result_batch_size
68
- ENV["JASMINE_RESULT_BATCH_SIZE"] ? ENV["JASMINE_RESULT_BATCH_SIZE"].to_i : 50
69
- end
70
- end
71
- end
@@ -1,13 +0,0 @@
1
- class Jasmine::SprocketsMapper
2
- def initialize(context, mount_point = 'assets')
3
- @context = context
4
- @mount_point = mount_point
5
- end
6
-
7
- def files(src_files)
8
- src_files.map do |src_file|
9
- filename = src_file.gsub(/^assets\//, '').gsub(/\.js$/, '')
10
- @context.find_asset(filename).to_a.map(&:logical_path).map(&:to_s)
11
- end.flatten.uniq.map{|path| File.join(@mount_point, path).to_s + "?body=true"}
12
- end
13
- end
@@ -1,20 +0,0 @@
1
- module Rack
2
- module Jasmine
3
-
4
- class Redirect
5
- def initialize(url)
6
- @url = url
7
- end
8
-
9
- def call(env)
10
- [
11
- 302,
12
- { 'Location' => @url },
13
- []
14
- ]
15
- end
16
- end
17
-
18
- end
19
- end
20
-