rspec_term 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6014901cddd549ab5fe80f6ee647739d6380b396
4
- data.tar.gz: 7fb89013efb4c67bb5d73d39e8f61800fa04ae15
3
+ metadata.gz: 8cddd663b83f38f851a927b4b2b5843bcd73f1aa
4
+ data.tar.gz: 23dd069bdd8959b95eab2e1551ce3cdbb0de0a40
5
5
  SHA512:
6
- metadata.gz: 4dd0763db6f8cfb1c3b6b4c3ee395632bbae802ce9c3e3cb8bc76854761f3d78a80b590a6bcfc54dc14800261c44946da13a1bacf855fdffb296a400a88137f5
7
- data.tar.gz: 45141d294278d585c040200ec908847847795c18e0a56ccb2259e68a1dbc4fc96e4adfa107f0d7742ed903e6c4e7b223eff89dd327018a36264df2c3c91d6221
6
+ metadata.gz: 3699f92d3e1048941d6fe72e3aa855ead3ef132b4122a3fa669652d01f992782752267f6faa7ac8fc3d97917cf0465d1ab52ea3067d8622f14ee3f8e675f1379
7
+ data.tar.gz: e4661f956e844a740bf3e86ad39a55b188d04755308ef2b25bf67b8110487fa7d194b41faebaf84e730d45cc011e2df88e3e8b8af2f0df9d1eb3d3daae3cb18d
data/Gemfile CHANGED
@@ -2,6 +2,3 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in rspec_term.gemspec
4
4
  gemspec
5
-
6
- gem 'rspec'
7
-
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # RspecTerm
2
- ###### ver 0.2.0
2
+ ###### ver 0.3.0
3
3
 
4
4
  RSpecの実行中や、テスト結果によってiTermの背景画像を変更する ruby gem です。
5
5
  RSpec2, RSpec3に対応しています。
@@ -39,6 +39,17 @@ spec/spec_helper.rb ファイルに以下を記述します
39
39
  config.nothing_url = 'https://raw.githubusercontent.com/brightgenerous/rspec_term/master/images/nothing.jpg'
40
40
  config.tmp_dir = '/tmp/rspec_term'
41
41
 
42
+ require 'simplecov'
43
+ config.coverage do
44
+ SimpleCov.result.covered_percent
45
+ end
46
+ config.coverage_url do |coverage|
47
+ case coverage
48
+ when 70..100
49
+ 'https://raw.githubusercontent.com/brightgenerous/rspec_term/master/images/coverage_100.jpg'
50
+ end
51
+ end
52
+
42
53
  end
43
54
 
44
55
  #### 基本的な使い方
@@ -53,6 +64,9 @@ spec/spec_helper.rb ファイルに以下を記述します
53
64
  * `nothing_url` : 行うべきテストがなかった場合に表示される画像のURL。
54
65
  * `tmp_dir` : URLの画像を保存するディレクトリ。URLから生成したハッシュをファイル名として保存する。すでにファイルが存在する場合は再度ダウンロードしない。
55
66
 
67
+ * `coverage` : coverageの値(%)を返す
68
+ * `coverage_file` : テストがエラーなしで終了した場合にcoverageに応じて表示される画像のファイルを返す。該当する場合は`success_file`よりも優先される。
69
+ * `coverage_url` : テストがエラーなしで終了した場合にcoverageに応じて表示される画像のURLを返す。該当する場合は`success_url`よりも優先される。
56
70
 
57
71
  ## Contributing
58
72
 
@@ -17,5 +17,32 @@ class RSpecTerm::Configure
17
17
  instance
18
18
  end
19
19
 
20
+ def coverage &block
21
+ if block_given?
22
+ @coverage = block
23
+ self
24
+ else
25
+ @coverage
26
+ end
27
+ end
28
+
29
+ def coverage_file &block
30
+ if block_given?
31
+ @coverage_file = block
32
+ self
33
+ else
34
+ @coverage_file
35
+ end
36
+ end
37
+
38
+ def coverage_url &block
39
+ if block_given?
40
+ @coverage_url = block
41
+ self
42
+ else
43
+ @coverage_url
44
+ end
45
+ end
46
+
20
47
  end
21
48
 
@@ -88,7 +88,19 @@ class RSpecTerm::Formatters::BackgroundFormatter < RSpec::Core::Formatters::Base
88
88
 
89
89
  unless @error_message
90
90
  (file, url, tmp) = if notification.failure_count == 0
91
- [@config.success_file, @config.success_url, "#{@success_tmp}"]
91
+ coverage = nil
92
+ if @config.coverage and (coverage = @config.coverage.call)
93
+ file = if @config.coverage_file
94
+ @config.coverage_file.call coverage
95
+ end || @config.success_file
96
+ url = if @config.coverage_url
97
+ @config.coverage_url.call coverage
98
+ end || @config.success_url
99
+ tmp = url_to_tmp @tmp_dir, url
100
+ [file, url, "#{tmp}"]
101
+ else
102
+ [@config.success_file, @config.success_url, "#{@success_tmp}"]
103
+ end
92
104
  else
93
105
  [@config.failure_file, @config.failure_url, "#{@failure_tmp}"]
94
106
  end
@@ -101,8 +113,12 @@ class RSpecTerm::Formatters::BackgroundFormatter < RSpec::Core::Formatters::Base
101
113
  end
102
114
 
103
115
  def set_file file, url, tmp
104
- return file if File.exists? file.to_s
105
- return tmp if File.exists? tmp.to_s
116
+ file = file.path if file and file.is_a? File
117
+ url = url.path if url and url.is_a? File
118
+ tmp = tmp.path if tmp and tmp.is_a? File
119
+ return file if file and File.exists? file
120
+ File.delete tmp if tmp and File.zero? tmp
121
+ return tmp if File.exists? tmp
106
122
  return tmp unless url and tmp
107
123
 
108
124
  open tmp, 'wb' do |f|
@@ -1,3 +1,3 @@
1
1
  module RspecTerm
2
- VERSION = "0.2.1"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -20,4 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.5"
22
22
  spec.add_development_dependency "rake"
23
+
24
+ spec.add_development_dependency 'rspec', '~> 3.0.0.rc1'
25
+ spec.add_development_dependency 'simplecov'
23
26
  end
@@ -1,4 +1,11 @@
1
1
  # encoding: utf-8
2
+ require 'simplecov'
3
+ SimpleCov.start do
4
+ add_filter do |file|
5
+ not file.filename =~ /^#{SimpleCov.root}\/lib/
6
+ end
7
+ end
8
+
2
9
  require 'rspec_term'
3
10
 
4
11
  RSpecTerm.configure do |config|
@@ -15,5 +22,16 @@ RSpecTerm.configure do |config|
15
22
  config.nothing_url = 'https://raw.githubusercontent.com/brightgenerous/rspec_term/master/images/nothing.jpg'
16
23
  config.tmp_dir = '/tmp/rspec_term'
17
24
 
25
+ config.coverage do
26
+ SimpleCov.result.covered_percent
27
+ end
28
+
29
+ config.coverage_url do |coverage|
30
+ case coverage
31
+ when 70..100
32
+ 'https://raw.githubusercontent.com/brightgenerous/rspec_term/master/images/coverage_100.jpg'
33
+ end
34
+ end
35
+
18
36
  end
19
37
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec_term
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - brightgenerous
@@ -38,6 +38,34 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 3.0.0.rc1
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 3.0.0.rc1
55
+ - !ruby/object:Gem::Dependency
56
+ name: simplecov
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
41
69
  description: Change iTerm background after RSpec execution.
42
70
  email:
43
71
  - katou.akihiro@gmail.com