shell_mock 0.6.0 → 0.7.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: 7c6fffa51532c59b133e8176343ab0fb1d6ca8b5
4
- data.tar.gz: 71450c650b0e65096422bb2a7f467516bf810846
3
+ metadata.gz: 147a2390f3f6299b3da3a3e548347c97b6915d6d
4
+ data.tar.gz: 85433c788c0479b762fe5542030d729ddf0922e8
5
5
  SHA512:
6
- metadata.gz: 92aae540345018da0abd3b68d0704f56f0e8e9aa1bdf8ecabae9cc051fb1606a7874c6dc007ac0c368ef971974997550593feb42e03e5bd25bdbd51711187a31
7
- data.tar.gz: 2d2d7ac3b2c6a3542ab48e16d16e3b9a36d7e6ddcfc35c369c26e61b984bf1e652ec29f98cebb3ff4df4594653e8aff1fa97bff4c61a549346a05ec6d51450db
6
+ metadata.gz: 86cfdd6bb159d3731cba1759484c677269e5fd1beb3d48813451712847f90b328cb875eb104d4778811b283a164b96b84f30542fb6abadf049b9252ddb4b7c13
7
+ data.tar.gz: 3a6807143e3a613d86444b9cecca1c7636ba2246f80e6b64d736a1be514983f2ecbb2b9dc12180f781deb9d7c1a4d5fbf4c253e2a1290124eaee2d100bdfda7a
@@ -4,15 +4,25 @@
4
4
  * `PTYSpawnMonkeyPatch`
5
5
  * `OpenMonkeyPatch`
6
6
  * should `SpawnMonkeyPatch` be 2 patches (`KernelSpawnMonkeyPatch` and `ProcessSpawnMonkeyPatch`)?
7
- * convert `CommandStub#and_exit` to `CommandStub#will_exit`
8
- * convert `CommandStub#and_output` to `CommandStub#will_output`
9
- * convert `CommandStub#and_return` to `CommandStub#will_return`
10
7
  * add `CommandStub#will_cause(&blk)` for specifying desired side effects
11
8
  * add `CommandStub#will_stdout(str)` & `CommandStub#will_stderr(str)`. these will work differently for backtick than it will for system & exec.
12
9
  * ADD YARD DOCUMENTATION TO METHODS
13
10
  * maybe add `CommandStub#with_stdin(str)` for `spawn`?
14
11
  * maybe adding the ability to specify the order in which commands output to stdout vs. stderr (like, a sequence of outputs) would be useful? would definitely be fun to build, not sure how useful it would be though.
15
12
 
13
+ ## RELEASE 0.7.0
14
+
15
+ * FEATURE: `#to_output` is an alias of `#and_output`
16
+ * FEATURE: `#to_return` is an alias of `#and_return`
17
+ * FEATURE: `#to_exit` is an alias of `#and_exit`
18
+ * FEATURE: `#to_succeed` is an alias of `#and_succeed`
19
+ * FEATURE: `#to_fail` is an alias of `#and_fail`
20
+ * DEPRECATION: `#and_output` is deprecated and will be removed in 1.0.0. Use `#to_output` instead.
21
+ * DEPRECATION: `#and_return` is deprecated and will be removed in 1.0.0. Use `#to_return` instead.
22
+ * DEPRECATION: `#and_exit` is deprecated and will be removed in 1.0.0. Use `#to_exit` instead.
23
+ * DEPRECATION: `#and_succeed` is deprecated and will be removed in 1.0.0. Use `#to_succeed` instead.
24
+ * DEPRECATION: `#and_fail` is deprecated and will be removed in 1.0.0. Use `#to_fail` instead.
25
+
16
26
  ## RELEASE 0.6.0
17
27
 
18
28
  * FEATURE: use `#and_succeed` to set an invocation's exit status to 0
data/Gemfile CHANGED
@@ -2,3 +2,5 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in shell_mock.gemspec
4
4
  gemspec
5
+
6
+ gem 'coveralls', require: false
@@ -15,8 +15,9 @@ ifdef::env-github[]
15
15
  :warning-caption: :warning:
16
16
  endif::[]
17
17
 
18
- http://badge.fury.io/rb/shell_mock[image:https://badge.fury.io/rb/shell_mock.png[Gem Version]]
19
- http://travis-ci.org/yarmiganosca/shell_mock[image:https://secure.travis-ci.org/yarmiganosca/shell_mock.png[Build Status]]
18
+ image:https://badge.fury.io/rb/shell_mock.svg["Gem Version", link="https://badge.fury.io/rb/shell_mock"]
19
+ image:https://travis-ci.org/yarmiganosca/shell_mock.svg?branch=master["Build Status", link="https://travis-ci.org/yarmiganosca/shell_mock"]
20
+ image:https://coveralls.io/repos/github/yarmiganosca/shell_mock/badge.svg?branch=master["Test Coverage", link="https://coveralls.io/github/yarmiganosca/shell_mock?branch=master"]
20
21
 
21
22
  toc::[]
22
23
 
@@ -37,7 +38,7 @@ RSpec.describe "shelling out to run 'ls'" do
37
38
  it "works"
38
39
  system('ls') # <3>
39
40
 
40
- expect(stub).to have_been_called # <4>
41
+ expect(stub).to have_run # <4>
41
42
  end
42
43
  end
43
44
  ----
@@ -60,29 +61,29 @@ NOTE: ShellMock always matches as strictly as possible, so if you stubbed both `
60
61
 
61
62
  === Setting the behavior of the command invocation:
62
63
 
63
- Have the mock command invocation write to stdout: `ShellMock.stub_command('ls').and_output("\n")`
64
+ Have the mock command invocation write to stdout: `ShellMock.stub_command('ls').to_output("\n")`
64
65
 
65
- Set the mock command invocation's exit status: `ShellMock.stub_command('ls').and_exit(2)`
66
+ Set the mock command invocation's exit status: `ShellMock.stub_command('ls').to_exit(2)`
66
67
 
67
- Set the mock command invocation's exit status to `0`: `ShellMock.stub_command('ls').and_succeed`
68
+ Set the mock command invocation's exit status to `0`: `ShellMock.stub_command('ls').to_succeed`
68
69
 
69
- Set the mock command invocation's exit status to `1`: `ShellMock.stub_command('ls').and_fail`
70
+ Set the mock command invocation's exit status to `1`: `ShellMock.stub_command('ls').to_fail`
70
71
 
71
- If you want to both write to stdout and set the exit code (a common pair), `ShellMock.stub_command('ls').and_return("\n")` will both have the command invocation write the passed string to stdout, and will set the mock command invocation's exit status to `0`.
72
+ If you want to both write to stdout and set the exit code (a common pair), `ShellMock.stub_command('ls').to_return("\n")` will both have the command invocation write the passed string to stdout, and will set the mock command invocation's exit status to `0`.
72
73
 
73
74
  === Specifying the expected number of command invocations:
74
75
 
75
- Called exactly once: `expect(stub).to have_been_called.once`
76
+ Called exactly once: `expect(stub).to have_run.once`
76
77
 
77
- Not called: `expect(stub).to have_been_called.never`
78
+ Not called: `expect(stub).to have_run.never`
78
79
 
79
- Not called (using RSpec expectation negation): `expect(stub).to_not have_been_called`
80
+ Not called (using RSpec expectation negation): `expect(stub).to_not have_run`
80
81
 
81
- Called exactly `n` times: `expect(stub).to have_been_called.times(n)`
82
+ Called exactly `n` times: `expect(stub).to have_run.times(n)`
82
83
 
83
- Called more than `n` times: `expect(stub).to have_been_called.more_than(n)`
84
+ Called more than `n` times: `expect(stub).to have_run.more_than(n)`
84
85
 
85
- Called fewer than `n` times: `expect(stub).to have_been_called.fewer_than(n)`
86
+ Called fewer than `n` times: `expect(stub).to have_run.fewer_than(n)`
86
87
 
87
88
  `less_than` can be used as an alias for `fewer_than`
88
89
 
@@ -1,4 +1,5 @@
1
1
  require 'shell_mock/stub_registry'
2
+ require 'shell_mock/core_ext/module'
2
3
 
3
4
  module ShellMock
4
5
  class CommandStub
@@ -12,8 +13,8 @@ module ShellMock
12
13
 
13
14
  with_env({})
14
15
  with_options({})
15
- and_output(nil)
16
- and_succeed
16
+ to_output(nil)
17
+ to_succeed
17
18
  end
18
19
 
19
20
  def with_env(env)
@@ -28,31 +29,41 @@ module ShellMock
28
29
  self
29
30
  end
30
31
 
31
- def and_output(output)
32
+ def to_output(output)
32
33
  @output = output
33
34
 
34
35
  self
35
36
  end
37
+ alias and_output to_output
38
+ deprecate :and_output, :to_output, "1.0.0"
36
39
 
37
- def and_return(output)
40
+ def to_return(output)
38
41
  self.
39
- and_output(output).
40
- and_exit(0)
42
+ to_output(output).
43
+ to_exit(0)
41
44
  end
45
+ alias and_return to_return
46
+ deprecate :and_return, :to_return, "1.0.0"
42
47
 
43
- def and_exit(exitstatus)
48
+ def to_exit(exitstatus)
44
49
  @exitstatus = exitstatus
45
50
 
46
51
  self
47
52
  end
53
+ alias and_exit to_exit
54
+ deprecate :and_exit, :to_exit, "1.0.0"
48
55
 
49
- def and_succeed
50
- and_exit(0)
56
+ def to_succeed
57
+ to_exit(0)
51
58
  end
59
+ alias and_succeed to_succeed
60
+ deprecate :and_succeed, :to_succeed, "1.0.0"
52
61
 
53
- def and_fail
54
- and_exit(1)
62
+ def to_fail
63
+ to_exit(1)
55
64
  end
65
+ alias and_fail to_fail
66
+ deprecate :and_fail, :to_fail, "1.0.0"
56
67
 
57
68
  def runs
58
69
  @runs ||= 0
@@ -2,4 +2,14 @@ Module.class_exec do
2
2
  def eigenclass
3
3
  @eigenclass ||= class << self; self; end
4
4
  end
5
+
6
+ def deprecate(name, replacement, version)
7
+ old_name = :"#{name}_without_deprecation"
8
+ alias_method old_name, name
9
+
10
+ define_method(name) do |*args, &blk|
11
+ warn "ShellMock: ##{name} is deprecated and will be removed by #{version}. Please use #{replacement} instead."
12
+ send old_name, *args, &blk
13
+ end
14
+ end
5
15
  end
@@ -1,3 +1,3 @@
1
1
  module ShellMock
2
- VERSION = "0.6.0"
2
+ VERSION = "0.7.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shell_mock
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Hoffman
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-10 00:00:00.000000000 Z
11
+ date: 2018-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -115,7 +115,6 @@ executables: []
115
115
  extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
- - ".env"
119
118
  - ".gitignore"
120
119
  - ".rspec"
121
120
  - ".travis.yml"
data/.env DELETED
@@ -1 +0,0 @@
1
- rvm use 2.3.0