jasminerice-runner 0.0.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.
- data/.gitignore +6 -0
- data/Gemfile +4 -0
- data/README.md +15 -0
- data/Rakefile +1 -0
- data/jasminerice-runner.gemspec +24 -0
- data/lib/assets/javascripts/jasminerice_reporter.js.coffee +23 -0
- data/lib/jasminerice-runner.rb +4 -0
- data/lib/jasminerice-runner/runner.rb +37 -0
- data/lib/jasminerice-runner/version.rb +5 -0
- data/lib/tasks/jasminerice-runner.rake +9 -0
- metadata +90 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
jasminerice-runner
|
2
|
+
==================
|
3
|
+
|
4
|
+
Uses capybara to run jasmine specs with jasminerice and rails asset pipeline
|
5
|
+
|
6
|
+
Usage
|
7
|
+
-----
|
8
|
+
|
9
|
+
Add this to your spec.js:
|
10
|
+
|
11
|
+
#= require jasminerice_reporter
|
12
|
+
|
13
|
+
Then, run the rake task
|
14
|
+
|
15
|
+
rake jasminerice:run
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "jasminerice-runner/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "jasminerice-runner"
|
7
|
+
s.version = Jasminerice::Runner::VERSION
|
8
|
+
s.authors = ["Chris Nelson"]
|
9
|
+
s.email = ["chris@gaslightsoftware.com"]
|
10
|
+
s.homepage = ""
|
11
|
+
s.summary = %q{runs jasmine specs using capybara}
|
12
|
+
s.description = %q{Adds a rake task to run jasmine specs using capybara}
|
13
|
+
|
14
|
+
s.rubyforge_project = "jasminerice-runner"
|
15
|
+
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
|
21
|
+
# specify any dependencies here; for example:
|
22
|
+
# s.add_development_dependency "rspec"
|
23
|
+
s.add_runtime_dependency "capybara"
|
24
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class JasminericeReporter
|
2
|
+
@failedSpecs = {}
|
3
|
+
reportRunnerResults: (runner)->
|
4
|
+
@finished = true
|
5
|
+
@results = runner.results()
|
6
|
+
|
7
|
+
reportSpecResults: (spec) ->
|
8
|
+
#return if @failed
|
9
|
+
@failedSpecs or= {}
|
10
|
+
if spec.results().failedCount > 0
|
11
|
+
failure = ''
|
12
|
+
for expectation in spec.results().getItems()
|
13
|
+
if !expectation.passed()
|
14
|
+
failure = expectation.message
|
15
|
+
@failedSpecs[spec.suite.description] or= {}
|
16
|
+
@failedSpecs[spec.suite.description][spec.description] or= []
|
17
|
+
@failedSpecs[spec.suite.description][spec.description].push(failure)
|
18
|
+
#@failed = true
|
19
|
+
|
20
|
+
|
21
|
+
jQuery ->
|
22
|
+
window.jasmineRiceReporter = new JasminericeReporter()
|
23
|
+
jasmine.getEnv().addReporter jasmineRiceReporter
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Jasminerice
|
2
|
+
class Runner
|
3
|
+
include Capybara::DSL
|
4
|
+
|
5
|
+
def run
|
6
|
+
Capybara.default_driver = :selenium
|
7
|
+
visit "/jasmine"
|
8
|
+
puts "Running jasmine specs"
|
9
|
+
wait_until { page.evaluate_script("window.jasmineRiceReporter.finished")}
|
10
|
+
passed = page.evaluate_script("window.jasmineRiceReporter.results.passedCount")
|
11
|
+
failed = page.evaluate_script("window.jasmineRiceReporter.results.failedCount")
|
12
|
+
total = page.evaluate_script("window.jasmineRiceReporter.results.totalCount")
|
13
|
+
failures = page.evaluate_script("window.jasmineRiceReporter.failedSpecs")
|
14
|
+
puts "Jasmine results - Passed: #{passed} Failed: #{failed} Total: #{total}"
|
15
|
+
if failures.size > 0
|
16
|
+
puts 'Jasmine failures: '
|
17
|
+
for suiteName,suiteFailures in failures
|
18
|
+
puts " " + suiteName + "\n"
|
19
|
+
for specName,specFailures in suiteFailures
|
20
|
+
puts " " + specName + "\n"
|
21
|
+
for specFailure in specFailures
|
22
|
+
puts " " + specFailure + "\n"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
puts "\n"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
if page.evaluate_script("window.jasmineRiceReporter.results.failedCount") == 0
|
30
|
+
puts "Jasmine specs passed, yay!"
|
31
|
+
else
|
32
|
+
raise "Jasmine specs failed"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
metadata
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jasminerice-runner
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 1
|
10
|
+
version: 0.0.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Chris Nelson
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2012-05-02 00:00:00 -04:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
name: capybara
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
version: "0"
|
33
|
+
type: :runtime
|
34
|
+
version_requirements: *id001
|
35
|
+
description: Adds a rake task to run jasmine specs using capybara
|
36
|
+
email:
|
37
|
+
- chris@gaslightsoftware.com
|
38
|
+
executables: []
|
39
|
+
|
40
|
+
extensions: []
|
41
|
+
|
42
|
+
extra_rdoc_files: []
|
43
|
+
|
44
|
+
files:
|
45
|
+
- .gitignore
|
46
|
+
- Gemfile
|
47
|
+
- README.md
|
48
|
+
- Rakefile
|
49
|
+
- jasminerice-runner.gemspec
|
50
|
+
- lib/assets/javascripts/jasminerice_reporter.js.coffee
|
51
|
+
- lib/jasminerice-runner.rb
|
52
|
+
- lib/jasminerice-runner/runner.rb
|
53
|
+
- lib/jasminerice-runner/version.rb
|
54
|
+
- lib/tasks/jasminerice-runner.rake
|
55
|
+
has_rdoc: true
|
56
|
+
homepage: ""
|
57
|
+
licenses: []
|
58
|
+
|
59
|
+
post_install_message:
|
60
|
+
rdoc_options: []
|
61
|
+
|
62
|
+
require_paths:
|
63
|
+
- lib
|
64
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
hash: 3
|
70
|
+
segments:
|
71
|
+
- 0
|
72
|
+
version: "0"
|
73
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ">="
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
hash: 3
|
79
|
+
segments:
|
80
|
+
- 0
|
81
|
+
version: "0"
|
82
|
+
requirements: []
|
83
|
+
|
84
|
+
rubyforge_project: jasminerice-runner
|
85
|
+
rubygems_version: 1.3.7
|
86
|
+
signing_key:
|
87
|
+
specification_version: 3
|
88
|
+
summary: runs jasmine specs using capybara
|
89
|
+
test_files: []
|
90
|
+
|