test_bench-bootstrap 3.0.0 → 4.0.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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/test_bench/bootstrap.rb +14 -97
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b4e2e358c29830ece30c5a9516c4cf96fe2d6748cb1a3c88e9d3d05727c66f9a
4
- data.tar.gz: d07c4e27d9c6440427ff716ff8fe6cf405940287417c5f0f69e90560d6c140da
3
+ metadata.gz: fd267192ab849cfd01355201251e06a7a04b967a9738d28b458bb29b99bce080
4
+ data.tar.gz: b8d64331eda79e450faddfd50b1b80e76b8570e549aa8d32f62b543a16a47532
5
5
  SHA512:
6
- metadata.gz: 787ba756e146d4b72a0a7dd265df1baa3c4ddab27bf78e3e0d271dd1b333a7006e1e486b0369c9727ffed7bf15adb9e150fe8a13b7f743b2833a0b78ee9cf881
7
- data.tar.gz: faf41a1355cf5cc3a20cc46aa25cd1e1b62b4bb69da66ef25bc20b2efdacabdfe6d0f736908120f6ecab24f7b011d4ecee36bfa94ce78d0271da878260023681
6
+ metadata.gz: d28ec437fbfd2cfe6a02318a8887590400343f3f5589f00001196a312f1577ecf937cbfefb83d297a92f34057882a046f2374e399f2e228aef3306c3742f7f91
7
+ data.tar.gz: 857c18b0168eda3fd9900931081ec96641d89ff1ea298bd5e4aca1741d2139699c5ba434d70a6ea43618d13bf8e6605fd1ef7ff3861d89e385ffb12a40f9669f
@@ -4,22 +4,6 @@ module TestBench
4
4
  Object.include(Fixture)
5
5
  end
6
6
 
7
- if RUBY_ENGINE != 'mruby'
8
- class Abort < SystemExit
9
- def self.build
10
- new(1)
11
- end
12
- end
13
- end
14
-
15
- class Abort
16
- def self.call
17
- Output.raw_write("#{Bootstrap} is aborting\n")
18
- instance = build
19
- raise instance
20
- end
21
- end
22
-
23
7
  module Backtrace
24
8
  if RUBY_ENGINE != 'mruby'
25
9
  def self.frame(frame_index)
@@ -91,7 +75,6 @@ module TestBench
91
75
 
92
76
  def assert_raises(error_class=nil, &block)
93
77
  begin
94
- Output.raw_write("assert_raises\n")
95
78
  block.()
96
79
 
97
80
  rescue (error_class || StandardError) => error
@@ -124,55 +107,46 @@ module TestBench
124
107
  raise AssertionFailure.build(1)
125
108
  end
126
109
 
127
- def context(prose=nil, &block)
110
+ def context(title=nil, &block)
128
111
  if block.nil?
129
- Output.write(prose || 'Context', sgr_code: 0x33)
112
+ Output.write(title || 'Context', sgr_code: 0x33)
130
113
  return
131
114
  end
132
115
 
133
- unless prose.nil?
134
- Output.indent(prose, sgr_code: 0x32) do
116
+ unless title.nil?
117
+ Output.indent(title, sgr_code: 0x32) do
135
118
  context(&block)
136
119
  end
137
120
  return
138
121
  end
139
122
 
140
- begin
141
- block.()
142
-
143
- rescue => error
144
- Output.error(error)
145
-
146
- Abort.()
147
- end
123
+ block.()
148
124
  end
149
125
 
150
- def _context(prose=nil, &block)
151
- context(prose)
126
+ def _context(title=nil, &block)
127
+ context(title)
152
128
  end
153
129
 
154
- def test(prose=nil, &block)
130
+ def test(title=nil, &block)
155
131
  if block.nil?
156
- Output.write(prose || 'Test', sgr_code: 0x33)
132
+ Output.write(title || 'Test', sgr_code: 0x33)
157
133
  return
158
134
  end
159
135
 
160
136
  begin
161
137
  block.()
162
138
 
163
- Output.indent(prose, sgr_code: 0x32)
139
+ Output.indent(title, sgr_code: 0x32)
164
140
 
165
141
  rescue => error
166
- Output.indent(prose, sgr_codes: [0x1, 0x31]) do
167
- Output.error(error)
168
- end
142
+ Output.indent(title || 'Test', sgr_codes: [0x1, 0x31])
169
143
 
170
- Abort.()
144
+ raise error
171
145
  end
172
146
  end
173
147
 
174
- def _test(prose=nil, &block)
175
- test(prose)
148
+ def _test(title=nil, &block)
149
+ test(title)
176
150
  end
177
151
 
178
152
  def comment(text)
@@ -199,63 +173,6 @@ module TestBench
199
173
  indent(text, device: device, sgr_code: sgr_code, sgr_codes: sgr_codes, tab_indent: tab_indent)
200
174
  end
201
175
 
202
- def error(error)
203
- omit_backtrace_pattern = Defaults.omit_backtrace_pattern
204
-
205
- omitting = false
206
-
207
- write("\e[1mTraceback\e[22m (most recent call last):", sgr_code: 0x31)
208
-
209
- rjust_length = error.backtrace.length.to_s.length
210
-
211
- reverse_backtrace = error.backtrace[1..-1].reverse
212
-
213
- reverse_backtrace.each_with_index do |frame, index|
214
- frame = frame.dup
215
- frame.chomp!
216
-
217
- previous_frame = frame
218
-
219
- file, _ = frame.split(':', 2)
220
-
221
- line = ' ' * rjust_length
222
-
223
- index_text = index.to_s
224
- index_range = (-index_text.length..-1)
225
-
226
- if Path.match?(omit_backtrace_pattern, file)
227
- if omitting
228
- next
229
- else
230
- omitting = true
231
-
232
- line[index_range] = '?' * index_text.length
233
- line += ": *omitted*"
234
-
235
- write(line, sgr_codes: [0x2, 0x3, 0x31], tab_indent: true)
236
- end
237
- else
238
- omitting = false
239
-
240
- line[index_range] = index_text
241
- line += ": #{frame}"
242
-
243
- write(line, sgr_code: 0x31, tab_indent: true)
244
- end
245
- end
246
-
247
- if error.message.empty?
248
- if error.instance_of?(RuntimeError)
249
- write("#{error.backtrace[0]}: \e[1;4munhandled exception\e[24;22m", sgr_code: 0x31)
250
- return
251
- end
252
-
253
- error.message = error.class
254
- end
255
-
256
- write("#{error.backtrace[0]}: \e[1m#{error} (\e[4m#{error.class}\e[24m)\e[22m", sgr_code: 0x31)
257
- end
258
-
259
176
  def newline
260
177
  write('')
261
178
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test_bench-bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 4.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Ladd
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-25 00:00:00.000000000 Z
11
+ date: 2022-09-16 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: nathanladd+github@gmail.com