guard-rspec 4.5.0 → 4.5.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.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +1 -5
- data/.travis.yml +4 -2
- data/Gemfile +1 -1
- data/README.md +1 -1
- data/Rakefile +21 -9
- data/gemfiles/Gemfile.rspec-3.2 +14 -0
- data/lib/guard/rspec/command.rb +2 -2
- data/lib/guard/rspec/dsl.rb +10 -4
- data/lib/guard/rspec/runner.rb +3 -2
- data/lib/guard/rspec/templates/Guardfile +1 -0
- data/lib/guard/rspec/version.rb +1 -1
- data/lib/guard/rspec_formatter.rb +21 -19
- data/spec/lib/guard/rspec/command_spec.rb +1 -5
- data/spec/lib/guard/rspec/deprecator_spec.rb +0 -1
- data/spec/lib/guard/rspec/inspectors/base_inspector_spec.rb +0 -1
- data/spec/lib/guard/rspec/inspectors/keeping_inspector_spec.rb +7 -7
- data/spec/lib/guard/rspec/template_spec.rb +17 -11
- data/spec/lib/guard/rspec_formatter_spec.rb +59 -32
- data/spec/lib/guard/rspec_spec.rb +0 -1
- data/spec/spec_helper.rb +2 -3
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9fe0d0080c56ffac6fbcf18c84963e61691e5b6c
|
4
|
+
data.tar.gz: 04e4050124a176dde61d89f456f757ecd358b4ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00e48c73512d50c09971a860353e28b180423525ff6cbe89e72364037b2014c58bafdb8629664ee8d5f9cd7c76a24dfb4a165b2322298b2330afd07bdb2a5127
|
7
|
+
data.tar.gz: 5eda8b537e152b3e772d15dcd61920f9665499cbc2f21dfec49679033bf41b839afb663d64c8d3cf847c7c75f8895bb79a3ad2ea681ede3f5c7445a5670419c9
|
data/.rubocop_todo.yml
CHANGED
@@ -1,10 +1,6 @@
|
|
1
1
|
# This configuration was generated by `rubocop --auto-gen-config`
|
2
|
-
# on
|
2
|
+
# on 2015-05-27 21:27:40 +0200 using RuboCop version 0.25.0.
|
3
3
|
# The point is for the user to remove these configuration records
|
4
4
|
# one by one as the offenses are removed from the code base.
|
5
5
|
# Note that changes in the inspected code, or installation of new
|
6
6
|
# versions of RuboCop, may require this file to be generated again.
|
7
|
-
|
8
|
-
# Offense count: 1
|
9
|
-
Metrics/AbcSize:
|
10
|
-
Max: 20
|
data/.travis.yml
CHANGED
@@ -1,16 +1,18 @@
|
|
1
1
|
language: ruby
|
2
2
|
bundler_args: --without tool
|
3
3
|
rvm:
|
4
|
-
- 1.9.3
|
5
4
|
- 2.0.0
|
6
|
-
- 2.1.
|
5
|
+
- 2.1.5
|
6
|
+
- 2.2.0
|
7
7
|
- jruby-19mode
|
8
8
|
- rbx
|
9
9
|
gemfile:
|
10
10
|
- gemfiles/Gemfile.rspec-2.14
|
11
11
|
- gemfiles/Gemfile.rspec-2.99
|
12
12
|
- gemfiles/Gemfile.rspec-3.0
|
13
|
+
- gemfiles/Gemfile.rspec-3.2
|
13
14
|
matrix:
|
14
15
|
allow_failures:
|
15
16
|
- rvm: jruby-19mode
|
16
17
|
- rvm: rbx
|
18
|
+
- rvm: 1.9.3
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
Guard::RSpec allows to automatically & intelligently launch specs when files are modified.
|
6
6
|
|
7
7
|
* Compatible with RSpec >2.14 & 3
|
8
|
-
* Tested against Ruby 1.9.3, 2.0.0, 2.1.
|
8
|
+
* Tested against Ruby 1.9.3, 2.0.0, 2.1.5, 2.2.0 JRuby and Rubinius.
|
9
9
|
|
10
10
|
## Install
|
11
11
|
|
data/Rakefile
CHANGED
@@ -1,26 +1,38 @@
|
|
1
|
+
require "nenv"
|
1
2
|
require "bundler/gem_tasks"
|
3
|
+
require "yaml"
|
4
|
+
|
5
|
+
default_tasks = []
|
2
6
|
|
3
7
|
require "rspec/core/rake_task"
|
4
|
-
RSpec::Core::RakeTask.new(:spec)
|
5
|
-
|
8
|
+
default_tasks << RSpec::Core::RakeTask.new(:spec) do |t|
|
9
|
+
t.verbose = Nenv.ci?
|
10
|
+
end
|
11
|
+
|
12
|
+
unless Nenv.ci?
|
13
|
+
require "rubocop/rake_task"
|
14
|
+
default_tasks << RuboCop::RakeTask.new(:rubocop)
|
15
|
+
end
|
16
|
+
|
17
|
+
task default: default_tasks.map(&:name)
|
6
18
|
|
7
19
|
namespace :test do
|
8
20
|
desc "Locally run tests like Travis and HoundCI would"
|
9
21
|
task :all_versions do
|
22
|
+
system(*%w(bundle install --quiet)) || abort
|
10
23
|
system(*%w(bundle update --quiet)) || abort
|
11
24
|
system(*%w(bundle exec rubocop -c .hound.yml)) || abort
|
12
25
|
|
13
|
-
|
14
|
-
|
15
|
-
actual_gemfiles = gemfiles.select { |f| /\d\.\d{1,2}$/ =~ f }
|
16
|
-
actual_gemfiles.each do |gemfile|
|
26
|
+
travis = YAML.load(IO.read(".travis.yml"))
|
27
|
+
travis["gemfile"].each do |gemfile|
|
17
28
|
STDOUT.puts
|
18
29
|
STDOUT.puts "----------------------------------------------------- "
|
19
30
|
STDOUT.puts " >> Running tests using Gemfile: #{gemfile} <<"
|
20
31
|
STDOUT.puts "----------------------------------------------------- "
|
21
|
-
|
22
|
-
system(*%w(bundle
|
23
|
-
system(*%w(bundle
|
32
|
+
env = { "BUNDLE_GEMFILE" => gemfile }
|
33
|
+
system(env, *%w(bundle install --quiet)) || abort
|
34
|
+
system(env, *%w(bundle update --quiet)) || abort
|
35
|
+
system(env, *%w(bundle exec rspec)) || abort
|
24
36
|
end
|
25
37
|
end
|
26
38
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
source "https://rubygems.org"
|
2
|
+
|
3
|
+
gemspec path: '../'
|
4
|
+
|
5
|
+
gem 'rspec', '~> 3.2.0'
|
6
|
+
|
7
|
+
group :test do
|
8
|
+
gem 'coveralls', require: false
|
9
|
+
gem "guard-compat", ">= 0.0.2", require: false
|
10
|
+
end
|
11
|
+
|
12
|
+
group :tool do
|
13
|
+
gem 'ruby_gntp', require: false
|
14
|
+
end
|
data/lib/guard/rspec/command.rb
CHANGED
@@ -54,7 +54,7 @@ module Guard
|
|
54
54
|
# including output target
|
55
55
|
|
56
56
|
return formatters unless formatters
|
57
|
-
formatters.map { |entries| "-f #{entries.join
|
57
|
+
formatters.map { |entries| "-f #{entries.join ' -o '}" }.join(" ")
|
58
58
|
end
|
59
59
|
|
60
60
|
def _cmd_include_formatter?
|
@@ -63,7 +63,7 @@ module Guard
|
|
63
63
|
|
64
64
|
def _guard_formatter
|
65
65
|
dir = Pathname.new(__FILE__).dirname.dirname
|
66
|
-
"-r #{dir +
|
66
|
+
"-r #{dir + 'rspec_formatter.rb'} -f Guard::RSpecFormatter"
|
67
67
|
end
|
68
68
|
end
|
69
69
|
end
|
data/lib/guard/rspec/dsl.rb
CHANGED
@@ -33,13 +33,13 @@ module Guard
|
|
33
33
|
def rails(options = {})
|
34
34
|
# Rails example
|
35
35
|
@rails ||= OpenStruct.new.tap do |rails|
|
36
|
-
exts = options
|
36
|
+
exts = _view_extensions(options) * "|"
|
37
37
|
|
38
38
|
rails.app_files = %r{^app/(.+)\.rb$}
|
39
39
|
|
40
|
-
rails.views = %r{^app/(views/.+/[^/]*\.(?:#{exts
|
41
|
-
rails.view_dirs = %r{^app/views/(.+)/[^/]*\.(?:#{exts
|
42
|
-
rails.layouts = %r{^app/layouts/(.+)
|
40
|
+
rails.views = %r{^app/(views/.+/[^/]*\.(?:#{exts}))$}
|
41
|
+
rails.view_dirs = %r{^app/views/(.+)/[^/]*\.(?:#{exts})$}
|
42
|
+
rails.layouts = %r{^app/layouts/(.+)/[^/]*\.(?:#{exts})$}
|
43
43
|
|
44
44
|
rails.controllers = %r{^app/controllers/(.+)_controller\.rb$}
|
45
45
|
rails.routes = "config/routes.rb"
|
@@ -47,6 +47,12 @@ module Guard
|
|
47
47
|
rails.spec_helper = "#{rspec.spec_dir}/rails_helper.rb"
|
48
48
|
end
|
49
49
|
end
|
50
|
+
|
51
|
+
private
|
52
|
+
|
53
|
+
def _view_extensions(options)
|
54
|
+
options.dup.delete(:view_extensions) || %w(erb haml slim)
|
55
|
+
end
|
50
56
|
end
|
51
57
|
end
|
52
58
|
end
|
data/lib/guard/rspec/runner.rb
CHANGED
@@ -27,7 +27,7 @@ module Guard
|
|
27
27
|
def run(paths)
|
28
28
|
paths = inspector.paths(paths)
|
29
29
|
return true if paths.empty?
|
30
|
-
Compat::UI.info("Running: #{paths.join(
|
30
|
+
Compat::UI.info("Running: #{paths.join(' ')}", reset: true)
|
31
31
|
_run(false, paths, options)
|
32
32
|
end
|
33
33
|
|
@@ -76,7 +76,7 @@ module Guard
|
|
76
76
|
rescue
|
77
77
|
[nil, nil]
|
78
78
|
ensure
|
79
|
-
File.delete(formatter_tmp_file) if File.
|
79
|
+
File.delete(formatter_tmp_file) if File.exist?(formatter_tmp_file)
|
80
80
|
end
|
81
81
|
|
82
82
|
def _open_launchy
|
@@ -100,6 +100,7 @@ module Guard
|
|
100
100
|
summary, failed_paths = _command_output
|
101
101
|
unless summary && failed_paths
|
102
102
|
notifier.notify_failure
|
103
|
+
return
|
103
104
|
end
|
104
105
|
|
105
106
|
inspector.failed(failed_paths)
|
@@ -43,6 +43,7 @@ guard :rspec, cmd: "bundle exec rspec" do
|
|
43
43
|
|
44
44
|
# Capybara features specs
|
45
45
|
watch(rails.view_dirs) { |m| rspec.spec.("features/#{m[1]}") }
|
46
|
+
watch(rails.layouts) { |m| rspec.spec.("features/#{m[1]}") }
|
46
47
|
|
47
48
|
# Turnip features and steps
|
48
49
|
watch(%r{^spec/acceptance/(.+)\.feature$})
|
data/lib/guard/rspec/version.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
# other classes in this project!
|
3
3
|
|
4
4
|
require "pathname"
|
5
|
+
require "fileutils"
|
5
6
|
|
6
7
|
require "rspec"
|
7
8
|
require "rspec/core/formatters/base_formatter"
|
@@ -59,21 +60,19 @@ module Guard
|
|
59
60
|
end
|
60
61
|
|
61
62
|
def dump_summary(*args)
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
write_summary(*args)
|
72
|
-
end
|
73
|
-
rescue
|
74
|
-
# nothing really we can do, at least don"t kill the test runner
|
63
|
+
return write_summary(*args) unless self.class.rspec_3?
|
64
|
+
|
65
|
+
notification = args[0]
|
66
|
+
write_summary(
|
67
|
+
notification.duration,
|
68
|
+
notification.example_count,
|
69
|
+
notification.failure_count,
|
70
|
+
notification.pending_count
|
71
|
+
)
|
75
72
|
end
|
76
73
|
|
74
|
+
private
|
75
|
+
|
77
76
|
# Write summary to temporary file for runner
|
78
77
|
def write_summary(duration, total, failures, pending)
|
79
78
|
_write do |f|
|
@@ -82,8 +81,6 @@ module Guard
|
|
82
81
|
end
|
83
82
|
end
|
84
83
|
|
85
|
-
private
|
86
|
-
|
87
84
|
def _write(&block)
|
88
85
|
file = File.expand_path(TEMPORARY_FILE_PATH)
|
89
86
|
FileUtils.mkdir_p(File.dirname(file))
|
@@ -91,11 +88,8 @@ module Guard
|
|
91
88
|
end
|
92
89
|
|
93
90
|
def _failed_paths
|
94
|
-
failed = examples.select do |e|
|
95
|
-
e.execution_result[:status].to_s == "failed"
|
96
|
-
end
|
97
|
-
|
98
91
|
klass = self.class
|
92
|
+
failed = examples.select { |example| _status_failed?(example) }
|
99
93
|
failed.map { |e| klass.extract_spec_location(e.metadata) }.sort.uniq
|
100
94
|
end
|
101
95
|
|
@@ -107,5 +101,13 @@ module Guard
|
|
107
101
|
message << " in #{duration.round(4)} seconds"
|
108
102
|
message
|
109
103
|
end
|
104
|
+
|
105
|
+
def _status_failed?(example)
|
106
|
+
if self.class.rspec_3?
|
107
|
+
example.execution_result.status.to_s == "failed"
|
108
|
+
else
|
109
|
+
example.execution_result[:status].to_s == "failed"
|
110
|
+
end
|
111
|
+
end
|
110
112
|
end
|
111
113
|
end
|
@@ -9,7 +9,6 @@ RSpec.describe Guard::RSpec::Command do
|
|
9
9
|
let(:command) { Guard::RSpec::Command.new(paths, options) }
|
10
10
|
|
11
11
|
describe ".initialize" do
|
12
|
-
|
13
12
|
it "sets paths at the end" do
|
14
13
|
expect(command).to match /path1 path2$/
|
15
14
|
end
|
@@ -80,12 +79,9 @@ RSpec.describe Guard::RSpec::Command do
|
|
80
79
|
}
|
81
80
|
end
|
82
81
|
|
83
|
-
it "
|
84
|
-
as it should be present in the cmd" do
|
85
|
-
|
82
|
+
it "strips path of chdir" do
|
86
83
|
expect(command).to match %r{path1 path2}
|
87
84
|
end
|
88
85
|
end
|
89
86
|
end
|
90
|
-
|
91
87
|
end
|
@@ -6,7 +6,6 @@ RSpec.describe Guard::RSpec::Deprecator do
|
|
6
6
|
let(:deprecator) { Guard::RSpec::Deprecator.new(options) }
|
7
7
|
|
8
8
|
describe "#warns_about_deprecated_options" do
|
9
|
-
|
10
9
|
describe "handling of environment variable SPEC_OPTS" do
|
11
10
|
it "shows warning if SPEC_OPTS is set" do
|
12
11
|
ENV["SPEC_OPTS"] = "-f p"
|
@@ -68,13 +68,13 @@ RSpec.describe klass do
|
|
68
68
|
# Now it returns other failed locations
|
69
69
|
expect(
|
70
70
|
inspector.paths(
|
71
|
-
%w(spec/lib/guard/rspec/inspectors/base_inspector_spec.rb)
|
72
|
-
)
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
71
|
+
%w(spec/lib/guard/rspec/inspectors/base_inspector_spec.rb)
|
72
|
+
)
|
73
|
+
).to match_array([
|
74
|
+
"spec/lib/guard/rspec/runner_spec.rb",
|
75
|
+
"spec/lib/guard/rspec/inspectors/simple_inspector_spec.rb",
|
76
|
+
"spec/lib/guard/rspec/inspectors/base_inspector_spec.rb"
|
77
|
+
])
|
78
78
|
inspector.failed(other_failed_locations)
|
79
79
|
|
80
80
|
expect(inspector.paths(%w(spec/lib/guard/rspec/runner_spec.rb))).
|
@@ -33,24 +33,30 @@ RSpec.describe "Guard::RSpec" do
|
|
33
33
|
|
34
34
|
expect(subject.changed("app/controllers/application_controller.rb")).
|
35
35
|
to eq(
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
36
|
+
%w(
|
37
|
+
spec/controllers/application_controller_spec.rb
|
38
|
+
spec/routing/application_routing_spec.rb
|
39
|
+
spec/acceptance/application_spec.rb
|
40
|
+
spec/controllers
|
41
|
+
)
|
41
42
|
)
|
42
|
-
)
|
43
43
|
|
44
44
|
expect(subject.changed("app/controllers/foo_controller.rb")).
|
45
45
|
to match_array(
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
46
|
+
%w(
|
47
|
+
spec/controllers/foo_controller_spec.rb
|
48
|
+
spec/routing/foo_routing_spec.rb
|
49
|
+
spec/acceptance/foo_spec.rb
|
50
|
+
)
|
50
51
|
)
|
51
|
-
)
|
52
52
|
|
53
53
|
expect(subject.changed("config/routes.rb")).to eq(%w(spec/routing))
|
54
|
+
|
55
|
+
expect(subject.changed("app/layouts/foo/bar.slim")).to eq(
|
56
|
+
%w(
|
57
|
+
spec/features/foo_spec.rb
|
58
|
+
)
|
59
|
+
)
|
54
60
|
end
|
55
61
|
end
|
56
62
|
end
|
@@ -6,15 +6,41 @@ RSpec.describe Guard::RSpecFormatter do
|
|
6
6
|
it { is_expected.to be_relative }
|
7
7
|
end
|
8
8
|
|
9
|
-
describe "#
|
9
|
+
describe "#dump_summary" do
|
10
|
+
def rspec_summary_args(*args)
|
11
|
+
return args unless ::RSpec::Core::Version::STRING.start_with?("3.")
|
12
|
+
|
13
|
+
n = Struct.new(:duration, :example_count, :failure_count, :pending_count)
|
14
|
+
[n.new(*args)]
|
15
|
+
end
|
16
|
+
|
17
|
+
let(:example_dump_summary_args) { rspec_summary_args(123, 3, 1, 0) }
|
18
|
+
let(:summary_with_no_failures) { rspec_summary_args(123, 3, 0, 0) }
|
19
|
+
let(:summary_with_only_pending) { rspec_summary_args(123, 3, 0, 1) }
|
20
|
+
|
21
|
+
let(:failed_example) do
|
22
|
+
result =
|
23
|
+
if ::RSpec::Core::Version::STRING.start_with?("3.")
|
24
|
+
double(status: "failed")
|
25
|
+
else
|
26
|
+
{ status: "failed" }
|
27
|
+
end
|
28
|
+
|
29
|
+
double(execution_result: result, metadata: { location: spec_filename })
|
30
|
+
end
|
31
|
+
|
10
32
|
let(:writer) do
|
11
33
|
StringIO.new
|
12
34
|
end
|
13
35
|
|
36
|
+
let(:stub_formatter) { true }
|
37
|
+
|
14
38
|
let(:formatter) do
|
15
|
-
described_class.new(StringIO.new).tap do |
|
16
|
-
|
17
|
-
|
39
|
+
described_class.new(StringIO.new).tap do |formatter_stub|
|
40
|
+
if stub_formatter
|
41
|
+
allow(formatter_stub).to receive(:_write) do |&block|
|
42
|
+
block.call writer
|
43
|
+
end
|
18
44
|
end
|
19
45
|
end
|
20
46
|
end
|
@@ -25,9 +51,7 @@ RSpec.describe Guard::RSpecFormatter do
|
|
25
51
|
end
|
26
52
|
|
27
53
|
context "without stubbed IO" do
|
28
|
-
let(:
|
29
|
-
described_class.new(StringIO.new)
|
30
|
-
end
|
54
|
+
let(:stub_formatter) { false }
|
31
55
|
|
32
56
|
it "creates temporary file and and writes to it" do
|
33
57
|
file = File.expand_path(described_class::TEMPORARY_FILE_PATH)
|
@@ -40,27 +64,38 @@ RSpec.describe Guard::RSpecFormatter do
|
|
40
64
|
block.call writer
|
41
65
|
end
|
42
66
|
|
43
|
-
formatter.
|
67
|
+
formatter.dump_summary(*example_dump_summary_args)
|
68
|
+
end
|
69
|
+
|
70
|
+
context "when writing file fails" do
|
71
|
+
it "outputs an error" do
|
72
|
+
allow(FileUtils).to receive(:mkdir_p).and_raise(Errno::EACCES)
|
73
|
+
expect do
|
74
|
+
formatter.dump_summary(*example_dump_summary_args)
|
75
|
+
end.to raise_error(Errno::EACCES)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
context "when writer fails" do
|
80
|
+
it "outputs an error" do
|
81
|
+
allow(FileUtils).to receive(:mkdir_p).and_raise(TypeError, "foo")
|
82
|
+
expect do
|
83
|
+
formatter.dump_summary(*example_dump_summary_args)
|
84
|
+
end.to raise_error(TypeError, "foo")
|
85
|
+
end
|
44
86
|
end
|
45
87
|
end
|
46
88
|
|
47
89
|
context "with failures" do
|
48
90
|
let(:spec_filename) { "failed_location_spec.rb" }
|
49
91
|
|
50
|
-
let(:failed_example) do
|
51
|
-
double(
|
52
|
-
execution_result: { status: "failed" },
|
53
|
-
metadata: { location: spec_filename }
|
54
|
-
)
|
55
|
-
end
|
56
|
-
|
57
92
|
def expected_output(spec_filename)
|
58
93
|
/^3 examples, 1 failures in 123\.0 seconds\n#{spec_filename}\n$/
|
59
94
|
end
|
60
95
|
|
61
96
|
it "writes summary line and failed location in tmp dir" do
|
62
97
|
allow(formatter).to receive(:examples) { [failed_example] }
|
63
|
-
formatter.
|
98
|
+
formatter.dump_summary(*example_dump_summary_args)
|
64
99
|
expect(result).to match expected_output(spec_filename)
|
65
100
|
end
|
66
101
|
|
@@ -68,24 +103,16 @@ RSpec.describe Guard::RSpecFormatter do
|
|
68
103
|
allow(formatter).to receive(:examples).
|
69
104
|
and_return([failed_example, failed_example])
|
70
105
|
|
71
|
-
formatter.
|
106
|
+
formatter.dump_summary(*example_dump_summary_args)
|
72
107
|
expect(result).to match expected_output(spec_filename)
|
73
108
|
end
|
74
109
|
|
75
|
-
|
76
|
-
let(:notification) do
|
77
|
-
Struct.new(:duration, :example_count, :failure_count, :pending_count).
|
78
|
-
new(123, 3, 1, 0)
|
79
|
-
end
|
80
|
-
before do
|
81
|
-
allow(formatter.class).to receive(:rspec_3?).and_return(true)
|
82
|
-
end
|
110
|
+
let(:notification) { example_dump_summary_args }
|
83
111
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
end
|
112
|
+
it "writes summary line and failed location" do
|
113
|
+
allow(formatter).to receive(:examples) { [failed_example] }
|
114
|
+
formatter.dump_summary(*notification)
|
115
|
+
expect(result).to match expected_output(spec_filename)
|
89
116
|
end
|
90
117
|
end
|
91
118
|
|
@@ -127,14 +154,14 @@ RSpec.describe Guard::RSpecFormatter do
|
|
127
154
|
|
128
155
|
context "with only success" do
|
129
156
|
it "notifies success" do
|
130
|
-
formatter.
|
157
|
+
formatter.dump_summary(*summary_with_no_failures)
|
131
158
|
expect(result).to match /^3 examples, 0 failures in 123\.0 seconds\n$/
|
132
159
|
end
|
133
160
|
end
|
134
161
|
|
135
162
|
context "with pending" do
|
136
163
|
it "notifies pending too" do
|
137
|
-
formatter.
|
164
|
+
formatter.dump_summary(*summary_with_only_pending)
|
138
165
|
expect(result).to match(
|
139
166
|
/^3 examples, 0 failures \(1 pending\) in 123\.0 seconds\n$/
|
140
167
|
)
|
data/spec/spec_helper.rb
CHANGED
@@ -35,7 +35,6 @@ RSpec.configure do |config|
|
|
35
35
|
unless old_rspec
|
36
36
|
mocks.verify_partial_doubles = true
|
37
37
|
end
|
38
|
-
|
39
38
|
end
|
40
39
|
|
41
40
|
# These two settings work together to allow you to limit a spec run
|
@@ -96,13 +95,13 @@ RSpec.configure do |config|
|
|
96
95
|
|
97
96
|
%w(directory? delete readlines).each do |meth|
|
98
97
|
allow(File).to receive(meth.to_sym) do |*args|
|
99
|
-
abort "stub me: File.#{meth}(#{args.map(&:inspect) *
|
98
|
+
abort "stub me: File.#{meth}(#{args.map(&:inspect) * ','})!"
|
100
99
|
end
|
101
100
|
end
|
102
101
|
|
103
102
|
%w(mkdir).each do |meth|
|
104
103
|
allow(FileUtils).to receive(meth.to_sym) do |*args|
|
105
|
-
abort "stub me: FileUtils.#{meth}(#{args.map(&:inspect) *
|
104
|
+
abort "stub me: FileUtils.#{meth}(#{args.map(&:inspect) * ','})!"
|
106
105
|
end
|
107
106
|
end
|
108
107
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: guard-rspec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.5.
|
4
|
+
version: 4.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thibaud Guillaume-Gentil
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: guard
|
@@ -127,6 +127,7 @@ files:
|
|
127
127
|
- gemfiles/Gemfile.rspec-2.14
|
128
128
|
- gemfiles/Gemfile.rspec-2.99
|
129
129
|
- gemfiles/Gemfile.rspec-3.0
|
130
|
+
- gemfiles/Gemfile.rspec-3.2
|
130
131
|
- guard-rspec.gemspec
|
131
132
|
- lib/guard/rspec.rb
|
132
133
|
- lib/guard/rspec/command.rb
|
@@ -177,7 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
177
178
|
version: '0'
|
178
179
|
requirements: []
|
179
180
|
rubyforge_project:
|
180
|
-
rubygems_version: 2.
|
181
|
+
rubygems_version: 2.4.5
|
181
182
|
signing_key:
|
182
183
|
specification_version: 4
|
183
184
|
summary: Guard gem for RSpec
|