dots_formatter 0.0.1 → 0.0.2
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/.gitignore +1 -0
- data/.rspec +4 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +26 -0
- data/README.md +7 -3
- data/dots_formatter.gemspec +2 -2
- data/lib/dots_formatter/{dots_formatter_rspec_3.rb → dots.rb} +9 -10
- data/lib/dots_formatter.rb +1 -4
- data/spec/dots_formatter/dots_spec.rb +28 -0
- data/spec/spec_helper.rb +21 -0
- metadata +14 -11
- data/lib/dots_formatter/dots_formatter_rspec_2.rb +0 -60
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 177baa5ac05cd0edbcdeac6a34aa9675230341a8
|
4
|
+
data.tar.gz: 96fb7a42e60b36fe253ed134549299a6ba1a5251
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 77074a5278ba71c24ffb096375cdeb1470725626d9c084be981e76f32c6c183ba07df5d90e47e4aa6be6eecec0b018aec5112431ad71d10913b6371ad1b95d9b
|
7
|
+
data.tar.gz: 680816919dce56e65cf5d75f9b3963cf396788e1c76194b20d1b9908ad83ec3239e3e502a5574cfac04cb05071c32cb521c0fdfc18919b0fe7fe2b03b1e42db2
|
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
*.gem
|
data/.rspec
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://rubygems.org/
|
3
|
+
specs:
|
4
|
+
diff-lcs (1.2.5)
|
5
|
+
rspec (3.3.0)
|
6
|
+
rspec-core (~> 3.3.0)
|
7
|
+
rspec-expectations (~> 3.3.0)
|
8
|
+
rspec-mocks (~> 3.3.0)
|
9
|
+
rspec-core (3.3.1)
|
10
|
+
rspec-support (~> 3.3.0)
|
11
|
+
rspec-expectations (3.3.0)
|
12
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
13
|
+
rspec-support (~> 3.3.0)
|
14
|
+
rspec-mocks (3.3.1)
|
15
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
16
|
+
rspec-support (~> 3.3.0)
|
17
|
+
rspec-support (3.3.0)
|
18
|
+
|
19
|
+
PLATFORMS
|
20
|
+
ruby
|
21
|
+
|
22
|
+
DEPENDENCIES
|
23
|
+
rspec
|
24
|
+
|
25
|
+
BUNDLED WITH
|
26
|
+
1.10.5
|
data/README.md
CHANGED
@@ -18,11 +18,16 @@ with the time taken for each test.
|
|
18
18
|
|
19
19
|
Currently only works with RSpec 3 and up.
|
20
20
|
|
21
|
-
|
21
|
+
|
22
|
+
To run, first install the gem:
|
23
|
+
```ruby
|
24
|
+
gem install dots_formatter
|
25
|
+
```
|
26
|
+
|
27
|
+
then in either a project specific .rspec file or
|
22
28
|
in your home .rspec file, or directly on the command line:
|
23
29
|
|
24
30
|
```ruby
|
25
|
-
--require /path/to/dots_formatter/lib/dots_formmater.rb
|
26
31
|
--format DotsFormatter
|
27
32
|
```
|
28
33
|
|
@@ -30,6 +35,5 @@ in your home .rspec file, or directly on the command line:
|
|
30
35
|
|
31
36
|
* Port RSpec 3 to RSpec 2
|
32
37
|
* Better Readme
|
33
|
-
* Gem-ify
|
34
38
|
* Debug as command line option
|
35
39
|
* Tests
|
data/dots_formatter.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'dots_formatter'
|
3
|
-
s.version = '0.0.
|
4
|
-
s.date = '2015-
|
3
|
+
s.version = '0.0.2'
|
4
|
+
s.date = '2015-07-07'
|
5
5
|
s.summary = "A simple, informative RSpec formatter"
|
6
6
|
s.description = "Get instance feedback on number of passed:failed:pending / total with quick failure status"
|
7
7
|
s.authors = ["Paul Brennan"]
|
@@ -1,19 +1,18 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
RSpec::Support.require_rspec_core "formatters/base_text_formatter"
|
3
|
-
module RSpec
|
3
|
+
module RSpec
|
4
4
|
module Core
|
5
|
-
module Formatters
|
5
|
+
module Formatters
|
6
6
|
|
7
7
|
class Dots < BaseTextFormatter
|
8
8
|
|
9
9
|
Formatters.register self, :example_passed, :example_pending, :example_started,
|
10
10
|
:example_failed, :start, :dump_failures
|
11
|
-
|
12
11
|
attr_accessor :passes, :fails, :runs, :pendings, :screen_width, :start_time, :example_start, :debug
|
13
12
|
|
14
13
|
def initialize(output)
|
15
14
|
@passes = 0
|
16
|
-
@fails = 0
|
15
|
+
@fails = 0
|
17
16
|
@runs = 0
|
18
17
|
@pendings = 0
|
19
18
|
@screen_width = `tput cols`.to_i - 1
|
@@ -43,11 +42,11 @@ module RSpec
|
|
43
42
|
@passes += 1
|
44
43
|
print_progress(example, true)
|
45
44
|
end
|
46
|
-
|
45
|
+
|
47
46
|
def example_failed(example)
|
48
47
|
@fails += 1
|
49
48
|
@runs += 1
|
50
|
-
failure = ConsoleCodes.wrap("\r Failed example: ", :failure) +
|
49
|
+
failure = ConsoleCodes.wrap("\r Failed example: ", :failure) +
|
51
50
|
ConsoleCodes.wrap(example.example.full_description, :white)
|
52
51
|
output.puts failure[0..@screen_width].ljust(@screen_width) unless @debug
|
53
52
|
print_progress(example, true)
|
@@ -57,7 +56,7 @@ module RSpec
|
|
57
56
|
def dump_summary(summary)
|
58
57
|
output.puts
|
59
58
|
output.puts
|
60
|
-
colour = (@fails == 0)? :success : :failure
|
59
|
+
colour = (@fails == 0)? :success : :failure
|
61
60
|
|
62
61
|
output.puts ConsoleCodes.wrap("┌" + "-".ljust(50,"-") + "┐", colour)
|
63
62
|
output.puts ConsoleCodes.wrap("│ #{summary.example_count} test#{summary.example_count == 1? '' : 's'}".ljust(50) + " |", colour)
|
@@ -65,12 +64,12 @@ module RSpec
|
|
65
64
|
output.puts ConsoleCodes.wrap("| Ran in #{Helpers.format_duration summary.duration}".ljust(50) + " |", colour)
|
66
65
|
output.puts ConsoleCodes.wrap("└" + "-".ljust(50,"-") + "┘", colour)
|
67
66
|
output.puts
|
68
|
-
output.puts summary.colorized_rerun_commands
|
67
|
+
output.puts summary.colorized_rerun_commands if @fails > 0
|
69
68
|
end
|
70
69
|
|
71
70
|
def dump_failures(notification)
|
72
71
|
output.puts
|
73
|
-
output.puts notification.fully_formatted_failed_examples
|
72
|
+
output.puts notification.fully_formatted_failed_examples if @fails > 0
|
74
73
|
end
|
75
74
|
|
76
75
|
def print_progress(example, finish = false)
|
@@ -78,7 +77,7 @@ module RSpec
|
|
78
77
|
tot = ConsoleCodes.wrap("#{@example_count}", :white)
|
79
78
|
fls = ConsoleCodes.wrap("#{fails}", :failure)
|
80
79
|
suc = ConsoleCodes.wrap("#{@runs - @fails}", :success)
|
81
|
-
png = ConsoleCodes.wrap("#{@pendings}", :pending)
|
80
|
+
png = ConsoleCodes.wrap("#{@pendings}", :pending)
|
82
81
|
current_dur = Time.now - @start_time
|
83
82
|
prev_dur = Time.now - @example_start
|
84
83
|
tim = ConsoleCodes.wrap( "(Running #{Helpers.format_duration current_dur})", :cyan)
|
data/lib/dots_formatter.rb
CHANGED
@@ -1,10 +1,7 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
3
|
if Gem::Version.new(RSpec::Core::Version::STRING).release >= Gem::Version.new('3.0.0')
|
4
|
-
require_relative './dots_formatter/
|
4
|
+
require_relative './dots_formatter/dots'
|
5
5
|
DotsFormatter = RSpec::Core::Formatters::Dots
|
6
|
-
else
|
7
|
-
require_relative './dots_formmater/dots_formatter_rspec_2'
|
8
|
-
DotsFormatter = Rspec2
|
9
6
|
end
|
10
7
|
|
@@ -0,0 +1,28 @@
|
|
1
|
+
class TestOutput
|
2
|
+
|
3
|
+
attr_accessor :messages
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
@messages = []
|
7
|
+
end
|
8
|
+
|
9
|
+
def puts(message)
|
10
|
+
@messages << message
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
describe 'dots formatter' do
|
15
|
+
|
16
|
+
let(:output){TestOutput.new}
|
17
|
+
let(:formatter){DotsFormatter.new(output)}
|
18
|
+
|
19
|
+
it 'should set the default values' do
|
20
|
+
expect(formatter.fails).to eq(0)
|
21
|
+
expect(formatter.passes).to eq(0)
|
22
|
+
expect(formatter.fails).to eq(0)
|
23
|
+
expect(formatter.runs).to eq(0)
|
24
|
+
expect(formatter.pendings).to eq(0)
|
25
|
+
expect(formatter.debug).to eq(false)
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
RSpec.configure do |config|
|
2
|
+
config.expect_with :rspec do |expectations|
|
3
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
4
|
+
end
|
5
|
+
|
6
|
+
config.mock_with :rspec do |mocks|
|
7
|
+
mocks.verify_partial_doubles = true
|
8
|
+
end
|
9
|
+
|
10
|
+
config.filter_run :focus
|
11
|
+
config.run_all_when_everything_filtered = true
|
12
|
+
|
13
|
+
|
14
|
+
# This setting enables warnings. It's recommended, but in some cases may
|
15
|
+
# be too noisy due to issues in dependencies.
|
16
|
+
config.warnings = true
|
17
|
+
|
18
|
+
config.order = :random
|
19
|
+
|
20
|
+
Kernel.srand config.seed
|
21
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dots_formatter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Paul Brennan
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2015-
|
11
|
+
date: 2015-07-07 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: Get instance feedback on number of passed:failed:pending / total with
|
15
14
|
quick failure status
|
@@ -18,36 +17,40 @@ executables: []
|
|
18
17
|
extensions: []
|
19
18
|
extra_rdoc_files: []
|
20
19
|
files:
|
20
|
+
- ".gitignore"
|
21
|
+
- ".rspec"
|
22
|
+
- Gemfile
|
23
|
+
- Gemfile.lock
|
21
24
|
- README.md
|
22
25
|
- docs/all_passing.jpg
|
23
26
|
- docs/with_failure.jpg
|
24
27
|
- dots_formatter.gemspec
|
25
28
|
- lib/dots_formatter.rb
|
26
|
-
- lib/dots_formatter/
|
27
|
-
-
|
29
|
+
- lib/dots_formatter/dots.rb
|
30
|
+
- spec/dots_formatter/dots_spec.rb
|
31
|
+
- spec/spec_helper.rb
|
28
32
|
homepage: https://github.com/yule/dots_formatter
|
29
33
|
licenses:
|
30
34
|
- MIT
|
35
|
+
metadata: {}
|
31
36
|
post_install_message:
|
32
37
|
rdoc_options: []
|
33
38
|
require_paths:
|
34
39
|
- lib
|
35
40
|
required_ruby_version: !ruby/object:Gem::Requirement
|
36
|
-
none: false
|
37
41
|
requirements:
|
38
|
-
- -
|
42
|
+
- - ">="
|
39
43
|
- !ruby/object:Gem::Version
|
40
44
|
version: '0'
|
41
45
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
46
|
requirements:
|
44
|
-
- -
|
47
|
+
- - ">="
|
45
48
|
- !ruby/object:Gem::Version
|
46
49
|
version: '0'
|
47
50
|
requirements: []
|
48
51
|
rubyforge_project:
|
49
|
-
rubygems_version:
|
52
|
+
rubygems_version: 2.4.8
|
50
53
|
signing_key:
|
51
|
-
specification_version:
|
54
|
+
specification_version: 4
|
52
55
|
summary: A simple, informative RSpec formatter
|
53
56
|
test_files: []
|
@@ -1,60 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
require 'rspec/core/formatters/progress_formatter'
|
3
|
-
class Rspec2 < RSpec::Core::Formatters::BaseTextFormatter
|
4
|
-
|
5
|
-
def start(number)
|
6
|
-
super(number)
|
7
|
-
output.puts
|
8
|
-
end
|
9
|
-
|
10
|
-
def example_started(example)
|
11
|
-
super(example)
|
12
|
-
print_progress(example)
|
13
|
-
end
|
14
|
-
|
15
|
-
def example_passed(example)
|
16
|
-
super(example)
|
17
|
-
#print_progress
|
18
|
-
end
|
19
|
-
|
20
|
-
def example_failed(example)
|
21
|
-
super(example)
|
22
|
-
@failure_count += 1
|
23
|
-
print_progress(example)
|
24
|
-
end
|
25
|
-
|
26
|
-
|
27
|
-
def dump_summary(duration, example_count, failure_count, pending_count)
|
28
|
-
output.puts
|
29
|
-
output.puts
|
30
|
-
output.puts "Finished in #{format_duration duration}"
|
31
|
-
output.puts
|
32
|
-
if failure_count == 0
|
33
|
-
output.puts success_color("┌" + "--------------" + "-".ljust(20,"-") + "┐")
|
34
|
-
output.puts success_color("│" + " (^ヽ--△<^)" + " ".ljust(20) + "│")
|
35
|
-
output.puts success_color("│" + " / ~▽" + " ".ljust(20) + "│")
|
36
|
-
output.puts success_color("│" + "士 0 o 0 士" + " #{example_count} test#{example_count > 1? 's' : ' '}".ljust(20) + "│")
|
37
|
-
output.puts success_color("│" + " メ ___ メ " + " ".ljust(20) + "│")
|
38
|
-
output.puts success_color("│" + " / へ`-L、 " + " No failures.".ljust(20) + "│")
|
39
|
-
output.puts success_color("│" + " (~( し′| )" + " ".ljust(20) + "│")
|
40
|
-
output.puts success_color("└" + "--------------" + "-".ljust(20,"-") + "┘")
|
41
|
-
else
|
42
|
-
output.puts failure_color("┌" + "-".ljust(50,"-") + "┐")
|
43
|
-
output.puts failure_color("│ #{example_count} test#{example_count > 1? 's' : ' '}, #{failure_count} failure#{failure_count > 1? 's' : ' '}".ljust(50) + " │")
|
44
|
-
output.puts failure_color("└" + "-".ljust(50,"-") + "┘")
|
45
|
-
super
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def print_progress(example)
|
50
|
-
if @failure_count > 0
|
51
|
-
output.print failure_color("\r ● #{@examples.count - @failure_count}/#{@example_count}. #{@pending_count + '. pending.' if @pending_count > 0} #{example.full_description.ljust(150)}")
|
52
|
-
elsif @pending_count > 0
|
53
|
-
output.print pending_color("\r ● #{@examples.count - @failure_count}/#{@example_count}. #{@pending_count} pending #{example.full_description.ljust(150)}")
|
54
|
-
else
|
55
|
-
output.print success_color("\r ● #{@examples.count - @failure_count}/#{@example_count} #{example.full_description.ljust(150)}\r")
|
56
|
-
end
|
57
|
-
|
58
|
-
end
|
59
|
-
|
60
|
-
end
|