assert 2.15.0 → 2.15.1
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 -7
- data/Gemfile +0 -1
- data/{LICENSE.txt → LICENSE} +0 -0
- data/README.md +106 -35
- data/assert.gemspec +2 -2
- data/lib/assert/assert_runner.rb +19 -12
- data/lib/assert/assertions.rb +1 -0
- data/lib/assert/cli.rb +3 -0
- data/lib/assert/config.rb +24 -6
- data/lib/assert/config_helpers.rb +15 -28
- data/lib/assert/context.rb +4 -3
- data/lib/assert/context/test_dsl.rb +3 -2
- data/lib/assert/context_info.rb +19 -0
- data/lib/assert/default_runner.rb +12 -0
- data/lib/assert/default_suite.rb +64 -0
- data/lib/assert/default_view.rb +17 -15
- data/lib/assert/file_line.rb +3 -2
- data/lib/assert/result.rb +6 -0
- data/lib/assert/runner.rb +58 -21
- data/lib/assert/suite.rb +61 -100
- data/lib/assert/test.rb +3 -3
- data/lib/assert/version.rb +1 -1
- data/lib/assert/view.rb +58 -74
- data/lib/assert/view_helpers.rb +10 -48
- data/test/helper.rb +9 -0
- data/test/support/factory.rb +5 -5
- data/test/unit/assertions/assert_raises_tests.rb +20 -0
- data/test/unit/config_helpers_tests.rb +29 -29
- data/test/unit/config_tests.rb +43 -10
- data/test/unit/context/suite_dsl_tests.rb +1 -1
- data/test/unit/context_info_tests.rb +55 -0
- data/test/unit/default_runner_tests.rb +18 -0
- data/test/unit/default_suite_tests.rb +74 -0
- data/test/unit/file_line_tests.rb +6 -2
- data/test/unit/result_tests.rb +15 -4
- data/test/unit/runner_tests.rb +128 -6
- data/test/unit/suite_tests.rb +73 -182
- data/test/unit/view_helpers_tests.rb +44 -38
- data/test/unit/view_tests.rb +15 -39
- metadata +42 -28
- data/Rakefile +0 -1
@@ -1,9 +1,11 @@
|
|
1
1
|
require 'assert'
|
2
2
|
require 'assert/view_helpers'
|
3
3
|
|
4
|
+
require 'stringio'
|
4
5
|
require 'assert/config'
|
5
6
|
require 'assert/config_helpers'
|
6
7
|
require 'assert/result'
|
8
|
+
require 'assert/view'
|
7
9
|
|
8
10
|
module Assert::ViewHelpers
|
9
11
|
|
@@ -19,7 +21,7 @@ module Assert::ViewHelpers
|
|
19
21
|
def config
|
20
22
|
# use the assert config since it has tests, contexts, etc
|
21
23
|
# also maybe use a fresh config that is empty
|
22
|
-
@config ||= [Assert.config, Assert::Config.new].
|
24
|
+
@config ||= [Assert.config, Assert::Config.new].sample
|
23
25
|
end
|
24
26
|
end
|
25
27
|
end
|
@@ -54,8 +56,7 @@ module Assert::ViewHelpers
|
|
54
56
|
subject{ @helpers }
|
55
57
|
|
56
58
|
should have_imeths :test_run_time, :test_result_rate
|
57
|
-
should have_imeths :
|
58
|
-
should have_imeths :show_result_details?, :captured_output
|
59
|
+
should have_imeths :captured_output, :re_run_test_cmd
|
59
60
|
should have_imeths :test_count_statement, :result_count_statement
|
60
61
|
should have_imeths :to_sentence
|
61
62
|
should have_imeths :all_pass_result_summary_msg, :result_summary_msg
|
@@ -74,25 +75,6 @@ module Assert::ViewHelpers
|
|
74
75
|
assert_equal exp, subject.test_result_rate(test)
|
75
76
|
end
|
76
77
|
|
77
|
-
# note: not formally testing the result details for methods as the views
|
78
|
-
# will break if these are broken.
|
79
|
-
|
80
|
-
should "know whether to show result details" do
|
81
|
-
assert_false subject.show_result_details?(Factory.pass_result)
|
82
|
-
|
83
|
-
assert_true subject.show_result_details?(Factory.fail_result)
|
84
|
-
assert_true subject.show_result_details?(Factory.error_result)
|
85
|
-
|
86
|
-
skip_res, ignore_res = Factory.skip_result, Factory.ignore_result
|
87
|
-
assert_true subject.show_result_details?(skip_res)
|
88
|
-
assert_true subject.show_result_details?(ignore_res)
|
89
|
-
|
90
|
-
Assert.stub(skip_res, :message){ nil}
|
91
|
-
Assert.stub(ignore_res, :message){ nil}
|
92
|
-
assert_false subject.show_result_details?(skip_res)
|
93
|
-
assert_false subject.show_result_details?(ignore_res)
|
94
|
-
end
|
95
|
-
|
96
78
|
should "know how to build captured output" do
|
97
79
|
output = Factory.string
|
98
80
|
exp = "--- stdout ---\n"\
|
@@ -101,6 +83,12 @@ module Assert::ViewHelpers
|
|
101
83
|
assert_equal exp, subject.captured_output(output)
|
102
84
|
end
|
103
85
|
|
86
|
+
should "know how to build the re-run test cmd" do
|
87
|
+
test_id = "#{Dir.pwd}/#{Factory.string}_tests.rb:#{Factory.integer}"
|
88
|
+
exp = "assert -t #{test_id.gsub(Dir.pwd, '.')}"
|
89
|
+
assert_equal exp, subject.re_run_test_cmd(test_id)
|
90
|
+
end
|
91
|
+
|
104
92
|
should "know its test count and result count statements" do
|
105
93
|
exp = "#{subject.count(:tests)} test#{'s' if subject.count(:tests) != 1}"
|
106
94
|
assert_equal exp, subject.test_count_statement
|
@@ -139,7 +127,7 @@ module Assert::ViewHelpers
|
|
139
127
|
assert_equal exp, subject.result_summary_msg(res_type)
|
140
128
|
|
141
129
|
Assert.stub(subject, :all_pass?){ false }
|
142
|
-
res_type = [:pass, :ignore, :fail, :skip, :error].
|
130
|
+
res_type = [:pass, :ignore, :fail, :skip, :error].sample
|
143
131
|
exp = "#{subject.count(res_type)} #{res_type.to_s}"
|
144
132
|
assert_equal exp, subject.result_summary_msg(res_type)
|
145
133
|
end
|
@@ -172,7 +160,7 @@ module Assert::ViewHelpers
|
|
172
160
|
end
|
173
161
|
|
174
162
|
should "map its code style names to ansi code strings" do
|
175
|
-
styles = Factory.integer(3).times.map{ subject::CODES.keys.
|
163
|
+
styles = Factory.integer(3).times.map{ subject::CODES.keys.sample }
|
176
164
|
exp = styles.map{ |n| "\e[#{subject::CODES[n]}m" }.join('')
|
177
165
|
assert_equal exp, subject.code_for(*styles)
|
178
166
|
|
@@ -185,24 +173,42 @@ module Assert::ViewHelpers
|
|
185
173
|
|
186
174
|
end
|
187
175
|
|
188
|
-
class
|
189
|
-
desc "
|
176
|
+
class AnsiInitTests < UnitTests
|
177
|
+
desc "when mixed in on a view"
|
190
178
|
setup do
|
191
|
-
|
192
|
-
@
|
193
|
-
@index = Factory.integer
|
194
|
-
|
195
|
-
@details = ResultDetails.new(@result, @test, @index)
|
179
|
+
view_class = Class.new(Assert::View){ include Ansi }
|
180
|
+
@view = view_class.new(Factory.modes_off_config, StringIO.new("", "w+"))
|
196
181
|
end
|
197
|
-
subject{ @
|
182
|
+
subject{ @view }
|
183
|
+
|
184
|
+
should have_imeths :ansi_styled_msg
|
185
|
+
|
186
|
+
should "know how to build ansi styled messages" do
|
187
|
+
msg = Factory.string
|
188
|
+
result = [:pass, :fail, :error, :skip, :ignore].sample
|
189
|
+
|
190
|
+
Assert.stub(subject, :is_tty?){ false }
|
191
|
+
Assert.stub(subject, :styled){ false }
|
192
|
+
assert_equal msg, subject.ansi_styled_msg(msg, result)
|
193
|
+
|
194
|
+
Assert.stub(subject, :is_tty?){ false }
|
195
|
+
Assert.stub(subject, :styled){ true }
|
196
|
+
assert_equal msg, subject.ansi_styled_msg(msg, result)
|
197
|
+
|
198
|
+
Assert.stub(subject, :is_tty?){ true }
|
199
|
+
Assert.stub(subject, :styled){ false }
|
200
|
+
assert_equal msg, subject.ansi_styled_msg(msg, result)
|
198
201
|
|
199
|
-
|
202
|
+
Assert.stub(subject, :is_tty?){ true }
|
203
|
+
Assert.stub(subject, :styled){ true }
|
204
|
+
Assert.stub(subject, "#{result}_styles"){ [] }
|
205
|
+
assert_equal msg, subject.ansi_styled_msg(msg, result)
|
200
206
|
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
assert_equal
|
207
|
+
styles = Factory.integer(3).times.map{ Assert::ViewHelpers::Ansi::CODES.keys.sample }
|
208
|
+
Assert.stub(subject, "#{result}_styles"){ styles }
|
209
|
+
exp_code = Assert::ViewHelpers::Ansi.code_for(*styles)
|
210
|
+
exp = exp_code + msg + Assert::ViewHelpers::Ansi.code_for(:reset)
|
211
|
+
assert_equal exp, subject.ansi_styled_msg(msg, result)
|
206
212
|
end
|
207
213
|
|
208
214
|
end
|
data/test/unit/view_tests.rb
CHANGED
@@ -2,10 +2,11 @@ require 'assert'
|
|
2
2
|
require 'assert/view'
|
3
3
|
|
4
4
|
require 'stringio'
|
5
|
+
require 'assert/config_helpers'
|
5
6
|
require 'assert/suite'
|
6
7
|
require 'assert/view_helpers'
|
7
8
|
|
8
|
-
|
9
|
+
class Assert::View
|
9
10
|
|
10
11
|
class UnitTests < Assert::Context
|
11
12
|
desc "Assert::View"
|
@@ -13,29 +14,32 @@ module Assert::View
|
|
13
14
|
|
14
15
|
should have_instance_method :require_user_view
|
15
16
|
|
17
|
+
should "include the config helpers" do
|
18
|
+
assert_includes Assert::ConfigHelpers, subject
|
19
|
+
end
|
20
|
+
|
21
|
+
should "include the view helpers" do
|
22
|
+
assert_includes Assert::ViewHelpers, subject
|
23
|
+
end
|
24
|
+
|
16
25
|
end
|
17
26
|
|
18
|
-
class
|
19
|
-
desc "
|
27
|
+
class InitTests < UnitTests
|
28
|
+
desc "when init"
|
20
29
|
setup do
|
21
30
|
@io = StringIO.new("", "w+")
|
22
31
|
@config = Factory.modes_off_config
|
23
32
|
|
24
|
-
@view = Assert::View
|
33
|
+
@view = Assert::View.new(@config, @io)
|
25
34
|
end
|
26
35
|
subject{ @view }
|
27
36
|
|
28
37
|
should have_readers :config
|
29
|
-
should have_imeths :view, :is_tty
|
30
|
-
should have_imeths :fire
|
38
|
+
should have_imeths :view, :is_tty?
|
31
39
|
should have_imeths :before_load, :after_load
|
32
40
|
should have_imeths :on_start, :on_finish, :on_interrupt
|
33
41
|
should have_imeths :before_test, :after_test, :on_result
|
34
42
|
|
35
|
-
should "include the view helpers" do
|
36
|
-
assert_includes Assert::ViewHelpers, subject.class
|
37
|
-
end
|
38
|
-
|
39
43
|
should "default its style options" do
|
40
44
|
assert_false subject.styled
|
41
45
|
|
@@ -58,7 +62,7 @@ module Assert::View
|
|
58
62
|
assert_equal @config, subject.config
|
59
63
|
end
|
60
64
|
|
61
|
-
should "
|
65
|
+
should "override the config helper's view value with itself" do
|
62
66
|
assert_equal subject, subject.view
|
63
67
|
end
|
64
68
|
|
@@ -66,34 +70,6 @@ module Assert::View
|
|
66
70
|
assert_equal !!@io.isatty, subject.is_tty?
|
67
71
|
end
|
68
72
|
|
69
|
-
should "know how to build ansi styled messages" do
|
70
|
-
msg = Factory.string
|
71
|
-
result = [:pass, :fail, :error, :skip, :ignore].choice
|
72
|
-
|
73
|
-
Assert.stub(subject, :is_tty?){ false }
|
74
|
-
Assert.stub(subject, :styled){ false }
|
75
|
-
assert_equal msg, subject.ansi_styled_msg(msg, result)
|
76
|
-
|
77
|
-
Assert.stub(subject, :is_tty?){ false }
|
78
|
-
Assert.stub(subject, :styled){ true }
|
79
|
-
assert_equal msg, subject.ansi_styled_msg(msg, result)
|
80
|
-
|
81
|
-
Assert.stub(subject, :is_tty?){ true }
|
82
|
-
Assert.stub(subject, :styled){ false }
|
83
|
-
assert_equal msg, subject.ansi_styled_msg(msg, result)
|
84
|
-
|
85
|
-
Assert.stub(subject, :is_tty?){ true }
|
86
|
-
Assert.stub(subject, :styled){ true }
|
87
|
-
Assert.stub(subject, "#{result}_styles"){ [] }
|
88
|
-
assert_equal msg, subject.ansi_styled_msg(msg, result)
|
89
|
-
|
90
|
-
styles = Factory.integer(3).times.map{ Assert::ViewHelpers::Ansi::CODES.keys.choice }
|
91
|
-
Assert.stub(subject, "#{result}_styles"){ styles }
|
92
|
-
exp_code = Assert::ViewHelpers::Ansi.code_for(*styles)
|
93
|
-
exp = exp_code + msg + Assert::ViewHelpers::Ansi.code_for(:reset)
|
94
|
-
assert_equal exp, subject.ansi_styled_msg(msg, result)
|
95
|
-
end
|
96
|
-
|
97
73
|
end
|
98
74
|
|
99
75
|
end
|
metadata
CHANGED
@@ -1,31 +1,34 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: assert
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.15.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.15.1
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Kelly Redding
|
8
8
|
- Collin Redding
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
12
|
+
|
13
|
+
date: 2016-03-29 00:00:00 Z
|
13
14
|
dependencies: []
|
14
|
-
|
15
|
-
|
15
|
+
|
16
|
+
description: Assertion style testing framework.
|
17
|
+
email:
|
16
18
|
- kelly@kellyredding.com
|
17
19
|
- collin.redding@me.com
|
18
|
-
executables:
|
20
|
+
executables:
|
19
21
|
- assert
|
20
22
|
extensions: []
|
23
|
+
|
21
24
|
extra_rdoc_files: []
|
22
|
-
|
23
|
-
|
24
|
-
-
|
25
|
+
|
26
|
+
files:
|
27
|
+
- .assert.rb
|
28
|
+
- .gitignore
|
25
29
|
- Gemfile
|
26
|
-
- LICENSE
|
30
|
+
- LICENSE
|
27
31
|
- README.md
|
28
|
-
- Rakefile
|
29
32
|
- assert.gemspec
|
30
33
|
- bin/assert
|
31
34
|
- lib/assert.rb
|
@@ -39,6 +42,9 @@ files:
|
|
39
42
|
- lib/assert/context/subject_dsl.rb
|
40
43
|
- lib/assert/context/suite_dsl.rb
|
41
44
|
- lib/assert/context/test_dsl.rb
|
45
|
+
- lib/assert/context_info.rb
|
46
|
+
- lib/assert/default_runner.rb
|
47
|
+
- lib/assert/default_suite.rb
|
42
48
|
- lib/assert/default_view.rb
|
43
49
|
- lib/assert/factory.rb
|
44
50
|
- lib/assert/file_line.rb
|
@@ -82,7 +88,10 @@ files:
|
|
82
88
|
- test/unit/context/subject_dsl_tests.rb
|
83
89
|
- test/unit/context/suite_dsl_tests.rb
|
84
90
|
- test/unit/context/test_dsl_tests.rb
|
91
|
+
- test/unit/context_info_tests.rb
|
85
92
|
- test/unit/context_tests.rb
|
93
|
+
- test/unit/default_runner_tests.rb
|
94
|
+
- test/unit/default_suite_tests.rb
|
86
95
|
- test/unit/factory_tests.rb
|
87
96
|
- test/unit/file_line_tests.rb
|
88
97
|
- test/unit/macro_tests.rb
|
@@ -96,30 +105,32 @@ files:
|
|
96
105
|
- test/unit/view_tests.rb
|
97
106
|
- tmp/.gitkeep
|
98
107
|
homepage: http://github.com/redding/assert
|
99
|
-
licenses:
|
108
|
+
licenses:
|
100
109
|
- MIT
|
101
110
|
metadata: {}
|
111
|
+
|
102
112
|
post_install_message:
|
103
113
|
rdoc_options: []
|
104
|
-
|
114
|
+
|
115
|
+
require_paths:
|
105
116
|
- lib
|
106
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
-
|
109
|
-
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
version: '0'
|
117
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- &id001
|
120
|
+
- ">="
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: "0"
|
123
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- *id001
|
116
126
|
requirements: []
|
127
|
+
|
117
128
|
rubyforge_project:
|
118
|
-
rubygems_version: 2.
|
129
|
+
rubygems_version: 2.5.1
|
119
130
|
signing_key:
|
120
131
|
specification_version: 4
|
121
|
-
summary:
|
122
|
-
test_files:
|
132
|
+
summary: Assertion style testing framework.
|
133
|
+
test_files:
|
123
134
|
- test/helper.rb
|
124
135
|
- test/support/diff_a.txt
|
125
136
|
- test/support/diff_b.txt
|
@@ -148,7 +159,10 @@ test_files:
|
|
148
159
|
- test/unit/context/subject_dsl_tests.rb
|
149
160
|
- test/unit/context/suite_dsl_tests.rb
|
150
161
|
- test/unit/context/test_dsl_tests.rb
|
162
|
+
- test/unit/context_info_tests.rb
|
151
163
|
- test/unit/context_tests.rb
|
164
|
+
- test/unit/default_runner_tests.rb
|
165
|
+
- test/unit/default_suite_tests.rb
|
152
166
|
- test/unit/factory_tests.rb
|
153
167
|
- test/unit/file_line_tests.rb
|
154
168
|
- test/unit/macro_tests.rb
|
data/Rakefile
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require "bundler/gem_tasks"
|