fuubar 1.3.2 → 1.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/lib/fuubar.rb +8 -2
  3. data/spec/fuubar_spec.rb +42 -18
  4. metadata +18 -25
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0abed866500f12dc809a3058b70b72d0acabbf4f
4
+ data.tar.gz: ef1c62fed7ecb780e495751517159409d80ca9e3
5
+ SHA512:
6
+ metadata.gz: 5cc7b582ed5a19df4448293638305019cd660a9f9371686486adcb94a11dfc01da63876aa553b1b43151bd8bde0db07a87a917189b0b64b327b2807cf91ea136
7
+ data.tar.gz: 5ac7935063d2a7a8434eb5c34a6141773d160e2f5cb5322123265764eb238863eaaa75fe47bbccd5147ed4623667fb04394ae89dffa31850455717870a4381cc
@@ -12,6 +12,14 @@ class Fuubar < RSpec::Core::Formatters::BaseTextFormatter
12
12
  def initialize(*args)
13
13
  super
14
14
 
15
+ self.progress = ProgressBar.create(DEFAULT_PROGRESS_BAR_OPTIONS.
16
+ merge(:throttle_rate => continuous_integration? ? 1.0 : nil).
17
+ merge(:total => example_count,
18
+ :output => output,
19
+ :autostart => false))
20
+ end
21
+
22
+ def start(example_count)
15
23
  progress_bar_options = DEFAULT_PROGRESS_BAR_OPTIONS.
16
24
  merge(:throttle_rate => continuous_integration? ? 1.0 : nil).
17
25
  merge(configuration.fuubar_progress_bar_options).
@@ -20,9 +28,7 @@ class Fuubar < RSpec::Core::Formatters::BaseTextFormatter
20
28
  :autostart => false)
21
29
 
22
30
  self.progress = ProgressBar.create(progress_bar_options)
23
- end
24
31
 
25
- def start(example_count)
26
32
  super
27
33
 
28
34
  progress.total = example_count
@@ -12,7 +12,6 @@ describe Fuubar do
12
12
  end
13
13
 
14
14
  let(:formatter) { Fuubar.new(output) }
15
- let(:progress) { formatter.instance_variable_get(:@progress) }
16
15
  let(:example) { RSpec::Core::ExampleGroup.describe.example }
17
16
 
18
17
  let(:failed_example) do
@@ -48,28 +47,28 @@ describe Fuubar do
48
47
 
49
48
  context 'when it is created' do
50
49
  it 'does not start the bar until the formatter is started' do
51
- expect(progress).to be_stopped
50
+ expect(formatter.progress).not_to be_started
52
51
 
53
52
  formatter.start(2)
54
53
 
55
- expect(progress).not_to be_stopped
54
+ expect(formatter.progress).to be_started
56
55
  end
57
56
 
58
57
  it 'creates a new ProgressBar' do
59
- expect(progress).to be_instance_of ProgressBar::Base
58
+ expect(formatter.progress).to be_instance_of ProgressBar::Base
60
59
  end
61
60
 
62
- it 'sets the format of the bar' do
63
- expect(progress.instance_variable_get(:@format_string)).to eql ' %c/%C |%w>%i| %e '
61
+ it 'sets the format of the bar to the default' do
62
+ expect(formatter.progress.instance_variable_get(:@format_string)).to eql ' %c/%C |%w>%i| %e '
64
63
  end
65
64
 
66
65
  it 'sets the total to the number of examples' do
67
- expect(progress.total).to be_zero
66
+ expect(formatter.progress.total).to be_zero
68
67
  end
69
68
 
70
69
  it 'sets the bar\'s output' do
71
- expect(progress.send(:output)).to eql formatter.output
72
- expect(progress.send(:output)).to eql output
70
+ expect(formatter.progress.send(:output)).to eql formatter.output
71
+ expect(formatter.progress.send(:output)).to eql output
73
72
  end
74
73
 
75
74
  context 'and continuous integration is enabled' do
@@ -79,7 +78,7 @@ describe Fuubar do
79
78
  end
80
79
 
81
80
  it 'throttles the progress bar at one second' do
82
- throttle = progress.instance_variable_get(:@throttle)
81
+ throttle = formatter.progress.instance_variable_get(:@throttle)
83
82
  throttle_rate = throttle.instance_variable_get(:@period)
84
83
 
85
84
  expect(throttle_rate).to eql 1.0
@@ -87,11 +86,11 @@ describe Fuubar do
87
86
 
88
87
  context 'when processing an example' do
89
88
  before do
90
- throttle = progress.instance_variable_get(:@throttle)
91
- throttle_rate = throttle.instance_variable_set(:@period, 0.0)
92
-
93
89
  formatter.start(2)
94
90
 
91
+ throttle = formatter.progress.instance_variable_get(:@throttle)
92
+ throttle_rate = throttle.instance_variable_set(:@period, 0.0)
93
+
95
94
  output.rewind
96
95
 
97
96
  formatter.example_passed(example)
@@ -110,7 +109,7 @@ describe Fuubar do
110
109
  end
111
110
 
112
111
  it 'throttles the progress bar at the default rate' do
113
- throttle = progress.instance_variable_get(:@throttle)
112
+ throttle = formatter.progress.instance_variable_get(:@throttle)
114
113
  throttle_rate = throttle.instance_variable_get(:@period)
115
114
 
116
115
  expect(throttle_rate).to eql 0.01
@@ -118,11 +117,11 @@ describe Fuubar do
118
117
 
119
118
  context 'when processing an example' do
120
119
  before do
121
- throttle = progress.instance_variable_get(:@throttle)
122
- throttle_rate = throttle.instance_variable_set(:@period, 0.0)
123
-
124
120
  formatter.start(2)
125
121
 
122
+ throttle = formatter.progress.instance_variable_get(:@throttle)
123
+ throttle_rate = throttle.instance_variable_set(:@period, 0.0)
124
+
126
125
  output.rewind
127
126
 
128
127
  formatter.example_passed(example)
@@ -135,11 +134,36 @@ describe Fuubar do
135
134
  end
136
135
  end
137
136
 
137
+ context 'when custom options are set after the formatter is created' do
138
+ before(:each) do
139
+ formatter
140
+ RSpec.configuration.fuubar_progress_bar_options = {
141
+ :length => 40,
142
+ :throttle_rate => 0.0,
143
+ :format => '%c',
144
+ }
145
+ end
146
+
147
+ context 'when the bar is started' do
148
+ before(:each) { formatter.start(2) }
149
+
150
+ it 'properly creates the bar' do
151
+ expect(formatter.progress.instance_variable_get(:@format_string)).to eql '%c'
152
+ end
153
+ end
154
+ end
155
+
138
156
  context 'when it is started' do
139
157
  before { formatter.start(2) }
140
158
 
141
159
  it 'sets the total to the number of examples' do
142
- expect(progress.total).to eql 2
160
+ expect(formatter.progress.total).to eql 2
161
+ end
162
+
163
+ context 'and no custom options are passed in' do
164
+ it 'sets the format of the bar to the default' do
165
+ expect(formatter.progress.instance_variable_get(:@format_string)).to eql ' %c/%C |%w>%i| %e '
166
+ end
143
167
  end
144
168
 
145
169
  context 'and an example passes' do
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fuubar
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
5
- prerelease:
4
+ version: 1.3.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Nicholas Evans
@@ -11,46 +10,42 @@ authors:
11
10
  autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2013-12-16 00:00:00.000000000 Z
13
+ date: 2014-05-11 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: rspec
18
17
  requirement: !ruby/object:Gem::Requirement
19
- none: false
20
18
  requirements:
21
- - - ! '>='
19
+ - - ">="
22
20
  - !ruby/object:Gem::Version
23
21
  version: 2.14.0
24
- - - <
22
+ - - "<"
25
23
  - !ruby/object:Gem::Version
26
24
  version: 3.1.0
27
25
  type: :runtime
28
26
  prerelease: false
29
27
  version_requirements: !ruby/object:Gem::Requirement
30
- none: false
31
28
  requirements:
32
- - - ! '>='
29
+ - - ">="
33
30
  - !ruby/object:Gem::Version
34
31
  version: 2.14.0
35
- - - <
32
+ - - "<"
36
33
  - !ruby/object:Gem::Version
37
34
  version: 3.1.0
38
35
  - !ruby/object:Gem::Dependency
39
36
  name: ruby-progressbar
40
37
  requirement: !ruby/object:Gem::Requirement
41
- none: false
42
38
  requirements:
43
- - - ~>
39
+ - - "~>"
44
40
  - !ruby/object:Gem::Version
45
- version: '1.3'
41
+ version: '1.4'
46
42
  type: :runtime
47
43
  prerelease: false
48
44
  version_requirements: !ruby/object:Gem::Requirement
49
- none: false
50
45
  requirements:
51
- - - ~>
46
+ - - "~>"
52
47
  - !ruby/object:Gem::Version
53
- version: '1.3'
48
+ version: '1.4'
54
49
  description: the instafailing RSpec progress bar formatter
55
50
  email:
56
51
  - jeff@kreeftmeijer.nl
@@ -60,36 +55,34 @@ extra_rdoc_files:
60
55
  - README.md
61
56
  - LICENSE
62
57
  files:
63
- - lib/fuubar.rb
64
- - README.md
65
58
  - LICENSE
59
+ - README.md
60
+ - lib/fuubar.rb
66
61
  - spec/fuubar_spec.rb
67
62
  homepage: https://github.com/jeffkreeftmeijer/fuubar
68
63
  licenses: []
64
+ metadata: {}
69
65
  post_install_message:
70
66
  rdoc_options:
71
- - --charset
67
+ - "--charset"
72
68
  - UTF-8
73
69
  require_paths:
74
70
  - lib
75
71
  required_ruby_version: !ruby/object:Gem::Requirement
76
- none: false
77
72
  requirements:
78
- - - ! '>='
73
+ - - ">="
79
74
  - !ruby/object:Gem::Version
80
75
  version: '0'
81
76
  required_rubygems_version: !ruby/object:Gem::Requirement
82
- none: false
83
77
  requirements:
84
- - - ! '>='
78
+ - - ">="
85
79
  - !ruby/object:Gem::Version
86
80
  version: '0'
87
81
  requirements: []
88
82
  rubyforge_project: fuubar
89
- rubygems_version: 1.8.23
83
+ rubygems_version: 2.2.2
90
84
  signing_key:
91
- specification_version: 3
85
+ specification_version: 4
92
86
  summary: the instafailing RSpec progress bar formatter
93
87
  test_files:
94
88
  - spec/fuubar_spec.rb
95
- has_rdoc: