rspec-nc 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.
data/.gitignore ADDED
@@ -0,0 +1,2 @@
1
+ Gemfile.lock
2
+ pkg
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ source :rubygems
2
+
3
+ gemspec
4
+
5
+ group :development, :test do
6
+ gem 'rake'
7
+ gem 'rspec'
8
+ end
data/README.md CHANGED
@@ -1,4 +1,31 @@
1
1
  RSpec Notification Center
2
- -------------------------
2
+ =========================
3
3
 
4
- Specify multiple formatters: `rspec spec/lib --format=doc --format=Nc`.
4
+ rspec-nc is an RSpec formatter for Mountain Lion's Notification Center.
5
+
6
+ Installation
7
+ ------------
8
+
9
+ Installing rspec-nc is easy. Just put it in your Gemfile (`gem 'rspec-nc'`) and
10
+ run your specs like this from now on:
11
+
12
+ ```
13
+ $ rspec --format=doc --format=Nc
14
+ ```
15
+
16
+ You will want to specify another formatter as rspec-nc does not provide any
17
+ other output.
18
+
19
+ If you want to use rspec-nc as your default formatter, simply put this option
20
+ in your .rspec file:
21
+
22
+ ```
23
+ --format Nc
24
+ ```
25
+
26
+ Contributing
27
+ ------------
28
+
29
+ Found an issue? Have a great idea? Want to help? Great! Create an issue issue
30
+ for it, or even better; fork the project and fix the problem yourself. Pull
31
+ requests are always welcome. :)
data/lib/nc.rb CHANGED
@@ -3,7 +3,19 @@ require 'terminal-notifier'
3
3
 
4
4
  class Nc < RSpec::Core::Formatters::BaseTextFormatter
5
5
  def dump_summary(duration, example_count, failure_count, pending_count)
6
- say "Finished in #{duration} seconds", summary_line(example_count, failure_count, pending_count)
6
+ body = []
7
+ body << "Finished in #{format_duration duration}"
8
+ body << summary_line(example_count, failure_count, pending_count)
9
+
10
+ name = File.basename(File.expand_path '.')
11
+
12
+ title = if failure_count > 0
13
+ "\u26D4 #{name}: #{failure_count} failed example#{failure_count == 1 ? nil : 's'}"
14
+ else
15
+ "\u2705 #{name}: Success"
16
+ end
17
+
18
+ say title, body.join("\n")
7
19
  end
8
20
 
9
21
  def dump_pending; end
data/rspec-nc.gemspec CHANGED
@@ -1,11 +1,11 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  Gem::Specification.new do |gem|
3
3
  gem.name = 'rspec-nc'
4
- gem.version = '0.0.1'
4
+ gem.version = '0.0.2'
5
5
  gem.authors = ['Odin Dutton']
6
6
  gem.email = ['odindutton@gmail.com']
7
7
  gem.description = 'https://github.com/twe4ked/rspec-nc'
8
- gem.summary = "RSpec extension for Mountain Lion's Notification Center"
8
+ gem.summary = "RSpec formatter for Mountain Lion's Notification Center"
9
9
  gem.homepage = 'https://github.com/twe4ked/rspec-nc'
10
10
 
11
11
  gem.add_dependency 'terminal-notifier', '~> 1.4.2'
data/spec/nc_spec.rb CHANGED
@@ -6,16 +6,38 @@ RSpec.configure do |config|
6
6
  config.formatter = 'Nc'
7
7
  end
8
8
 
9
- describe 'it works' do
10
- it 'returns success' do
11
- # success!
9
+ describe Nc do
10
+ let(:formatter) { Nc.new(StringIO.new) }
11
+ let(:current_dir) { File.basename(File.expand_path '.') }
12
+
13
+ # emoji
14
+ let(:success) { "\u2705" }
15
+ let(:failure) { "\u26D4" }
16
+
17
+ it 'returns the summary' do
18
+ TerminalNotifier.should_receive(:notify).with(
19
+ "Finished in 0.0001 seconds\n3 examples, 1 failure, 1 pending",
20
+ :title => "#{failure} #{current_dir}: 1 failed example"
21
+ )
22
+
23
+ formatter.dump_summary(0.0001, 3, 1, 1)
12
24
  end
13
25
 
14
- it 'returns pending' do
15
- pending
26
+ it 'returns a failing notification' do
27
+ TerminalNotifier.should_receive(:notify).with(
28
+ "Finished in 0.0001 seconds\n1 example, 1 failure",
29
+ :title => "#{failure} #{current_dir}: 1 failed example"
30
+ )
31
+
32
+ formatter.dump_summary(0.0001, 1, 1, 0)
16
33
  end
17
34
 
18
- it 'returns failure' do
19
- raise 'the roof'
35
+ it 'returns a success notification' do
36
+ TerminalNotifier.should_receive(:notify).with(
37
+ "Finished in 0.0001 seconds\n1 example, 0 failures",
38
+ :title => "#{success} #{current_dir}: Success"
39
+ )
40
+
41
+ formatter.dump_summary(0.0001, 1, 0, 0)
20
42
  end
21
43
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-nc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-17 00:00:00.000000000 Z
12
+ date: 2012-08-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: terminal-notifier
@@ -34,6 +34,8 @@ executables: []
34
34
  extensions: []
35
35
  extra_rdoc_files: []
36
36
  files:
37
+ - .gitignore
38
+ - Gemfile
37
39
  - LICENSE
38
40
  - README.md
39
41
  - Rakefile
@@ -52,17 +54,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
52
54
  - - ! '>='
53
55
  - !ruby/object:Gem::Version
54
56
  version: '0'
57
+ segments:
58
+ - 0
59
+ hash: 614248334397508871
55
60
  required_rubygems_version: !ruby/object:Gem::Requirement
56
61
  none: false
57
62
  requirements:
58
63
  - - ! '>='
59
64
  - !ruby/object:Gem::Version
60
65
  version: '0'
66
+ segments:
67
+ - 0
68
+ hash: 614248334397508871
61
69
  requirements: []
62
70
  rubyforge_project:
63
71
  rubygems_version: 1.8.23
64
72
  signing_key:
65
73
  specification_version: 3
66
- summary: RSpec extension for Mountain Lion's Notification Center
74
+ summary: RSpec formatter for Mountain Lion's Notification Center
67
75
  test_files:
68
76
  - spec/nc_spec.rb