clintegracon 0.5.2 → 0.5.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1cc956b24d2d2b7589b317540e49424a9e948376
4
- data.tar.gz: 311d8721a56e4890f6aa8ae8435019ce2a4e0bd4
3
+ metadata.gz: 66075c5c5f568f363aeb4427edfe784b28658d73
4
+ data.tar.gz: 2eebf0522c50cedf00cc06612c8fc3fef1200ffe
5
5
  SHA512:
6
- metadata.gz: aae01890baec5c186e1654c6040a569098a799753a5fbeac8bbfd06dc42d72ad81d4925c646a8a0905257b84a83f0a7fc068530fc6c6fe4637251bf45a6e21a5
7
- data.tar.gz: 85b5eb7913f382bd0200eb7c6655eb71ea0c6dd89cbcdec330b94a38630d9efe735b180b23c603285c2638a02d79f4296a7a776ae8ee44da1cc7ea2a1f0c6721
6
+ metadata.gz: 21d257b2d152d77a7c3c63cdf24b10c250b358543e6ff1f0b5b0ae72426a2167f4e405dfa0086c0451f60bb231908d9a62ac7ffb005b48ae0970ac3e5959ac4a
7
+ data.tar.gz: bb71dbb097317af4f98322de319adaeb4769c51dd47ea14b23c195ce43333d002e51bf9c28591851db0444bfbba001a35745b583d99198a272674acf0b33c682
data/.gitignore CHANGED
@@ -3,7 +3,6 @@
3
3
  .bundle
4
4
  .config
5
5
  .yardoc
6
- Gemfile.lock
7
6
  InstalledFiles
8
7
  _yardoc
9
8
  coverage
@@ -0,0 +1,50 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ clintegracon (0.5.3)
5
+ colored (~> 1.2)
6
+ diffy
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ bacon (1.2.0)
12
+ claide (0.7.0)
13
+ coderay (1.1.0)
14
+ colored (1.2)
15
+ diffy (3.0.6)
16
+ inch (0.5.0)
17
+ pry
18
+ sparkr (>= 0.2.0)
19
+ term-ansicolor
20
+ yard (~> 0.8.7)
21
+ metaclass (0.0.4)
22
+ method_source (0.8.2)
23
+ mocha (1.0.0)
24
+ metaclass (~> 0.0.1)
25
+ mocha-on-bacon (0.2.2)
26
+ mocha (>= 0.13.0)
27
+ pry (0.10.1)
28
+ coderay (~> 1.1.0)
29
+ method_source (~> 0.8.1)
30
+ slop (~> 3.4)
31
+ rake (10.1.1)
32
+ slop (3.6.0)
33
+ sparkr (0.4.1)
34
+ term-ansicolor (1.3.0)
35
+ tins (~> 1.0)
36
+ tins (1.3.3)
37
+ yard (0.8.7.4)
38
+
39
+ PLATFORMS
40
+ ruby
41
+
42
+ DEPENDENCIES
43
+ bacon
44
+ bundler (~> 1.3)
45
+ claide
46
+ clintegracon!
47
+ inch
48
+ mocha (~> 1.0.0)
49
+ mocha-on-bacon
50
+ rake (~> 10.1.0)
data/README.md CHANGED
@@ -3,12 +3,16 @@
3
3
  [![Gem](https://img.shields.io/gem/v/clintegracon.svg?style=flat)](http://rubygems.org/gems/clintegracon)
4
4
  [![Build Status](https://img.shields.io/travis/mrackwitz/CLIntegracon/master.svg?style=flat)](https://travis-ci.org/mrackwitz/CLIntegracon)
5
5
  [![Code Climate](https://img.shields.io/codeclimate/github/mrackwitz/CLIntegracon.svg?style=flat)](https://codeclimate.com/github/mrackwitz/CLIntegracon)
6
+ [![Inline docs](http://inch-ci.org/github/mrackwitz/CLIntegracon.svg?branch=master&style=flat)](http://inch-ci.org/github/mrackwitz/CLIntegracon)
7
+ [![Dependency Status](http://img.shields.io/gemnasium/mrackwitz/CLIntegracon.svg?style=flat)](https://gemnasium.com/mrackwitz/CLIntegracon)
6
8
 
7
9
  CLIntegracon allows you to build *Integration* specs for your *CLI*,
8
10
  independent if they are based on Ruby or another technology.
9
11
  It is especially useful if your command modifies the file system.
10
12
  Furthermore it provides an integration for *Bacon*.
11
13
 
14
+ Take a look in the [documentation](http://www.rubydoc.info/github/mrackwitz/CLIntegracon/master/frames).
15
+
12
16
 
13
17
  ## Installation
14
18
 
@@ -28,6 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.add_development_dependency "mocha", "~> 1.0.0" # Ruby 1.8.7
29
29
  spec.add_development_dependency "mocha-on-bacon"
30
30
  spec.add_development_dependency "claide" # Example CLI
31
+ spec.add_development_dependency "inch"
31
32
 
32
33
  spec.add_runtime_dependency 'colored', '~> 1.2'
33
34
  spec.add_runtime_dependency 'diffy'
@@ -52,13 +52,22 @@ module CLIntegracon
52
52
  @prepared_produced ||= preparator.call(produced)
53
53
  end
54
54
 
55
+ # Check if the prepared inputs are files or need to be dumped first to
56
+ # temporary files to be compared.
57
+ #
58
+ # @return [Bool]
59
+ #
60
+ def compares_files?
61
+ prepared_expected.is_a? Pathname
62
+ end
63
+
55
64
  # Check if the produced output equals the expected
56
65
  #
57
66
  # @return [Bool]
58
67
  # whether the expected is equal to the produced
59
68
  #
60
69
  def is_equal?
61
- @is_equal ||= if prepared_expected.is_a? Pathname
70
+ @is_equal ||= if compares_files?
62
71
  FileUtils.compare_file(prepared_expected, prepared_produced)
63
72
  else
64
73
  prepared_expected == prepared_produced
@@ -73,7 +82,10 @@ module CLIntegracon
73
82
  # @return [Diffy::Diff]
74
83
  #
75
84
  def each(options = {}, &block)
76
- options = { :source => 'files', :context => 3 }.merge options
85
+ options = {
86
+ :source => compares_files? ? 'files' : 'strings',
87
+ :context => 3
88
+ }.merge options
77
89
  Diffy::Diff.new(prepared_expected.to_s, prepared_produced.to_s, options).each &block
78
90
  end
79
91
 
@@ -93,7 +93,7 @@ module CLIntegracon
93
93
 
94
94
  # @!group Interaction
95
95
 
96
- # Runs the executable with the given arguments in the temporary directory.
96
+ # Runs the executable with the given arguments.
97
97
  #
98
98
  # @note: You can check by `$?.success?` if the execution succeeded.
99
99
  #
@@ -104,7 +104,7 @@ module CLIntegracon
104
104
  # The arguments to pass to the executable after the default arguments.
105
105
  #
106
106
  # @return [String]
107
- # The output, which is emitted while execution from the binary.
107
+ # The output, which is emitted while execution.
108
108
  #
109
109
  def launch(head_arguments='', tail_arguments='')
110
110
  vars = environment_vars.map { |key,value| "#{key}=#{value}" }.join ' '
@@ -1,3 +1,3 @@
1
1
  module CLIntegracon
2
- VERSION = "0.5.2"
2
+ VERSION = "0.5.3"
3
3
  end
@@ -4,7 +4,7 @@ CLIntegracon::Adapter::Bacon
4
4
  without milk
5
5
  - $ coffee-maker --no-milk
6
6
  - BlackEye.brewed-coffee
7
- - CaPheSuaDa.brewed-coffee
7
+ - CaPheSuaDa.brewed-coffee [FAILED]
8
8
  - Coffeemakerfile.yml
9
9
  - RedTux.brewed-coffee
10
10
  - execution_output.txt
@@ -22,11 +22,23 @@ CLIntegracon::Adapter::Bacon
22
22
  - execution_output.txt
23
23
  - should not produce unexpected files
24
24
 
25
+ Bacon::Error: File comparison error `CaPheSuaDa.brewed-coffee` for coffeemaker_no_milk:
26
+ --- DIFF -----------------------------------------------------------------------
27
+ class CaPheSuaDa < BrewedCoffee
28
+ - @origin = "Việt Nam"
29
+ --- END ------------------------------------------------------------------------
30
+
31
+ spec/bacon/spec_helper.rb:44
32
+ spec/bacon/spec_helper.rb:43
33
+ spec/bacon/spec_helper.rb:41
34
+ spec/bacon/spec_helper.rb:17
35
+ spec/bacon/spec_helper.rb:15
36
+
25
37
  Bacon::Error: Unexpected files for coffeemaker_no_milk:
26
38
  * Affogato.brewed-coffee
27
- spec/bacon/spec_helper.rb:45
28
39
  spec/bacon/spec_helper.rb:44
29
- spec/bacon/spec_helper.rb:42
40
+ spec/bacon/spec_helper.rb:43
41
+ spec/bacon/spec_helper.rb:41
30
42
  spec/bacon/spec_helper.rb:17
31
43
  spec/bacon/spec_helper.rb:15
32
44
 
@@ -37,17 +49,17 @@ Bacon::Error: File comparison error `Affogato.brewed-coffee` for coffeemaker_swe
37
49
  @sweetner = honey
38
50
  --- END ------------------------------------------------------------------------
39
51
 
40
- spec/bacon/spec_helper.rb:49
41
52
  spec/bacon/spec_helper.rb:48
42
- spec/bacon/spec_helper.rb:42
53
+ spec/bacon/spec_helper.rb:47
54
+ spec/bacon/spec_helper.rb:41
43
55
  spec/bacon/spec_helper.rb:17
44
56
  spec/bacon/spec_helper.rb:15
45
57
 
46
58
  Bacon::Error: Missing file for coffeemaker_sweetner_honey:
47
59
  * BlackEye.brewed-coffee
48
- spec/bacon/spec_helper.rb:49
49
60
  spec/bacon/spec_helper.rb:48
50
- spec/bacon/spec_helper.rb:42
61
+ spec/bacon/spec_helper.rb:47
62
+ spec/bacon/spec_helper.rb:41
51
63
  spec/bacon/spec_helper.rb:17
52
64
  spec/bacon/spec_helper.rb:15
53
65
 
@@ -59,10 +71,10 @@ Bacon::Error: File comparison error `RedTux.brewed-coffee` for coffeemaker_sweet
59
71
  + @sweetner = honey
60
72
  --- END ------------------------------------------------------------------------
61
73
 
62
- spec/bacon/spec_helper.rb:49
63
74
  spec/bacon/spec_helper.rb:48
64
- spec/bacon/spec_helper.rb:42
75
+ spec/bacon/spec_helper.rb:47
76
+ spec/bacon/spec_helper.rb:41
65
77
  spec/bacon/spec_helper.rb:17
66
78
  spec/bacon/spec_helper.rb:15
67
79
 
68
- 17 specifications (27 requirements), 4 failures, 0 errors
80
+ 17 specifications (27 requirements), 5 failures, 0 errors
@@ -27,15 +27,14 @@ describe CLIntegracon::Adapter::Bacon do
27
27
  '--no-ansi'
28
28
  ]
29
29
  s.replace_path ROOT.to_s, 'ROOT'
30
- s.replace_path `bundle show claide`.rstrip, 'CLAIDE_SRC'
31
30
  end
32
31
 
33
32
  file_tree_spec_context do |c|
34
33
  c.ignores '.DS_Store'
35
34
  c.ignores '.gitkeep'
36
35
 
37
- c.has_special_handling_for 'execution_output.txt' do |path|
38
- File.read(path).gsub(/:in `<main>'$/, '') # workaround different stack trace format by ruby-1.8.7
36
+ c.has_special_handling_for 'CaPheSuaDa.brewed-coffee' do |path|
37
+ File.read(path)
39
38
  end
40
39
  end
41
40
 
@@ -14,10 +14,3 @@ Options:
14
14
  --verbose Show more debugging information
15
15
  --no-ansi Show output without ANSI codes
16
16
  --help Show help banner of specified command
17
-
18
- CLAIDE_SRC/lib/claide/command.rb:348:in `help!'
19
- CLAIDE_SRC/lib/claide/command.rb:466:in `help!'
20
- CLAIDE_SRC/lib/claide/command.rb:434:in `validate!'
21
- ROOT/spec/fixtures/bin/coffeemaker.rb:27:in `validate!'
22
- CLAIDE_SRC/lib/claide/command.rb:280:in `run'
23
- ROOT/spec/fixtures/bin/coffeemaker.rb:58:in `<main>'
@@ -1 +1,2 @@
1
1
  class CaPheSuaDa < BrewedCoffee
2
+ @origin = "Việt Nam"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clintegracon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marius Rackwitz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-11 00:00:00.000000000 Z
11
+ date: 2014-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: inch
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: colored
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -134,6 +148,7 @@ files:
134
148
  - ".gitignore"
135
149
  - ".travis.yml"
136
150
  - Gemfile
151
+ - Gemfile.lock
137
152
  - LICENSE.txt
138
153
  - README.md
139
154
  - Rakefile
@@ -214,3 +229,4 @@ test_files:
214
229
  - spec/unit/configuration_spec.rb
215
230
  - spec/unit/formatter_spec.rb
216
231
  - spec/unit/spec_helper.rb
232
+ has_rdoc: