rspec_numbering_formatter 0.0.3 → 0.1.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 451efeed770138459a2eda9d3b2677ad06b75838
4
+ data.tar.gz: 50c95304734a7714d81c856c4c8930566af0a5da
5
+ SHA512:
6
+ metadata.gz: 13078e2c13fa517020c4c10d576ab4bc735afae4986cabae77824b6cdd2be0d7fbba34e3fbaca6e7e7271c92edce04b51ec08e6459616cef8e1058b47615e8a7
7
+ data.tar.gz: bb16d76fa3fe1ba834b0b99355841ca2c6f37a0940aea92c298c2fdf111d1a494be20079367622cfd65b1431877c53ae5fb85f70f0fc545f294139d36479da70
data/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  An rspec formatter that shows elapsed time, example count, example description, and example location, with no scrolling except for errors.
4
4
 
5
+ Compatible with rspec 3.1
6
+
5
7
  Output looks something like this:
6
8
 
7
9
  $ rspec spec --format RspecNumberingFormatter
@@ -31,6 +33,9 @@ Note: (seriously) if your main project has 6,000 rspec examples, like mine does,
31
33
  pathological, and you should probably refactor, as I should. This formatter can help you cope
32
34
  while you're waiting for the doctor.
33
35
 
36
+ Note: this formatter is less helpful when used together with parallel_tests. Everything still
37
+ works, but you lose that smooth satisfying sense of progress because you're getting output from
38
+ N threads all on top of each other at once.
34
39
 
35
40
  ## Installation
36
41
 
@@ -53,6 +58,10 @@ Run rspec thus:
53
58
 
54
59
  Enjoy the immediate boost to your productivity.
55
60
 
61
+ ## History
62
+
63
+ 0.1.0: upgrade to depend on rspec 3.1
64
+
56
65
  ## Contributing
57
66
 
58
67
  1. Fork it
@@ -1,40 +1,39 @@
1
+ require 'rspec/core'
1
2
  require 'rspec/core/formatters/base_text_formatter'
2
3
 
3
4
  # useful reference: http://ascii-table.com/ansi-escape-sequences.php
4
5
 
5
6
  class RspecNumberingFormatter < RSpec::Core::Formatters::BaseTextFormatter
6
- VERSION = "0.0.3"
7
+ VERSION = "0.1.0"
8
+ RSpec::Core::Formatters.register self, :start, :example_passed, :example_failed
7
9
 
8
10
  attr_accessor :run_count
9
11
 
10
12
  def failure_color(*args); red(*args); end unless method_defined? :failure_color
11
13
 
12
- def start(example_count)
14
+ def start(notification)
13
15
  super
14
16
  @cwd = `pwd`
15
17
  @start_time = Time.now
16
18
  @run_count = 0
17
- super
18
- output.puts "#{example_count} examples"
19
+ output.puts "#{notification.count} examples"
19
20
  end
20
21
 
21
- def example_passed(example)
22
- super
22
+ def example_passed(notification)
23
23
  elapsed = (Time.now - @start_time).to_i
24
24
  secs = elapsed % 60
25
25
  mins = elapsed / 60
26
26
  elapsed = "#{mins}:#{secs.to_s.rjust(2, '0')}"
27
27
  @run_count += 1
28
- output.print "\r\e[K#{elapsed.rjust(8)} #{@run_count.to_s.rjust(10)} #{example.full_description[0..100].ljust(101)} #{truncate_cwd(example.location)[0..100]}"
28
+ output.print "\r\e[K#{elapsed.rjust(8)} #{@run_count.to_s.rjust(10)} #{notification.example.full_description[0..100].ljust(101)} #{truncate_cwd(notification.example.location)[0..100]}"
29
29
  end
30
30
 
31
- def example_failed(example)
32
- super
31
+ def example_failed(notification)
33
32
  @run_count += 1
34
- output.puts failure_color("\r\e[K#{@run_count.to_s.rjust(10)} #{example.full_description}")
35
- output.puts failure_color(" #{truncate_cwd example.location}")
36
- dump_failure_info example
37
- dump_backtrace example
33
+ output.puts "\r\e[K#{@run_count.to_s.rjust(10)} #{notification.example.full_description}"
34
+ output.puts " #{truncate_cwd notification.example.location}"
35
+ output.puts notification.colorized_message_lines
36
+ output.puts notification.colorized_formatted_backtrace
38
37
  output.puts
39
38
  end
40
39
 
@@ -42,7 +41,7 @@ class RspecNumberingFormatter < RSpec::Core::Formatters::BaseTextFormatter
42
41
  str.sub @cwd, ""
43
42
  end
44
43
 
45
- def dump_failures
44
+ def dump_failures notification
46
45
  puts
47
46
  end
48
47
 
@@ -15,7 +15,7 @@ Gem::Specification.new do |gem|
15
15
  gem.summary = %q{ RSpec formatter with more information in less space }
16
16
  gem.homepage = "https://github.com/conanite/rspec_numbering_formatter"
17
17
 
18
- gem.add_development_dependency 'rspec', '~> 2.9'
18
+ gem.add_development_dependency 'rspec', '~> 3.1'
19
19
 
20
20
  gem.files = `git ls-files`.split($/)
21
21
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -3,28 +3,37 @@ require 'spec_helper'
3
3
  describe RspecNumberingFormatter do
4
4
  it "should produce helpful output" do
5
5
  rspec_command = 'bundle exec rspec spec/sample-specs --format RspecNumberingFormatter -P "**/*_spec_sample.rb" 2>&1'
6
- output = `#{rspec_command}`
7
- output.gsub!(/Finished in \d+.\d+ seconds/, 'Finished in some seconds').gsub!(/\r/, "\n*").gsub!(/\e/, 'ESC')
8
- output.should == "4 examples
6
+ putout = `#{rspec_command}`
7
+ putout = putout.
8
+ gsub(/Finished in \d+.\d+ seconds/, 'Finished in some seconds').
9
+ gsub(/files took \d+.\d+ seconds to load/, 'files took AGES to load').
10
+ gsub(/\r/, "\n*").
11
+ gsub(/\e/, 'ESC').
12
+ split(/\n/).
13
+ map { |line| line.rstrip }.
14
+ join("\n")
15
+ expect(putout).to eq "4 examples
9
16
 
10
17
  *ESC[K 0:00 1 first should be nil ./spec/sample-specs/first_spec_sample.rb:4
11
18
  *ESC[K 0:00 2 first should be non-nil ./spec/sample-specs/first_spec_sample.rb:8
12
19
  *ESC[K 3 second sample should include a broken test
13
20
  ./spec/sample-specs/second_spec_sample.rb:4
14
- Failure/Error: (1 + 1).should == 3
15
- expected: 3
16
- got: 2 (using ==)
17
- # ./spec/sample-specs/second_spec_sample.rb:5:in `block (2 levels) in <top (required)>'
21
+ Failure/Error: expect((1 + 1)).to eq 3
22
+
23
+ expected: 3
24
+ got: 2
25
+
26
+ (compared using ==)
27
+ # ./spec/sample-specs/second_spec_sample.rb:5:in `block (2 levels) in <top (required)>'
18
28
 
19
29
 
20
30
  *ESC[K 0:00 4 second sample should be true ./spec/sample-specs/second_spec_sample.rb:8
21
31
 
22
- Finished in some seconds
32
+ Finished in some seconds (files took AGES to load)
23
33
  4 examples, 1 failure
24
34
 
25
35
  Failed examples:
26
36
 
27
- rspec ./spec/sample-specs/second_spec_sample.rb:4 # second sample should include a broken test
28
- "
37
+ rspec ./spec/sample-specs/second_spec_sample.rb:4 # second sample should include a broken test"
29
38
  end
30
39
  end
@@ -2,10 +2,10 @@ require 'sample_spec_helper'
2
2
 
3
3
  describe "first" do
4
4
  it "should be nil" do
5
- [].first.should == nil
5
+ expect([].first).to eq nil
6
6
  end
7
7
 
8
8
  it "should be non-nil" do
9
- [:a].first.should == :a
9
+ expect([:a].first).to eq :a
10
10
  end
11
11
  end
@@ -2,10 +2,10 @@ require 'sample_spec_helper'
2
2
 
3
3
  describe "second sample" do
4
4
  it "should include a broken test" do
5
- (1 + 1).should == 3
5
+ expect((1 + 1)).to eq 3
6
6
  end
7
7
 
8
8
  it "should be true" do
9
- true.should == true
9
+ expect(true).to eq true
10
10
  end
11
11
  end
@@ -1,4 +1,3 @@
1
1
  RSpec.configure do |config|
2
- config.treat_symbols_as_metadata_keys_with_true_values = true
3
2
  config.run_all_when_everything_filtered = true
4
3
  end
@@ -5,7 +5,6 @@
5
5
  #
6
6
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
7
  RSpec.configure do |config|
8
- config.treat_symbols_as_metadata_keys_with_true_values = true
9
8
  config.run_all_when_everything_filtered = true
10
9
  config.filter_run :focus
11
10
 
metadata CHANGED
@@ -1,42 +1,39 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec_numbering_formatter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
5
- prerelease:
4
+ version: 0.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Conan Dalton
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-11-20 00:00:00.000000000 Z
11
+ date: 2014-09-25 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rspec
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: '2.9'
19
+ version: '3.1'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: '2.9'
30
- description: ! ' An rspec formatter that shows elapsed time, example count, example
31
- description, and example location, with no scrolling except for errors. '
26
+ version: '3.1'
27
+ description: " An rspec formatter that shows elapsed time, example count, example
28
+ description, and example location, with no scrolling except for errors. "
32
29
  email:
33
30
  - conan@conandalton.net
34
31
  executables: []
35
32
  extensions: []
36
33
  extra_rdoc_files: []
37
34
  files:
38
- - .gitignore
39
- - .rspec
35
+ - ".gitignore"
36
+ - ".rspec"
40
37
  - Gemfile
41
38
  - LICENSE.txt
42
39
  - README.md
@@ -51,27 +48,26 @@ files:
51
48
  homepage: https://github.com/conanite/rspec_numbering_formatter
52
49
  licenses:
53
50
  - MIT
51
+ metadata: {}
54
52
  post_install_message:
55
53
  rdoc_options: []
56
54
  require_paths:
57
55
  - lib
58
56
  required_ruby_version: !ruby/object:Gem::Requirement
59
- none: false
60
57
  requirements:
61
- - - ! '>='
58
+ - - ">="
62
59
  - !ruby/object:Gem::Version
63
60
  version: '0'
64
61
  required_rubygems_version: !ruby/object:Gem::Requirement
65
- none: false
66
62
  requirements:
67
- - - ! '>='
63
+ - - ">="
68
64
  - !ruby/object:Gem::Version
69
65
  version: '0'
70
66
  requirements: []
71
67
  rubyforge_project:
72
- rubygems_version: 1.8.24
68
+ rubygems_version: 2.2.2
73
69
  signing_key:
74
- specification_version: 3
70
+ specification_version: 4
75
71
  summary: RSpec formatter with more information in less space
76
72
  test_files:
77
73
  - spec/rspec_numbering_formatter_spec.rb