wisper-minitest 0.0.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 +7 -0
- data/.gitignore +14 -0
- data/.ruby-version +1 -0
- data/.travis.yml +6 -0
- data/CHANGELOG.md +3 -0
- data/Gemfile +3 -0
- data/LICENSE +28 -0
- data/README.md +56 -0
- data/Rakefile +9 -0
- data/lib/wisper/minitest.rb +1 -0
- data/lib/wisper/minitest/assertions.rb +72 -0
- data/lib/wisper/minitest/event_recorder.rb +32 -0
- data/lib/wisper/minitest/expectations.rb +8 -0
- data/lib/wisper/minitest/version.rb +5 -0
- data/test/assert_broadcast_test.rb +78 -0
- data/test/expectations_test.rb +33 -0
- data/test/refute_broadcast_test.rb +66 -0
- data/test/test_helper.rb +7 -0
- data/wisper-minitest.gemspec +25 -0
- metadata +122 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 96b41c064896a906422c64e0078fcfbfd944c87a
|
4
|
+
data.tar.gz: a3b5288fffdf58d4e8a92e2d8f4c6839f05b6337
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4d16b0e5bdce500bad21e9c22f59c3e56945036cb28c5e2f2bc951688c15e23194f36b5ec6042362aa7dde23935a6adaa4afd407e554e5f9157400266a324a2a
|
7
|
+
data.tar.gz: 413789ece547ffef5c877f7c5e5ba35e3ccd6a1e955df945a62a0a232b630d0efd3733510917bfaa003c2709557bfe5d57b1a0794742cd9c0cfa0fd63ebb7042
|
data/.gitignore
ADDED
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.3.1
|
data/.travis.yml
ADDED
data/CHANGELOG.md
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Some work is Copyright (c) 2014 Kris Leech under the same license :
|
4
|
+
* The Wisper::Minitest::EventRecorder class, with some modifications from
|
5
|
+
Digital Cuisine
|
6
|
+
* Tests have been ported from wisper-rspec — when possible the original code
|
7
|
+
has been kept.
|
8
|
+
|
9
|
+
All the rest is Copyright (c) 2015 Digital Cuisine
|
10
|
+
|
11
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
12
|
+
of this software and associated documentation files (the "Software"), to deal
|
13
|
+
in the Software without restriction, including without limitation the rights
|
14
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
15
|
+
copies of the Software, and to permit persons to whom the Software is
|
16
|
+
furnished to do so, subject to the following conditions:
|
17
|
+
|
18
|
+
The above copyright notice and this permission notice shall be included in all
|
19
|
+
copies or substantial portions of the Software.
|
20
|
+
|
21
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
22
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
23
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
24
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
25
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
26
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
27
|
+
SOFTWARE.
|
28
|
+
|
data/README.md
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
# Wisper::MiniTest
|
2
|
+
|
3
|
+
MiniTest assertions/expectations and stubbing for [Wisper](https://github.com/krisleech/wisper).
|
4
|
+
Based on @krisleech work and his own [wisper-rspec](https://github.com/krisleech/wisper-rspec) gem.
|
5
|
+
|
6
|
+
[](https://rubygems.org/gems/wisper-minitest)
|
7
|
+
[](https://travis-ci.org/digitalcuisine/wisper-minitest)
|
8
|
+
|
9
|
+
## Installation
|
10
|
+
|
11
|
+
```ruby
|
12
|
+
gem 'wisper-minitest', require: false
|
13
|
+
```
|
14
|
+
|
15
|
+
## Usage
|
16
|
+
|
17
|
+
### Broadcast assertion
|
18
|
+
|
19
|
+
In `test_helper`
|
20
|
+
|
21
|
+
```ruby
|
22
|
+
require 'wisper/minitest/assertions'
|
23
|
+
```
|
24
|
+
|
25
|
+
In your tests:
|
26
|
+
```ruby
|
27
|
+
assert_broadcast(:an_event) { publisher.execute }
|
28
|
+
```
|
29
|
+
This will match both `broadcast(:an_event)` and `broadcast(:an_event, :arg_1)`.
|
30
|
+
|
31
|
+
|
32
|
+
```ruby
|
33
|
+
# with optional arguments
|
34
|
+
assert_broadcast(:another_event, :arg1, :arg2) { publisher.execute }
|
35
|
+
```
|
36
|
+
|
37
|
+
With event arguments, it matches only if the event is broadcast with those
|
38
|
+
arguments. This assertion matches `broadcast(:another_event, :arg1, :arg2)` but
|
39
|
+
not `broadcast(:another_event)`.
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
## Todo
|
44
|
+
|
45
|
+
The [wisper-rspec](https://github.com/krisleech/wisper-rspec) gem is not fully
|
46
|
+
ported yet. Here's what's missing:
|
47
|
+
|
48
|
+
- [x] Convert `broadcast` expectation to `assert_broadcast` assertion
|
49
|
+
- [x] Add a `refute_broadcast` assertion
|
50
|
+
- [x] Make those available as Minitest expectations too
|
51
|
+
- [ ] Document or implement a way to assert that a listener is receiving events
|
52
|
+
- [ ] Port publisher stub feature
|
53
|
+
|
54
|
+
## Contributing
|
55
|
+
|
56
|
+
Any contribution is welcome! Open an issue or send a pull request to get started.
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'wisper/minitest/version'
|
@@ -0,0 +1,72 @@
|
|
1
|
+
require 'minitest/unit'
|
2
|
+
require 'wisper/minitest/event_recorder'
|
3
|
+
|
4
|
+
module Minitest::Assertions
|
5
|
+
|
6
|
+
module Messages
|
7
|
+
|
8
|
+
def self.assertion_failure(event_recorder)
|
9
|
+
msg = "expected publisher to broadcast #{event_recorder.event_name} event"
|
10
|
+
if event_recorder.args.size == 0
|
11
|
+
if event_recorder.broadcast_events.any?
|
12
|
+
msg += " (not included in #{event_recorder.broadcast_events.map(&:first).join(', ')})"
|
13
|
+
else
|
14
|
+
msg += ' (no events broadcast)'
|
15
|
+
end
|
16
|
+
end
|
17
|
+
msg += " with args: #{event_recorder.args.inspect}" if event_recorder.args.size > 0
|
18
|
+
msg
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.refutation_failure(event_recorder)
|
22
|
+
msg = "expected publisher not to broadcast #{event_recorder.event_name} event"
|
23
|
+
if event_recorder.args.size == 0
|
24
|
+
if event_recorder.broadcast_events.count > 1
|
25
|
+
msg += " (included in #{event_recorder.broadcast_events.map(&:first).join(', ')})"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
msg += " with args: #{event_recorder.args.inspect}" if event_recorder.args.size > 0
|
29
|
+
msg
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def assert_broadcast(*args)
|
34
|
+
event = args.shift
|
35
|
+
blk = args.first.respond_to?(:call) ? args.shift : nil
|
36
|
+
event_recorder = Wisper::Minitest::EventRecorder.new
|
37
|
+
|
38
|
+
# Call the given block within a temporary global subscriber
|
39
|
+
Wisper.subscribe(event_recorder) do
|
40
|
+
if block_given?
|
41
|
+
yield
|
42
|
+
elsif blk.respond_to?(:call)
|
43
|
+
blk.call
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
test = event_recorder.broadcast?(event, *args)
|
48
|
+
|
49
|
+
# Check that given event has been broadcast
|
50
|
+
assert test, Messages.assertion_failure(event_recorder)
|
51
|
+
end
|
52
|
+
|
53
|
+
def refute_broadcast(*args)
|
54
|
+
event = args.shift
|
55
|
+
blk = args.first.respond_to?(:call) ? args.shift : nil
|
56
|
+
event_recorder = Wisper::Minitest::EventRecorder.new
|
57
|
+
|
58
|
+
# Call the given block within a temporary global subscriber
|
59
|
+
Wisper.subscribe(event_recorder) do
|
60
|
+
if block_given?
|
61
|
+
yield
|
62
|
+
elsif blk.respond_to?(:call)
|
63
|
+
blk.call
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
test = event_recorder.broadcast?(event, *args)
|
68
|
+
|
69
|
+
# Check that given event has not been broadcast
|
70
|
+
refute test, Messages.refutation_failure(event_recorder)
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Wisper
|
2
|
+
module Minitest
|
3
|
+
class EventRecorder
|
4
|
+
attr_reader :broadcast_events
|
5
|
+
attr_reader :event_name
|
6
|
+
attr_reader :args
|
7
|
+
|
8
|
+
def initialize
|
9
|
+
@broadcast_events = []
|
10
|
+
end
|
11
|
+
|
12
|
+
def respond_to?(method_name)
|
13
|
+
true
|
14
|
+
end
|
15
|
+
|
16
|
+
def method_missing(method_name, *args, &block)
|
17
|
+
@broadcast_events << [method_name.to_s, *args]
|
18
|
+
end
|
19
|
+
|
20
|
+
def broadcast?(event_name, *args)
|
21
|
+
@event_name = event_name
|
22
|
+
@args = args
|
23
|
+
|
24
|
+
if args.size > 0
|
25
|
+
@broadcast_events.include?([event_name.to_s, *args])
|
26
|
+
else
|
27
|
+
@broadcast_events.map(&:first).include?(event_name.to_s)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'wisper/minitest/assertions'
|
3
|
+
|
4
|
+
class TestAssertBroadcast < Minitest::Test
|
5
|
+
|
6
|
+
extend Minitest::Spec::DSL
|
7
|
+
|
8
|
+
let(:event_name) { 'it_happened' }
|
9
|
+
|
10
|
+
let(:broadcaster) do
|
11
|
+
Class.new do
|
12
|
+
include Wisper::Publisher
|
13
|
+
public :broadcast
|
14
|
+
end.new
|
15
|
+
end
|
16
|
+
|
17
|
+
let(:event1) { 'trololo' }
|
18
|
+
let(:event2) { 'u mad?' }
|
19
|
+
|
20
|
+
let(:non_matching_broadcast) do
|
21
|
+
Proc.new do
|
22
|
+
broadcaster.broadcast(event1)
|
23
|
+
broadcaster.broadcast(event2)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
def test_passes_with_matching_event
|
29
|
+
assert_broadcast(event_name) { broadcaster.broadcast(event_name) }
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_fails_with_non_matching_event
|
33
|
+
assert_raises Minitest::Assertion do
|
34
|
+
assert_broadcast(event_name, &non_matching_broadcast)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_fails_with_descriptive_failure_message_on_non_matching_event
|
39
|
+
exp = assert_raises MiniTest::Assertion do
|
40
|
+
assert_broadcast(event_name, &non_matching_broadcast)
|
41
|
+
end
|
42
|
+
|
43
|
+
assert_equal exp.message, "expected publisher to broadcast #{event_name} event (not included in #{event1}, #{event2})"
|
44
|
+
end
|
45
|
+
|
46
|
+
def test_fails_with_no_broadcast
|
47
|
+
assert_raises Minitest::Assertion do
|
48
|
+
assert_broadcast(event_name) { }
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_fails_with_descriptive_failure_message_on_no_event
|
53
|
+
exp = assert_raises Minitest::Assertion do
|
54
|
+
assert_broadcast(event_name) { }
|
55
|
+
end
|
56
|
+
|
57
|
+
assert_equal exp.message, "expected publisher to broadcast #{event_name} event (no events broadcast)"
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_passes_with_matching_event_and_arguments
|
61
|
+
assert_broadcast(event_name, :arg1, :arg2) { broadcaster.broadcast(event_name, :arg1, :arg2) }
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_fails_with_non_matching_arguments
|
65
|
+
assert_raises Minitest::Assertion do
|
66
|
+
assert_broadcast(event_name, :arg1, :arg2, &non_matching_broadcast)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_fails_with_descriptive_failure_message_on_non_matching_arguments
|
71
|
+
exp = assert_raises Minitest::Assertion do
|
72
|
+
assert_broadcast(event_name, :arg1, :arg2, &non_matching_broadcast)
|
73
|
+
end
|
74
|
+
|
75
|
+
assert_equal exp.message, "expected publisher to broadcast #{event_name} event with args: [:arg1, :arg2]"
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'wisper/minitest/expectations'
|
3
|
+
|
4
|
+
class TestExpectations < Minitest::Test
|
5
|
+
extend Minitest::Spec::DSL
|
6
|
+
|
7
|
+
let(:event_name) { 'it_happened' }
|
8
|
+
|
9
|
+
let(:broadcaster) do
|
10
|
+
Class.new do
|
11
|
+
include Wisper::Publisher
|
12
|
+
public :broadcast
|
13
|
+
end.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_must_broadcast_no_args
|
17
|
+
proc{ broadcaster.broadcast(event_name) }.must_broadcast(event_name)
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_must_broadcast_with_args
|
21
|
+
proc{ broadcaster.broadcast(event_name, :arg1) }.must_broadcast(event_name, :arg1)
|
22
|
+
proc{ broadcaster.broadcast(event_name, :arg1) }.must_broadcast(event_name)
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_wont_broadcast_no_args
|
26
|
+
proc{ }.wont_broadcast(event_name)
|
27
|
+
proc{ }.wont_broadcast(event_name, :arg1)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_wont_broadcast_with_args
|
31
|
+
proc{ broadcaster.broadcast(event_name) }.wont_broadcast(event_name, :arg1)
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'wisper/minitest/assertions'
|
3
|
+
|
4
|
+
class TestRefuteBroadcast < Minitest::Test
|
5
|
+
extend Minitest::Spec::DSL
|
6
|
+
|
7
|
+
let(:event_name) { 'it_happened' }
|
8
|
+
|
9
|
+
let(:broadcaster) do
|
10
|
+
Class.new do
|
11
|
+
include Wisper::Publisher
|
12
|
+
public :broadcast
|
13
|
+
end.new
|
14
|
+
end
|
15
|
+
|
16
|
+
let(:event1) { 'trololo' }
|
17
|
+
let(:event2) { 'u mad?' }
|
18
|
+
|
19
|
+
let(:non_matching_broadcast) do
|
20
|
+
Proc.new do
|
21
|
+
broadcaster.broadcast(event1)
|
22
|
+
broadcaster.broadcast(event2)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_passes_with_non_matching_event
|
27
|
+
refute_broadcast(event_name, &non_matching_broadcast)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_passes_with_no_broadcast
|
31
|
+
refute_broadcast(event_name) { }
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_passes_with_non_matching_arguments
|
35
|
+
refute_broadcast(event_name, :arg1, :arg2, &non_matching_broadcast)
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_fails_on_matching_event
|
39
|
+
assert_raises Minitest::Assertion do
|
40
|
+
refute_broadcast(event_name) { broadcaster.broadcast(event_name) }
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_fails_with_descriptive_failure_message_on_matching_event
|
45
|
+
exp = assert_raises Minitest::Assertion do
|
46
|
+
refute_broadcast(event_name) { broadcaster.broadcast(event_name) }
|
47
|
+
end
|
48
|
+
|
49
|
+
assert_equal exp.message, "expected publisher not to broadcast #{event_name} event"
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_fails_with_matching_event_and_arguments
|
53
|
+
assert_raises Minitest::Assertion do
|
54
|
+
refute_broadcast(event_name, :arg1, :arg2) { broadcaster.broadcast(event_name, :arg1, :arg2) }
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def test_fails_with_descriptive_failure_message_on_matching_event_and_arguments
|
59
|
+
exp = assert_raises Minitest::Assertion do
|
60
|
+
refute_broadcast(event_name, :arg1, :arg2) { broadcaster.broadcast(event_name, :arg1, :arg2) }
|
61
|
+
end
|
62
|
+
|
63
|
+
assert_equal exp.message, "expected publisher not to broadcast #{event_name} event with args: [:arg1, :arg2]"
|
64
|
+
end
|
65
|
+
|
66
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'wisper/minitest/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'wisper-minitest'
|
8
|
+
spec.version = Wisper::Minitest::VERSION
|
9
|
+
spec.authors = ['Olivier Lance @ Digital Cuisine']
|
10
|
+
spec.email = ["olivier@digitalcuisine.fr"]
|
11
|
+
spec.summary = 'MiniTest assertions/expectations and stubbing for Wisper'
|
12
|
+
spec.description = 'MiniTest assertions/expectations and stubbing for Wisper'
|
13
|
+
spec.homepage = 'https://github.com/digitalcuisine/wisper-minitest'
|
14
|
+
spec.license = 'MIT'
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ['lib']
|
20
|
+
|
21
|
+
spec.add_development_dependency 'wisper'
|
22
|
+
spec.add_development_dependency 'bundler'
|
23
|
+
spec.add_development_dependency 'rake'
|
24
|
+
spec.add_development_dependency 'minitest'
|
25
|
+
end
|
metadata
ADDED
@@ -0,0 +1,122 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: wisper-minitest
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.3
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Olivier Lance @ Digital Cuisine
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-05-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: wisper
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: minitest
|
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'
|
69
|
+
description: MiniTest assertions/expectations and stubbing for Wisper
|
70
|
+
email:
|
71
|
+
- olivier@digitalcuisine.fr
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- ".gitignore"
|
77
|
+
- ".ruby-version"
|
78
|
+
- ".travis.yml"
|
79
|
+
- CHANGELOG.md
|
80
|
+
- Gemfile
|
81
|
+
- LICENSE
|
82
|
+
- README.md
|
83
|
+
- Rakefile
|
84
|
+
- lib/wisper/minitest.rb
|
85
|
+
- lib/wisper/minitest/assertions.rb
|
86
|
+
- lib/wisper/minitest/event_recorder.rb
|
87
|
+
- lib/wisper/minitest/expectations.rb
|
88
|
+
- lib/wisper/minitest/version.rb
|
89
|
+
- test/assert_broadcast_test.rb
|
90
|
+
- test/expectations_test.rb
|
91
|
+
- test/refute_broadcast_test.rb
|
92
|
+
- test/test_helper.rb
|
93
|
+
- wisper-minitest.gemspec
|
94
|
+
homepage: https://github.com/digitalcuisine/wisper-minitest
|
95
|
+
licenses:
|
96
|
+
- MIT
|
97
|
+
metadata: {}
|
98
|
+
post_install_message:
|
99
|
+
rdoc_options: []
|
100
|
+
require_paths:
|
101
|
+
- lib
|
102
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - ">="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '0'
|
107
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
requirements: []
|
113
|
+
rubyforge_project:
|
114
|
+
rubygems_version: 2.5.1
|
115
|
+
signing_key:
|
116
|
+
specification_version: 4
|
117
|
+
summary: MiniTest assertions/expectations and stubbing for Wisper
|
118
|
+
test_files:
|
119
|
+
- test/assert_broadcast_test.rb
|
120
|
+
- test/expectations_test.rb
|
121
|
+
- test/refute_broadcast_test.rb
|
122
|
+
- test/test_helper.rb
|