tokyo 0.0.5
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 +10 -0
- data/.travis.yml +3 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +335 -0
- data/Rakefile +11 -0
- data/bin/tokyo +4 -0
- data/lib/tokyo/assert.rb +148 -0
- data/lib/tokyo/core_ext.rb +103 -0
- data/lib/tokyo/expectations/raise.rb +32 -0
- data/lib/tokyo/expectations/return.rb +32 -0
- data/lib/tokyo/expectations/throw.rb +24 -0
- data/lib/tokyo/expectations/with.rb +36 -0
- data/lib/tokyo/expectations.rb +103 -0
- data/lib/tokyo/pretty_print.rb +55 -0
- data/lib/tokyo/run.rb +126 -0
- data/lib/tokyo/unit.rb +185 -0
- data/lib/tokyo/util/assert_raise.rb +54 -0
- data/lib/tokyo/util/assert_throw.rb +40 -0
- data/lib/tokyo/util/refute_raise.rb +48 -0
- data/lib/tokyo/util/refute_throw.rb +34 -0
- data/lib/tokyo/util.rb +91 -0
- data/lib/tokyo.rb +121 -0
- data/test/assert_test.rb +98 -0
- data/test/context_inheritance_test.rb +52 -0
- data/test/hooks_test.rb +35 -0
- data/test/raise_test.rb +66 -0
- data/test/receive_and_raise_test.rb +83 -0
- data/test/receive_and_return_test.rb +46 -0
- data/test/receive_and_throw_test.rb +74 -0
- data/test/receive_test.rb +71 -0
- data/test/receive_with_test.rb +57 -0
- data/test/refute_raise_test.rb +90 -0
- data/test/refute_throw_test.rb +42 -0
- data/test/setup.rb +25 -0
- data/test/skip_test.rb +35 -0
- data/test/throw_test.rb +58 -0
- data/tokyo.gemspec +27 -0
- metadata +195 -0
@@ -0,0 +1,71 @@
|
|
1
|
+
describe :receive do
|
2
|
+
|
3
|
+
it 'should pass when a message expected and received' do
|
4
|
+
this = self
|
5
|
+
spec rand do
|
6
|
+
test :test do
|
7
|
+
expect(x = 'x').to_receive(:class)
|
8
|
+
x.class
|
9
|
+
end
|
10
|
+
this.assert_equal :__tokyo_passed__, run(:test)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should fail when a expected message not received' do
|
15
|
+
this = self
|
16
|
+
spec rand do
|
17
|
+
test :test do
|
18
|
+
expect(x = 'x').to_receive(:class)
|
19
|
+
end
|
20
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'should pass when no message expected and no message received' do
|
25
|
+
this = self
|
26
|
+
spec rand do
|
27
|
+
test :test do
|
28
|
+
fail_if(x = 'x').receive(:class)
|
29
|
+
end
|
30
|
+
this.assert_equal :__tokyo_passed__, run(:test)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'should fail when unexpected message received' do
|
35
|
+
this = self
|
36
|
+
spec rand do
|
37
|
+
test :test do
|
38
|
+
fail_if(x = 'x').receive(:class)
|
39
|
+
x.class
|
40
|
+
end
|
41
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
describe 'missing methods' do
|
46
|
+
|
47
|
+
it 'should call method_missing if defined' do
|
48
|
+
this = self
|
49
|
+
x = Class.new {def self.method_missing(m); 'x' + m.to_s; end}
|
50
|
+
spec rand do
|
51
|
+
test :test do
|
52
|
+
assert(x).receive(:y)
|
53
|
+
x.y
|
54
|
+
end
|
55
|
+
this.assert_equal 'xy', x.y
|
56
|
+
this.assert_equal :__tokyo_passed__, run(:test)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'should raise NoMethodError if no method_missing defined' do
|
61
|
+
this = self
|
62
|
+
spec rand do
|
63
|
+
test :test do
|
64
|
+
assert(x = 'x').receive(:y).and_raise(NoMethodError)
|
65
|
+
x.y
|
66
|
+
end
|
67
|
+
this.assert_equal :__tokyo_passed__, run(:test)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
describe :receive_with do
|
2
|
+
|
3
|
+
it 'should pass when called with correct arguments' do
|
4
|
+
this = self
|
5
|
+
spec rand do
|
6
|
+
test :test do
|
7
|
+
expect(x = 'x').to_receive(:+).with('y')
|
8
|
+
x + 'y'
|
9
|
+
end
|
10
|
+
this.assert_equal :__tokyo_passed__, run(:test)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should fail when called without arguments' do
|
15
|
+
this = self
|
16
|
+
spec rand do
|
17
|
+
test :test do
|
18
|
+
expect(x = []).to_receive(:join).with('')
|
19
|
+
x.join
|
20
|
+
end
|
21
|
+
this.assert_match /Looks like :join message never was called with expected arguments/, run(:test).reason*' '
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should fail when called with wrong arguments' do
|
26
|
+
this = self
|
27
|
+
spec rand do
|
28
|
+
test :test do
|
29
|
+
expect(x = []).to_receive(:join).with('')
|
30
|
+
x.join('/')
|
31
|
+
end
|
32
|
+
this.assert_match /Looks like :join message never was called with expected arguments/, run(:test).reason*' '
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'should pass when block validates arguments' do
|
37
|
+
this = self
|
38
|
+
spec rand do
|
39
|
+
test :test do
|
40
|
+
expect(x = 'x').to_receive(:+).with {|a| a == ['y']}
|
41
|
+
x + 'y'
|
42
|
+
end
|
43
|
+
this.assert_equal :__tokyo_passed__, run(:test)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'should fail when block does not validate arguments' do
|
48
|
+
this = self
|
49
|
+
spec rand do
|
50
|
+
test :test do
|
51
|
+
expect(x = 'x').to_receive(:+).with {false}
|
52
|
+
x + 'y'
|
53
|
+
end
|
54
|
+
this.assert_match /Looks like :\+ message never was called with expected arguments/, run(:test).reason*' '
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
describe :refute_raise do
|
2
|
+
|
3
|
+
it 'should pass if no exception expected and no exception raised' do
|
4
|
+
this = self
|
5
|
+
spec rand do
|
6
|
+
test(:test) {refute {}.raise}
|
7
|
+
this.assert_equal :__tokyo_passed__, run(:test)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should fail if exception raised when not expected' do
|
12
|
+
this = self
|
13
|
+
spec rand do
|
14
|
+
test(:test) {refute {x}.raise}
|
15
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should fail if exception of specific type negated but nothing raised' do
|
20
|
+
this = self
|
21
|
+
spec rand do
|
22
|
+
test(:test) {refute {}.raise NameError}
|
23
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should fail if exception with specific message negated but nothing raised' do
|
28
|
+
this = self
|
29
|
+
spec rand do
|
30
|
+
test(:test) {refute {}.raise nil, /blah/}
|
31
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should pass if it raises a exception type different from negated one' do
|
36
|
+
this = self
|
37
|
+
spec rand do
|
38
|
+
test(:test) {refute {x}.raise(ArgumentError)}
|
39
|
+
this.assert_equal :__tokyo_passed__, run(:test)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'should fail if it raises a exception of same type as negated one' do
|
44
|
+
this = self
|
45
|
+
spec rand do
|
46
|
+
test(:test) {refute {x}.raise NameError}
|
47
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'should pass if it raises a exception with a message different from negated one' do
|
52
|
+
this = self
|
53
|
+
spec rand do
|
54
|
+
test(:test) {refute {x}.raise nil, /blah/}
|
55
|
+
this.assert_equal :__tokyo_passed__, run(:test)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'should fail if it raises a exception with a message matching negated one' do
|
60
|
+
this = self
|
61
|
+
spec rand do
|
62
|
+
test(:test) {refute {x}.raise nil, /undefined local variable/}
|
63
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'should pass if raised type is not of negated type and error message does not match negated message' do
|
68
|
+
this = self
|
69
|
+
spec rand do
|
70
|
+
test(:test) {refute {x}.raise ArgumentError, /blah/}
|
71
|
+
this.assert_equal :__tokyo_passed__, run(:test)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
it 'should fail if raised type is of negated type' do
|
76
|
+
this = self
|
77
|
+
spec rand do
|
78
|
+
test(:test) {refute {x}.raise NameError, /blah/}
|
79
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
it 'should fail if error message matches negated one' do
|
84
|
+
this = self
|
85
|
+
spec rand do
|
86
|
+
test(:test) {refute {x}.raise ArgumentError, /undefined local variable/}
|
87
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
describe :refute_throw do
|
2
|
+
|
3
|
+
it 'should pass when nothing thrown' do
|
4
|
+
this = self
|
5
|
+
spec rand do
|
6
|
+
test(:test) {refute {}.throw}
|
7
|
+
this.assert_equal :__tokyo_passed__, run(:test)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should fail when something thrown' do
|
12
|
+
this = self
|
13
|
+
spec rand do
|
14
|
+
test(:test) {refute {throw :x}.throw}
|
15
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should pass when thrown symbol does not match negated one' do
|
20
|
+
this = self
|
21
|
+
spec rand do
|
22
|
+
test(:test) {refute {throw :x}.throw(:y)}
|
23
|
+
this.assert_equal :__tokyo_passed__, run(:test)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should fail when thrown symbol does match negated one' do
|
28
|
+
this = self
|
29
|
+
spec rand do
|
30
|
+
test(:test) {refute {throw :x}.throw(:x)}
|
31
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should fail when a negated symbol given and nothing thrown' do
|
36
|
+
this = self
|
37
|
+
spec rand do
|
38
|
+
test(:test) {refute {}.throw(:x)}
|
39
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
data/test/setup.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'minitest/autorun'
|
3
|
+
require 'tokyo'
|
4
|
+
|
5
|
+
module Minitest
|
6
|
+
class Mock
|
7
|
+
def respond_to?(sym, include_private = false)
|
8
|
+
retval = __respond_to?(sym, include_private)
|
9
|
+
if @expected_calls.key?(:respond_to?)
|
10
|
+
@actual_calls[:respond_to?] << {retval: retval, args: [sym, include_private]}
|
11
|
+
end
|
12
|
+
retval
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def proxy obj
|
18
|
+
Tokyo::Assert.new(returned: obj)
|
19
|
+
end
|
20
|
+
|
21
|
+
def mock meth, *args, &block
|
22
|
+
m = Minitest::Mock.new
|
23
|
+
m.expect(meth, true, args, &block)
|
24
|
+
proxy(m)
|
25
|
+
end
|
data/test/skip_test.rb
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
describe :skip do
|
2
|
+
|
3
|
+
it 'should skip inside spec' do
|
4
|
+
r, w = IO.pipe
|
5
|
+
fork do
|
6
|
+
r.close
|
7
|
+
s = Tokyo.define_spec :skip_spec, proc {
|
8
|
+
test(:a) {}
|
9
|
+
skip
|
10
|
+
test(:b) {}
|
11
|
+
}
|
12
|
+
w.print({skips: Tokyo.skips.size, tests: s.tests.size}.to_json)
|
13
|
+
end
|
14
|
+
w.close
|
15
|
+
data = JSON.parse(r.read)
|
16
|
+
assert_equal 1, data['skips']
|
17
|
+
assert_equal 1, data['tests']
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should skip inside test' do
|
21
|
+
r, w = IO.pipe
|
22
|
+
fork do
|
23
|
+
r.close
|
24
|
+
Tokyo.define_and_register_a_spec :skip_test, proc {
|
25
|
+
test :x do
|
26
|
+
skip
|
27
|
+
w.print 'bad'
|
28
|
+
end
|
29
|
+
}
|
30
|
+
Tokyo.run
|
31
|
+
end
|
32
|
+
w.close
|
33
|
+
assert_equal '', r.read
|
34
|
+
end
|
35
|
+
end
|
data/test/throw_test.rb
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
describe :throw do
|
2
|
+
|
3
|
+
it 'should pass when any symbol expected and something thrown' do
|
4
|
+
this = self
|
5
|
+
spec rand do
|
6
|
+
test(:test) {assert {throw :x}.throw}
|
7
|
+
this.assert_equal :__tokyo_passed__, run(:test)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should pass when specific symbol expected and thrown' do
|
12
|
+
this = self
|
13
|
+
spec rand do
|
14
|
+
test(:test) {assert {throw :x}.throw(:x)}
|
15
|
+
this.assert_equal :__tokyo_passed__, run(:test)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should fail when any throw expected but nothing thrown' do
|
20
|
+
this = self
|
21
|
+
spec rand do
|
22
|
+
test(:test) {assert {}.throw}
|
23
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should fail when specific symbol expected but nothing thrown' do
|
28
|
+
this = self
|
29
|
+
spec rand do
|
30
|
+
test(:test) {assert {}.throw(:x)}
|
31
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'should fail when wrong symbol thrown' do
|
36
|
+
this = self
|
37
|
+
spec rand do
|
38
|
+
test(:test) {assert {throw :y}.throw(:x)}
|
39
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
it 'should pass when given block validates thrown symbol' do
|
44
|
+
this = self
|
45
|
+
spec rand do
|
46
|
+
test(:test) {assert {throw :x}.throw {|s| s == :x}}
|
47
|
+
this.assert_equal :__tokyo_passed__, run(:test)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'should fail when given block invalidates thrown symbol' do
|
52
|
+
this = self
|
53
|
+
spec rand do
|
54
|
+
test(:test) {assert {}.throw {false}}
|
55
|
+
this.assert_equal Tokyo::GenericFailure, run(:test).class
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
data/tokyo.gemspec
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
Gem::Specification.new do |spec|
|
2
|
+
spec.name = 'tokyo'
|
3
|
+
spec.version = '0.0.5'
|
4
|
+
spec.authors = ['Slee Woo']
|
5
|
+
spec.email = ['mail@sleewoo.com']
|
6
|
+
spec.description = 'Super-simple testing library for Ruby'
|
7
|
+
spec.summary = [spec.name, spec.version]*'-'
|
8
|
+
spec.homepage = 'https://github.com/sleewoo/' + spec.name
|
9
|
+
spec.license = 'MIT'
|
10
|
+
|
11
|
+
spec.files = Dir['**/{*,.[a-z]*}'].reject {|e| e =~ /\.(gem|lock|html)\Z/}
|
12
|
+
spec.require_paths = ['lib']
|
13
|
+
|
14
|
+
spec.executables = Dir['bin/*'].map { |f| File.basename(f)}
|
15
|
+
|
16
|
+
spec.required_ruby_version = '>= 2'
|
17
|
+
|
18
|
+
spec.add_runtime_dependency 'tty-progressbar', '~> 0.5'
|
19
|
+
spec.add_runtime_dependency 'tty-screen', '~> 0.1'
|
20
|
+
spec.add_runtime_dependency 'pastel', '~> 0.4'
|
21
|
+
spec.add_runtime_dependency 'coderay', '~> 1'
|
22
|
+
spec.add_runtime_dependency 'json', '~> 1.8'
|
23
|
+
|
24
|
+
spec.add_development_dependency 'minitest', '~> 5.5'
|
25
|
+
spec.add_development_dependency 'bundler', '~> 1.8'
|
26
|
+
spec.add_development_dependency 'rake', '~> 10.4'
|
27
|
+
end
|
metadata
ADDED
@@ -0,0 +1,195 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tokyo
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.5
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Slee Woo
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-10-01 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: tty-progressbar
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.5'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.5'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: tty-screen
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.1'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: pastel
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.4'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.4'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: coderay
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: json
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.8'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.8'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: minitest
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '5.5'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '5.5'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: bundler
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '1.8'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '1.8'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rake
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '10.4'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '10.4'
|
125
|
+
description: Super-simple testing library for Ruby
|
126
|
+
email:
|
127
|
+
- mail@sleewoo.com
|
128
|
+
executables:
|
129
|
+
- tokyo
|
130
|
+
extensions: []
|
131
|
+
extra_rdoc_files: []
|
132
|
+
files:
|
133
|
+
- ".gitignore"
|
134
|
+
- ".travis.yml"
|
135
|
+
- Gemfile
|
136
|
+
- LICENSE.txt
|
137
|
+
- README.md
|
138
|
+
- Rakefile
|
139
|
+
- bin/tokyo
|
140
|
+
- lib/tokyo.rb
|
141
|
+
- lib/tokyo/assert.rb
|
142
|
+
- lib/tokyo/core_ext.rb
|
143
|
+
- lib/tokyo/expectations.rb
|
144
|
+
- lib/tokyo/expectations/raise.rb
|
145
|
+
- lib/tokyo/expectations/return.rb
|
146
|
+
- lib/tokyo/expectations/throw.rb
|
147
|
+
- lib/tokyo/expectations/with.rb
|
148
|
+
- lib/tokyo/pretty_print.rb
|
149
|
+
- lib/tokyo/run.rb
|
150
|
+
- lib/tokyo/unit.rb
|
151
|
+
- lib/tokyo/util.rb
|
152
|
+
- lib/tokyo/util/assert_raise.rb
|
153
|
+
- lib/tokyo/util/assert_throw.rb
|
154
|
+
- lib/tokyo/util/refute_raise.rb
|
155
|
+
- lib/tokyo/util/refute_throw.rb
|
156
|
+
- test/assert_test.rb
|
157
|
+
- test/context_inheritance_test.rb
|
158
|
+
- test/hooks_test.rb
|
159
|
+
- test/raise_test.rb
|
160
|
+
- test/receive_and_raise_test.rb
|
161
|
+
- test/receive_and_return_test.rb
|
162
|
+
- test/receive_and_throw_test.rb
|
163
|
+
- test/receive_test.rb
|
164
|
+
- test/receive_with_test.rb
|
165
|
+
- test/refute_raise_test.rb
|
166
|
+
- test/refute_throw_test.rb
|
167
|
+
- test/setup.rb
|
168
|
+
- test/skip_test.rb
|
169
|
+
- test/throw_test.rb
|
170
|
+
- tokyo.gemspec
|
171
|
+
homepage: https://github.com/sleewoo/tokyo
|
172
|
+
licenses:
|
173
|
+
- MIT
|
174
|
+
metadata: {}
|
175
|
+
post_install_message:
|
176
|
+
rdoc_options: []
|
177
|
+
require_paths:
|
178
|
+
- lib
|
179
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
180
|
+
requirements:
|
181
|
+
- - ">="
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: '2'
|
184
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
185
|
+
requirements:
|
186
|
+
- - ">="
|
187
|
+
- !ruby/object:Gem::Version
|
188
|
+
version: '0'
|
189
|
+
requirements: []
|
190
|
+
rubyforge_project:
|
191
|
+
rubygems_version: 2.4.5
|
192
|
+
signing_key:
|
193
|
+
specification_version: 4
|
194
|
+
summary: tokyo-0.0.5
|
195
|
+
test_files: []
|