konacha 0.9.1 → 0.10.0
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/History.md +8 -1
- data/README.md +3 -3
- data/app/helpers/konacha/specs_helper.rb +1 -1
- data/app/views/konacha/specs/specs.html.erb +4 -4
- data/konacha.gemspec +1 -1
- data/lib/konacha/runner.rb +2 -0
- data/lib/tasks/konacha.rake +2 -2
- data/spec/dummy/config/environments/development.rb +27 -0
- data/spec/spec_helper.rb +4 -20
- data/spec/views/specs/specs.html.erb_spec.rb +25 -0
- metadata +21 -20
- data/spec/dummy/config/environments/test.rb +0 -29
data/History.md
CHANGED
@@ -1,13 +1,20 @@
|
|
1
1
|
# master
|
2
2
|
|
3
|
+
# 0.10.0
|
4
|
+
|
5
|
+
* Rename `konacha:ci` and `konacha:server` task to `konacha:run` and
|
6
|
+
`konacha:serve`
|
7
|
+
* Really don't require spec dependencies multiple times (#3)
|
8
|
+
|
3
9
|
# 0.9.1
|
4
10
|
|
5
11
|
* Support foo_spec.coffee files (without .js)
|
6
|
-
* Rename Konacha::Spec#basename to #asset_name
|
7
12
|
* Switch default port to 3500 to avoid collisions with HTTP proxies (like Charles)
|
8
13
|
* Update vendored copies of mocha (0.14.0+) and chai (0.4.2+)
|
9
14
|
* Do not require spec dependencies multiple times (#3)
|
10
15
|
* Support running a subset of specs via a subdirectory path
|
16
|
+
* Move #test div off screen: It's still layouted and CSS-visible,
|
17
|
+
but not actually visible in the browser window
|
11
18
|
|
12
19
|
# 0.9.0
|
13
20
|
|
data/README.md
CHANGED
@@ -56,12 +56,12 @@ Or, if you prefer CoffeeScript, in `spec/javascripts/array_sum_spec.js.coffee`:
|
|
56
56
|
it "returns the sum of numeric elements", ->
|
57
57
|
[1,2,3].sum().should.equal(6)
|
58
58
|
|
59
|
-
The `konacha:
|
59
|
+
The `konacha:serve` rake task starts a server for your tests. You can go to the root
|
60
60
|
page to run all specs (e.g. `http://localhost:3500/`), a sub page to run an individual
|
61
61
|
spec file (e.g. `http://localhost:3500/array_sum_spec`), or a path to a subdirectory to
|
62
62
|
run a subset of specs (e.g. `http://localhost:3500/models`).
|
63
63
|
|
64
|
-
Alternatively, you can run the specs headlessly with the `konacha:
|
64
|
+
Alternatively, you can run the specs headlessly with the `konacha:run` task.
|
65
65
|
|
66
66
|
## Spec Helper
|
67
67
|
|
@@ -103,7 +103,7 @@ environment.
|
|
103
103
|
|
104
104
|
The `spec_dir` option tells Konacha where to find JavaScript specs. The `interface`
|
105
105
|
option specifies the test interface used by Mocha (see below). `driver` names a
|
106
|
-
Capybara driver used for the
|
106
|
+
Capybara driver used for the `run` task (try `:webkit`, after installing
|
107
107
|
[capybara-webkit](https://github.com/thoughtbot/capybara-webkit)).
|
108
108
|
|
109
109
|
The values above are the defaults.
|
@@ -2,10 +2,10 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
|
5
|
-
<title>
|
6
|
-
<%= stylesheet_link_tag "mocha" %>
|
7
|
-
<%= stylesheet_link_tag "konacha" %>
|
8
|
-
<%= javascript_include_tag "jquery", "mocha", "chai", "konacha/#{Konacha.mode}" %>
|
5
|
+
<title>Konacha Tests</title>
|
6
|
+
<%= stylesheet_link_tag "mocha", :debug => false %>
|
7
|
+
<%= stylesheet_link_tag "konacha", :debug => false %>
|
8
|
+
<%= javascript_include_tag "jquery", "mocha", "chai", "konacha/#{Konacha.mode}", :debug => false %>
|
9
9
|
<script>
|
10
10
|
mocha.setup(<%= raw Konacha.interface.to_json %>);
|
11
11
|
var expect = chai.expect,
|
data/konacha.gemspec
CHANGED
@@ -17,7 +17,7 @@ the asset pipeline and engines.}
|
|
17
17
|
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
18
|
gem.name = "konacha"
|
19
19
|
gem.require_paths = ["lib"]
|
20
|
-
gem.version = "0.
|
20
|
+
gem.version = "0.10.0"
|
21
21
|
|
22
22
|
gem.add_dependency "jquery-rails"
|
23
23
|
gem.add_dependency "rails", "~> 3.1"
|
data/lib/konacha/runner.rb
CHANGED
data/lib/tasks/konacha.rake
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
namespace :konacha do
|
2
2
|
desc "Run JavaScript specs interactively"
|
3
|
-
task :
|
3
|
+
task :serve => :environment do
|
4
4
|
Konacha.serve
|
5
5
|
end
|
6
6
|
|
7
7
|
desc "Run JavaScript specs non-interactively"
|
8
|
-
task :
|
8
|
+
task :run => :environment do
|
9
9
|
Konacha.run
|
10
10
|
end
|
11
11
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
Dummy::Application.configure do
|
2
|
+
# Settings specified here will take precedence over those in config/application.rb
|
3
|
+
|
4
|
+
# In the development environment your application's code is reloaded on
|
5
|
+
# every request. This slows down response time but is perfect for development
|
6
|
+
# since you don't have to restart the web server when you make code changes.
|
7
|
+
config.cache_classes = false
|
8
|
+
|
9
|
+
# Log error messages when you accidentally call methods on nil.
|
10
|
+
config.whiny_nils = true
|
11
|
+
|
12
|
+
# Show full error reports and disable caching
|
13
|
+
config.consider_all_requests_local = true
|
14
|
+
config.action_controller.perform_caching = false
|
15
|
+
|
16
|
+
# Print deprecation notices to the Rails logger
|
17
|
+
config.active_support.deprecation = :log
|
18
|
+
|
19
|
+
# Only use best-standards-support built into browsers
|
20
|
+
config.action_dispatch.best_standards_support = :builtin
|
21
|
+
|
22
|
+
# Do not compress assets
|
23
|
+
config.assets.compress = false
|
24
|
+
|
25
|
+
# Expands the lines which load the assets
|
26
|
+
config.assets.debug = true
|
27
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,4 +1,7 @@
|
|
1
|
-
|
1
|
+
# In a real-world app, `rake konacha:serve` and `rake konacha:run` will use
|
2
|
+
# the development environment, so we test with the development defaults.
|
3
|
+
# In particular, it is important to test with `config.assets.debug = true`.
|
4
|
+
ENV["RAILS_ENV"] = "development"
|
2
5
|
|
3
6
|
require File.expand_path("../dummy/config/environment.rb", __FILE__)
|
4
7
|
require "rspec/rails"
|
@@ -16,22 +19,3 @@ Capybara.configure do |config|
|
|
16
19
|
config.default_driver = :selenium_with_firebug
|
17
20
|
config.app = Konacha.application
|
18
21
|
end
|
19
|
-
|
20
|
-
module SpecDoubleHelpers
|
21
|
-
def asset_double(asset_name, dependencies = [])
|
22
|
-
asset = double("asset called '#{asset_name}'")
|
23
|
-
asset.stub(:to_a).and_return([dependencies, asset].flatten)
|
24
|
-
asset.stub(:logical_path).and_return(asset_name)
|
25
|
-
view.asset_paths.stub(:asset_for).with(asset_name, "js").and_return(asset)
|
26
|
-
asset
|
27
|
-
end
|
28
|
-
|
29
|
-
def spec_double(asset_name, dependencies = [])
|
30
|
-
asset_double(asset_name, dependencies)
|
31
|
-
double("spec called '#{asset_name}'", :asset_name => asset_name)
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
RSpec.configure do |config|
|
36
|
-
config.include SpecDoubleHelpers, :type => :view
|
37
|
-
end
|
@@ -13,6 +13,19 @@ describe "konacha/specs/specs" do
|
|
13
13
|
rendered.should have_css("script[src='/assets/konacha/runner.js']")
|
14
14
|
end
|
15
15
|
|
16
|
+
def asset_double(asset_name, dependencies = [])
|
17
|
+
asset = double("asset called '#{asset_name}'")
|
18
|
+
asset.stub(:to_a).and_return([dependencies, asset].flatten)
|
19
|
+
asset.stub(:logical_path).and_return(asset_name)
|
20
|
+
view.asset_paths.stub(:asset_for).with(asset_name, "js").and_return(asset)
|
21
|
+
asset
|
22
|
+
end
|
23
|
+
|
24
|
+
def spec_double(asset_name, dependencies = [])
|
25
|
+
asset_double(asset_name, dependencies)
|
26
|
+
double("spec called '#{asset_name}'", :asset_name => asset_name)
|
27
|
+
end
|
28
|
+
|
16
29
|
let(:dependency) { asset_double("dependency") }
|
17
30
|
|
18
31
|
it "renders a script tag for each spec in @specs" do
|
@@ -42,4 +55,16 @@ describe "konacha/specs/specs" do
|
|
42
55
|
|
43
56
|
rendered.should have_selector("script[src='/assets/dependency.js?body=1']", :count => 1)
|
44
57
|
end
|
58
|
+
|
59
|
+
it "renders only one script tag for dependencies of dependencies" do
|
60
|
+
dependency_a = asset_double("dependency_a")
|
61
|
+
dependency_b = asset_double("dependency_b", [dependency_a])
|
62
|
+
|
63
|
+
assign(:specs, [spec_double("a_spec", [dependency_a, dependency_b])])
|
64
|
+
|
65
|
+
render
|
66
|
+
|
67
|
+
rendered.should have_selector("script[src='/assets/dependency_a.js?body=1']", :count => 1)
|
68
|
+
rendered.should have_selector("script[src='/assets/dependency_b.js?body=1']", :count => 1)
|
69
|
+
end
|
45
70
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: konacha
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-03-
|
12
|
+
date: 2012-03-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: jquery-rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &70262855227300 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70262855227300
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rails
|
27
|
-
requirement: &
|
27
|
+
requirement: &70262855225660 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '3.1'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70262855225660
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: capybara
|
38
|
-
requirement: &
|
38
|
+
requirement: &70262855224940 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70262855224940
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec-rails
|
49
|
-
requirement: &
|
49
|
+
requirement: &70262855224000 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70262855224000
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: capybara-firebug
|
60
|
-
requirement: &
|
60
|
+
requirement: &70262855223340 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '1.1'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70262855223340
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: coffee-script
|
71
|
-
requirement: &
|
71
|
+
requirement: &70262855222780 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70262855222780
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: ejs
|
82
|
-
requirement: &
|
82
|
+
requirement: &70262855222000 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70262855222000
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: vendorer
|
93
|
-
requirement: &
|
93
|
+
requirement: &70262855220680 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,7 +98,7 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70262855220680
|
102
102
|
description: ! 'Konacha is a Rails engine that allows you to test your JavaScript
|
103
103
|
with the
|
104
104
|
|
@@ -142,7 +142,7 @@ files:
|
|
142
142
|
- spec/dummy/config/application.rb
|
143
143
|
- spec/dummy/config/boot.rb
|
144
144
|
- spec/dummy/config/environment.rb
|
145
|
-
- spec/dummy/config/environments/
|
145
|
+
- spec/dummy/config/environments/development.rb
|
146
146
|
- spec/dummy/config/initializers/konacha.rb
|
147
147
|
- spec/dummy/spec/javascripts/array_sum_cs_spec.js.coffee
|
148
148
|
- spec/dummy/spec/javascripts/array_sum_js_spec.js
|
@@ -200,7 +200,7 @@ test_files:
|
|
200
200
|
- spec/dummy/config/application.rb
|
201
201
|
- spec/dummy/config/boot.rb
|
202
202
|
- spec/dummy/config/environment.rb
|
203
|
-
- spec/dummy/config/environments/
|
203
|
+
- spec/dummy/config/environments/development.rb
|
204
204
|
- spec/dummy/config/initializers/konacha.rb
|
205
205
|
- spec/dummy/spec/javascripts/array_sum_cs_spec.js.coffee
|
206
206
|
- spec/dummy/spec/javascripts/array_sum_js_spec.js
|
@@ -218,3 +218,4 @@ test_files:
|
|
218
218
|
- spec/server_spec.rb
|
219
219
|
- spec/spec_helper.rb
|
220
220
|
- spec/views/specs/specs.html.erb_spec.rb
|
221
|
+
has_rdoc:
|
@@ -1,29 +0,0 @@
|
|
1
|
-
Dummy::Application.configure do
|
2
|
-
# Settings specified here will take precedence over those in config/application.rb
|
3
|
-
|
4
|
-
# The test environment is used exclusively to run your application's
|
5
|
-
# test suite. You never need to work with it otherwise. Remember that
|
6
|
-
# your test database is "scratch space" for the test suite and is wiped
|
7
|
-
# and recreated between test runs. Don't rely on the data there!
|
8
|
-
config.cache_classes = true
|
9
|
-
|
10
|
-
# Configure static asset server for tests with Cache-Control for performance
|
11
|
-
config.serve_static_assets = true
|
12
|
-
config.static_cache_control = "public, max-age=3600"
|
13
|
-
|
14
|
-
# Log error messages when you accidentally call methods on nil
|
15
|
-
config.whiny_nils = true
|
16
|
-
|
17
|
-
# Show full error reports and disable caching
|
18
|
-
config.consider_all_requests_local = true
|
19
|
-
config.action_controller.perform_caching = false
|
20
|
-
|
21
|
-
# Raise exceptions instead of rendering exception templates
|
22
|
-
config.action_dispatch.show_exceptions = false
|
23
|
-
|
24
|
-
# Disable request forgery protection in test environment
|
25
|
-
config.action_controller.allow_forgery_protection = false
|
26
|
-
|
27
|
-
# Print deprecation notices to the stderr
|
28
|
-
config.active_support.deprecation = :stderr
|
29
|
-
end
|