defekt 0.0.6 → 0.0.7

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: f3db55a80b9ac8e6bc24783e9032d938ab9ce647
4
- data.tar.gz: 25e23d803bd42143a167bd091d1a4c3c88329472
3
+ metadata.gz: 46ee818b3b74ea6f9d3f5f9240bf885f05852b75
4
+ data.tar.gz: 184b941d229c41507ddf3abba48727698d27ae4f
5
5
  SHA512:
6
- metadata.gz: 623fe19b659bb0c4eb5de2a5a8396d3a39e2084afa37e55ecbe1777b7925ca2cc1cebbafd99c2a2c8d6bc5b45cf1adbb293d1bcaf7e95eb847963adc039eefac
7
- data.tar.gz: d1a771201173ca1ebbd50cfd1ff50e5d6220b80004bec62b98099fcb153bb11691c04d9eb72c1c79691e81ef929dc1f97f22047d118b99917c06e891730f860f
6
+ metadata.gz: 8ad4411f28a0923b6a6a464773c97910e509762928152cc0a92c9374f1e1492d46ca40c1aab4e9d1b7004907afce01d1a8e41d5e8a35bf3e4b2e2e3fc095993c
7
+ data.tar.gz: dc810d616d57487c838a13a178665d76628a3f392f2ec199ce8c855a3d3e6f4648e179ba8a089d066b2282101f1092a5558de4a7ea871ed7773aab6e3a7df041
@@ -2,4 +2,4 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
4
  - 2.2.1
5
- before_install: gem install bundler -v 1.9.2
5
+ before_install: gem install bundler -v 1.9.4
data/README.md CHANGED
@@ -23,7 +23,7 @@ Or install it yourself as:
23
23
 
24
24
  ## Usage
25
25
 
26
- Inherit your test classes from `Defekt::Base` and define your tests prefixed with `test_`. You can define `before` and `after` methods, which are invoked around each test. By requiring `defekt/autorun` your tests are automatically run.
26
+ Inherit your test classes from `Defekt::Base` and use the `test` method to define your tests. You can use the `before` and `after` methods to specify context blocks, which are yielded around each test. By requiring `defekt/autorun` your tests are automatically run.
27
27
 
28
28
  ```ruby
29
29
  require 'defekt/autorun'
@@ -37,15 +37,13 @@ class Person
37
37
  end
38
38
 
39
39
  class PersonTest < Defekt::Base
40
- def before
41
- @person = Person.new('kodnin')
42
- end
40
+ before { @person = Person.new('kodnin') }
43
41
 
44
- def test_initialize
42
+ test '#initialize' do
45
43
  instance_of! Person, @person
46
44
  end
47
45
 
48
- def test_name
46
+ test '#name' do
49
47
  equal_to! 'kodnin', @person.name
50
48
  end
51
49
  end
@@ -94,18 +92,16 @@ class Hacker
94
92
  end
95
93
 
96
94
  class HackerTest < Defekt::Base
97
- def before
98
- @hacker = Hacker.new
99
- end
95
+ before { @hacker = Hacker.new }
100
96
 
101
- def test_mock
97
+ test 'mock' do
102
98
  mock = Defekt::Mock.new
103
99
  mock.expect(:name, 'kodnin')
104
100
  equal_to! 'kodnin', @hacker.identity(mock)
105
101
  verify! mock
106
102
  end
107
103
 
108
- def test_stub
104
+ test 'stub' do
109
105
  not_respond_to! @hacker, :password
110
106
  @hacker.stub(:password, 'nindok') do
111
107
  respond_to! @hacker, :password
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.required_ruby_version = '>= 1.9.3'
23
23
 
24
24
  spec.add_development_dependency 'bundler', '~> 1.9'
25
- spec.add_development_dependency 'rake', '~> 10.0'
26
- spec.add_development_dependency 'minitest', '~> 5.5'
25
+ spec.add_development_dependency 'rake', '~> 10.4'
26
+ spec.add_development_dependency 'minitest', '~> 5.6'
27
27
  spec.add_development_dependency 'pry', '~> 0.10'
28
28
  end
@@ -2,7 +2,18 @@ module Defekt
2
2
  class Base
3
3
  include Assertions
4
4
 
5
- [:before, :after].each { |methot| define_method(methot) {} }
5
+ def self.before(&block)
6
+ define_method(:before, &block)
7
+ end
8
+
9
+ def self.after(&block)
10
+ define_method(:after, &block)
11
+ end
12
+
13
+ def self.test(name, &block)
14
+ safe_name = "test_#{name.gsub(/\s+/, '_')}".to_sym
15
+ define_method(safe_name, &block)
16
+ end
6
17
 
7
18
  def self.children
8
19
  @children ||= []
@@ -14,14 +14,14 @@ module Defekt
14
14
  @ran = true
15
15
 
16
16
  begin
17
- instance.before
17
+ instance.before if instance.respond_to?(:before)
18
18
  methot.bind(instance).call
19
19
  '.'
20
20
  rescue => e
21
21
  @error = e
22
22
  status.chars.first
23
23
  ensure
24
- instance.after
24
+ instance.after if instance.respond_to?(:after)
25
25
  end
26
26
  end
27
27
 
@@ -1,3 +1,3 @@
1
1
  module Defekt
2
- VERSION = '0.0.6'
2
+ VERSION = '0.0.7'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: defekt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Boot
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-04-04 00:00:00.000000000 Z
11
+ date: 2015-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '10.4'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '10.4'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '5.5'
47
+ version: '5.6'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '5.5'
54
+ version: '5.6'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: pry
57
57
  requirement: !ruby/object:Gem::Requirement