attestify 0.1.0.pre.3 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +3 -3
- data/Rakefile +1 -1
- data/attestify.gemspec +2 -3
- data/lib/attestify.rb +1 -1
- data/lib/attestify/assertion_results.rb +2 -2
- data/lib/attestify/assertions.rb +5 -5
- data/lib/attestify/mock.rb +8 -3
- data/lib/attestify/reporter.rb +1 -1
- data/lib/attestify/test.rb +15 -6
- data/lib/attestify/test_executor.rb +5 -9
- data/lib/attestify/test_list.rb +1 -1
- data/lib/attestify/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cfc95cc88519939c004c7c90f2e80563801003b8
|
4
|
+
data.tar.gz: dbd105d4e73d1c631de20b06e4ce9bd8f00dc515
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb7b2c51b0430c92fca3792a3a5a6cacdd6947fdb1ab1170ba7cac2cded802844b9c94a60f1b1b3ff6bc732c2a1e95d4e949fd3e9cdcb0b3c9a8850e2ffc6d29
|
7
|
+
data.tar.gz: ef760b541c9077a24a632236bbe98fecd6f9193446ba3966fb341ec2b0da6da1c5617baa68add856cbb3217b89917a84fdcf67b9cf8df6168b5c286b6a162dc7
|
data/.rubocop.yml
CHANGED
@@ -5,6 +5,9 @@ AllCops:
|
|
5
5
|
- vendor/**/*
|
6
6
|
DisplayCopNames: true
|
7
7
|
|
8
|
+
Layout/SpaceInsideBlockBraces:
|
9
|
+
EnforcedStyleForEmptyBraces: space
|
10
|
+
|
8
11
|
Metrics/AbcSize:
|
9
12
|
Exclude:
|
10
13
|
- test/**/*_test.rb
|
@@ -27,9 +30,6 @@ Style/ClassAndModuleChildren:
|
|
27
30
|
Style/SignalException:
|
28
31
|
EnforcedStyle: only_raise
|
29
32
|
|
30
|
-
Style/SpaceInsideBlockBraces:
|
31
|
-
EnforcedStyleForEmptyBraces: space
|
32
|
-
|
33
33
|
Style/StringLiterals:
|
34
34
|
EnforcedStyle: double_quotes
|
35
35
|
|
data/Rakefile
CHANGED
data/attestify.gemspec
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
|
2
|
-
lib = File.expand_path("../lib", __FILE__)
|
1
|
+
lib = File.expand_path("lib", __dir__)
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
3
|
require "attestify"
|
5
4
|
|
@@ -22,5 +21,5 @@ Gem::Specification.new do |spec|
|
|
22
21
|
|
23
22
|
spec.add_development_dependency "bundler", "~> 1.12"
|
24
23
|
spec.add_development_dependency "rake", "~> 10.0"
|
25
|
-
spec.add_development_dependency "rubocop", "0.
|
24
|
+
spec.add_development_dependency "rubocop", "0.55.0"
|
26
25
|
end
|
data/lib/attestify.rb
CHANGED
@@ -76,10 +76,10 @@ module Attestify
|
|
76
76
|
result.pop while !result.empty? && !location_in_attestify?(result.last)
|
77
77
|
result.pop while !result.empty? && location_in_attestify?(result.last)
|
78
78
|
result
|
79
|
-
rescue
|
79
|
+
rescue StandardError
|
80
80
|
# In case of a disaster, use the original locations, otherwise
|
81
81
|
# tests that should fail would seem to succeed.
|
82
|
-
|
82
|
+
backtrace_locations
|
83
83
|
end
|
84
84
|
|
85
85
|
def location_in_attestify?(location)
|
data/lib/attestify/assertions.rb
CHANGED
@@ -109,13 +109,13 @@ module Attestify
|
|
109
109
|
exceptions = [StandardError] if exceptions.empty?
|
110
110
|
yield
|
111
111
|
record_assert(false, message) { "Expected one of: #{exceptions.inspect} to be raised, but nothing was raised" }
|
112
|
-
|
113
|
-
rescue => e
|
112
|
+
nil
|
113
|
+
rescue StandardError => e
|
114
114
|
record_assert(exceptions.any? { |x| e.is_a?(x) }, message) do
|
115
115
|
"Expected one of: #{exceptions.inspect} to be raised, but instead got: #{e.class.name}"
|
116
116
|
end
|
117
117
|
|
118
|
-
|
118
|
+
e
|
119
119
|
end
|
120
120
|
|
121
121
|
def assert_respond_to(object, method, message = nil)
|
@@ -149,7 +149,7 @@ module Attestify
|
|
149
149
|
if expected.is_a?(Numeric)
|
150
150
|
expected == 42
|
151
151
|
elsif expected.is_a?(String)
|
152
|
-
expected == "42" || expected.casecmp("forty-two")
|
152
|
+
expected == "42" || expected.casecmp("forty-two").zero?
|
153
153
|
elsif expected.respond_to?("42?")
|
154
154
|
expected.send("42?")
|
155
155
|
elsif expected.respond_to?(:forty_two?)
|
@@ -263,7 +263,7 @@ module Attestify
|
|
263
263
|
end
|
264
264
|
|
265
265
|
def refute_match(matcher, object, message = nil)
|
266
|
-
record_assert(
|
266
|
+
record_assert(matcher !~ object, message) { "Expected not #{matcher.inspect} =~ #{object.inspect}" }
|
267
267
|
end
|
268
268
|
|
269
269
|
def refute_nil(object, message = nil)
|
data/lib/attestify/mock.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Attestify
|
2
2
|
# Simple class for mocking objects.
|
3
3
|
class Mock
|
4
|
-
def initialize(test_or_assertions)
|
4
|
+
def initialize(test_or_assertions = Attestify::Test.current_test)
|
5
5
|
@assertions = test_or_assertions
|
6
6
|
@assertions = test_or_assertions.assertions if test_or_assertions.respond_to?(:assertions)
|
7
7
|
@expectations_hash = Hash.new { |hash, key| hash[key] = [] }
|
@@ -22,7 +22,12 @@ module Attestify
|
|
22
22
|
@expectations.reject(&:called?).each { |x| x.verify(@assertions) }
|
23
23
|
end
|
24
24
|
|
25
|
-
def
|
25
|
+
def respond_to_missing?(method, include_all = false)
|
26
|
+
return true if @expectations_hash.include?(method)
|
27
|
+
super
|
28
|
+
end
|
29
|
+
|
30
|
+
def method_missing(method, *args, &block) # rubocop:disable Style/MethodMissing
|
26
31
|
expectation =
|
27
32
|
if @expectations_hash[method].empty?
|
28
33
|
UnexpectedCall.new(method, args, block)
|
@@ -78,7 +83,7 @@ module Attestify
|
|
78
83
|
|
79
84
|
def verify(assertions)
|
80
85
|
if !called?
|
81
|
-
assertions.record(false, "Missing expected call to mock: #{self}",
|
86
|
+
assertions.record(false, "Missing expected call to mock: #{self}", caller_locations(4))
|
82
87
|
elsif !arguments_valid?
|
83
88
|
assertions.record(false, "Expected call to mock: #{self}, but got: #{to_s(:actual)}", @caller_locations)
|
84
89
|
else
|
data/lib/attestify/reporter.rb
CHANGED
data/lib/attestify/test.rb
CHANGED
@@ -24,20 +24,29 @@ module Attestify
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
+
def self.current_test
|
28
|
+
Thread.current[:Attestify_Test_CurrentTest]
|
29
|
+
end
|
30
|
+
|
27
31
|
def self.run_one_method(test_class, method, reporter, filter = nil)
|
28
32
|
return if filter && !filter.run?(test_class, method)
|
29
|
-
|
33
|
+
|
34
|
+
begin
|
35
|
+
test = test_class.new(method)
|
36
|
+
Thread.current[:Attestify_Test_CurrentTest] = test
|
37
|
+
reporter.record test.run
|
38
|
+
ensure
|
39
|
+
Thread.current[:Attestify_Test_CurrentTest] = nil
|
40
|
+
end
|
30
41
|
end
|
31
42
|
|
32
43
|
def self.runnable_methods
|
33
44
|
instance_methods.select { |method| method.to_s.start_with?("test_") }
|
34
45
|
end
|
35
46
|
|
36
|
-
def setup
|
37
|
-
end
|
47
|
+
def setup; end
|
38
48
|
|
39
|
-
def teardown
|
40
|
-
end
|
49
|
+
def teardown; end
|
41
50
|
|
42
51
|
def assertions
|
43
52
|
@_assertions
|
@@ -88,7 +97,7 @@ module Attestify
|
|
88
97
|
ensure
|
89
98
|
teardown
|
90
99
|
end
|
91
|
-
rescue => e
|
100
|
+
rescue StandardError => e
|
92
101
|
assertions.error = e
|
93
102
|
ensure
|
94
103
|
return self # rubocop:disable Lint/EnsureReturn
|
@@ -10,7 +10,7 @@ module Attestify
|
|
10
10
|
before_exec
|
11
11
|
@exit_code = true
|
12
12
|
timer = Attestify::Timer.time { run }
|
13
|
-
rescue => e
|
13
|
+
rescue StandardError => e
|
14
14
|
@exit_code = 2
|
15
15
|
STDERR.puts("Error running tests: #{e}\n #{e.backtrace.join("\n ")}")
|
16
16
|
ensure
|
@@ -30,17 +30,13 @@ module Attestify
|
|
30
30
|
|
31
31
|
attr_reader :exit_code
|
32
32
|
|
33
|
-
def before_run
|
34
|
-
end
|
33
|
+
def before_run; end
|
35
34
|
|
36
|
-
def after_run
|
37
|
-
end
|
35
|
+
def after_run; end
|
38
36
|
|
39
|
-
def before_exec
|
40
|
-
end
|
37
|
+
def before_exec; end
|
41
38
|
|
42
|
-
def after_exec
|
43
|
-
end
|
39
|
+
def after_exec; end
|
44
40
|
|
45
41
|
def report?
|
46
42
|
true
|
data/lib/attestify/test_list.rb
CHANGED
data/lib/attestify/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: attestify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Virata-Stone
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-05-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.55.0
|
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: 0.
|
54
|
+
version: 0.55.0
|
55
55
|
description: A small framework for testing your code. It keeps track of assertion
|
56
56
|
failures as well as test failures.
|
57
57
|
email:
|
@@ -105,12 +105,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
105
105
|
version: '0'
|
106
106
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - "
|
108
|
+
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
110
|
+
version: '0'
|
111
111
|
requirements: []
|
112
112
|
rubyforge_project:
|
113
|
-
rubygems_version: 2.
|
113
|
+
rubygems_version: 2.6.14.1
|
114
114
|
signing_key:
|
115
115
|
specification_version: 4
|
116
116
|
summary: A new way to test your code
|