jasmine 1.3.0 → 1.3.1

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.
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
-