fivemat 1.1.0 → 1.2.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.
- checksums.yaml +7 -0
- data/{README.md → README.markdown} +6 -0
- data/fivemat.gemspec +1 -1
- data/lib/fivemat.rb +2 -0
- data/lib/fivemat/cucumber.rb +5 -0
- data/lib/fivemat/elapsed_time.rb +9 -0
- data/lib/fivemat/minitest/unit.rb +5 -0
- data/lib/fivemat/rspec.rb +5 -0
- data/lib/fivemat/spec.rb +4 -0
- metadata +10 -10
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e986598270a34ee0c78a6e4920f2e3841f9df12a
|
4
|
+
data.tar.gz: 9d6e3b90e7281efc7996e6cbf6c7068c3a58b7b3
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ca7acf55440342459edd45cbdb24fc7f248b78cdd5174ea5a1932fbea6765c6582c131c66249723463576fbfd1e01ea2ead556129d385842590f0d233f79c3e4
|
7
|
+
data.tar.gz: c00e350caa74ceef739a24b4c160dbac76804827c11a04c078edee87976216c18dfc8041e78681e4d44ba4fb0f274afd654292854de531fd8266b51f89c183ac
|
@@ -38,6 +38,12 @@ Cucumber output:
|
|
38
38
|
features/sign_out.feature .......
|
39
39
|
features/sign_up.feature ...............................................
|
40
40
|
|
41
|
+
Enable profiling by setting the `FIVEMAT_PROFILE` variable in the environment:
|
42
|
+
|
43
|
+
> FIVEMAT_PROFILE=1 rspec --format Fivemat
|
44
|
+
DoohickeyTest .... (0.27s)
|
45
|
+
KajiggerTest ..................................... (1.87s)
|
46
|
+
|
41
47
|
## Usage
|
42
48
|
|
43
49
|
Start by adding `gem 'fivemat'` to your `Gemfile`.
|
data/fivemat.gemspec
CHANGED
data/lib/fivemat.rb
CHANGED
data/lib/fivemat/cucumber.rb
CHANGED
@@ -2,6 +2,8 @@ require 'cucumber/formatter/progress'
|
|
2
2
|
|
3
3
|
module Fivemat
|
4
4
|
class Cucumber < ::Cucumber::Formatter::Progress
|
5
|
+
include ElapsedTime
|
6
|
+
|
5
7
|
def label(feature)
|
6
8
|
feature.short_name
|
7
9
|
end
|
@@ -10,10 +12,13 @@ module Fivemat
|
|
10
12
|
@io.print "#{label(feature)} "
|
11
13
|
@io.flush
|
12
14
|
@exceptions = []
|
15
|
+
@start_time = Time.now
|
13
16
|
end
|
14
17
|
|
15
18
|
def after_feature(feature)
|
19
|
+
print_elapsed_time @io, @start_time
|
16
20
|
@io.puts
|
21
|
+
|
17
22
|
@exceptions.each do |(exception, status)|
|
18
23
|
print_exception(exception, status, 2)
|
19
24
|
end
|
@@ -1,8 +1,11 @@
|
|
1
1
|
require 'minitest/unit'
|
2
|
+
require 'fivemat/elapsed_time'
|
2
3
|
|
3
4
|
module Fivemat
|
4
5
|
module MiniTest
|
5
6
|
class Unit < ::MiniTest::Unit
|
7
|
+
include ElapsedTime
|
8
|
+
|
6
9
|
def _run_suites(suites, type)
|
7
10
|
offset = 0
|
8
11
|
suites.reject do |suite|
|
@@ -11,7 +14,9 @@ module Fivemat
|
|
11
14
|
suite.send("#{type}_methods").grep(filter).empty?
|
12
15
|
end.map do |suite|
|
13
16
|
print "#{suite} "
|
17
|
+
start_time = Time.now
|
14
18
|
result = _run_suite suite, type
|
19
|
+
print_elapsed_time $stdout, start_time
|
15
20
|
puts
|
16
21
|
report.each_with_index do |msg, i|
|
17
22
|
puts "%3d) %s" % [offset + i + 1, msg.gsub(/\n/, "\n ")]
|
data/lib/fivemat/rspec.rb
CHANGED
@@ -2,6 +2,8 @@ require 'rspec/core/formatters/progress_formatter'
|
|
2
2
|
|
3
3
|
module Fivemat
|
4
4
|
class RSpec < ::RSpec::Core::Formatters::ProgressFormatter
|
5
|
+
include ElapsedTime
|
6
|
+
|
5
7
|
def initialize(*)
|
6
8
|
super
|
7
9
|
@group_level = 0
|
@@ -12,6 +14,7 @@ module Fivemat
|
|
12
14
|
if @group_level.zero?
|
13
15
|
output.print "#{group.description} "
|
14
16
|
@failure_output = []
|
17
|
+
@start_time = Time.now
|
15
18
|
end
|
16
19
|
@group_level += 1
|
17
20
|
end
|
@@ -19,7 +22,9 @@ module Fivemat
|
|
19
22
|
def example_group_finished(group)
|
20
23
|
@group_level -= 1
|
21
24
|
if @group_level.zero?
|
25
|
+
print_elapsed_time output, @start_time
|
22
26
|
output.puts
|
27
|
+
|
23
28
|
failed_examples.each_with_index do |example, index|
|
24
29
|
if pending_fixed?(example)
|
25
30
|
dump_pending_fixed(example, @index_offset + index)
|
data/lib/fivemat/spec.rb
CHANGED
@@ -2,6 +2,8 @@ require 'spec/runner/formatter/progress_bar_formatter'
|
|
2
2
|
|
3
3
|
module Fivemat
|
4
4
|
class Spec < ::Spec::Runner::Formatter::ProgressBarFormatter
|
5
|
+
include ElapsedTime
|
6
|
+
|
5
7
|
def initialize(*)
|
6
8
|
super
|
7
9
|
@dumping = false
|
@@ -20,12 +22,14 @@ module Fivemat
|
|
20
22
|
@last_root_example_group = example_group_proxy
|
21
23
|
example_group_finished(example_group_proxy) unless @example_group_number == 1
|
22
24
|
output.print "#{example_group_proxy.nested_descriptions.first} "
|
25
|
+
@start_time = Time.now
|
23
26
|
end
|
24
27
|
|
25
28
|
@last_nested_descriptions = example_group_proxy.nested_descriptions
|
26
29
|
end
|
27
30
|
|
28
31
|
def example_group_finished(example_group_proxy)
|
32
|
+
print_elapsed_time output, @start_time
|
29
33
|
puts
|
30
34
|
|
31
35
|
@failed_examples.each_with_index do |example, index|
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fivemat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Tim Pope
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-03-02 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: MiniTest/RSpec/Cucumber formatter that gives each test file its own line
|
15
14
|
of dots
|
@@ -23,11 +22,12 @@ files:
|
|
23
22
|
- Gemfile
|
24
23
|
- LICENSE
|
25
24
|
- MIT-LICENSE
|
26
|
-
- README.
|
25
|
+
- README.markdown
|
27
26
|
- Rakefile
|
28
27
|
- fivemat.gemspec
|
29
28
|
- lib/fivemat.rb
|
30
29
|
- lib/fivemat/cucumber.rb
|
30
|
+
- lib/fivemat/elapsed_time.rb
|
31
31
|
- lib/fivemat/minitest.rb
|
32
32
|
- lib/fivemat/minitest/autorun.rb
|
33
33
|
- lib/fivemat/minitest/unit.rb
|
@@ -35,26 +35,26 @@ files:
|
|
35
35
|
- lib/fivemat/spec.rb
|
36
36
|
homepage: https://github.com/tpope/fivemat
|
37
37
|
licenses: []
|
38
|
+
metadata: {}
|
38
39
|
post_install_message:
|
39
40
|
rdoc_options: []
|
40
41
|
require_paths:
|
41
42
|
- lib
|
42
43
|
required_ruby_version: !ruby/object:Gem::Requirement
|
43
|
-
none: false
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
49
|
requirements:
|
51
|
-
- -
|
50
|
+
- - '>='
|
52
51
|
- !ruby/object:Gem::Version
|
53
52
|
version: '0'
|
54
53
|
requirements: []
|
55
54
|
rubyforge_project:
|
56
|
-
rubygems_version:
|
55
|
+
rubygems_version: 2.0.0
|
57
56
|
signing_key:
|
58
|
-
specification_version:
|
57
|
+
specification_version: 4
|
59
58
|
summary: Why settle for a test output format when you could have a test output fivemat?
|
60
59
|
test_files: []
|
60
|
+
has_rdoc:
|