test_bench-isolated 0 → 2.0.0.0
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 +4 -4
- data/lib/test_bench_isolated/test_bench/cli.rb +298 -0
- data/lib/test_bench_isolated/test_bench/controls/file.rb +7 -0
- data/lib/test_bench_isolated/test_bench/controls/path.rb +7 -0
- data/lib/test_bench_isolated/test_bench/controls/random.rb +9 -0
- data/lib/test_bench_isolated/test_bench/controls/result.rb +7 -0
- data/lib/test_bench_isolated/test_bench/controls/stdin.rb +29 -0
- data/lib/test_bench_isolated/test_bench/controls.rb +11 -0
- data/lib/test_bench_isolated/test_bench/fixture/actuate/class.rb +97 -0
- data/lib/test_bench_isolated/test_bench/fixture/actuate/object.rb +93 -0
- data/lib/test_bench_isolated/test_bench/fixture/controls/exception.rb +9 -0
- data/lib/test_bench_isolated/test_bench/fixture/controls/fixture/class.rb +88 -0
- data/lib/test_bench_isolated/test_bench/fixture/controls/fixture/object/modules.rb +41 -0
- data/lib/test_bench_isolated/test_bench/fixture/controls/fixture/object.rb +33 -0
- data/lib/test_bench_isolated/test_bench/fixture/controls/fixture.rb +29 -0
- data/lib/test_bench_isolated/test_bench/fixture/controls/output.rb +9 -0
- data/lib/test_bench_isolated/test_bench/fixture/controls/random.rb +9 -0
- data/lib/test_bench_isolated/test_bench/fixture/controls/result.rb +9 -0
- data/lib/test_bench_isolated/test_bench/fixture/controls/title.rb +9 -0
- data/lib/test_bench_isolated/test_bench/fixture/controls.rb +13 -0
- data/lib/test_bench_isolated/test_bench/fixture/evaluate.rb +31 -0
- data/lib/test_bench_isolated/test_bench/fixture/fixture.rb +201 -0
- data/lib/test_bench_isolated/test_bench/fixture.rb +8 -0
- data/lib/test_bench_isolated/test_bench/output/controls/data.rb +51 -0
- data/lib/test_bench_isolated/test_bench/output/controls/device.rb +29 -0
- data/lib/test_bench_isolated/test_bench/output/controls/event.rb +9 -0
- data/lib/test_bench_isolated/test_bench/output/controls/output.rb +36 -0
- data/lib/test_bench_isolated/test_bench/output/controls/random.rb +9 -0
- data/lib/test_bench_isolated/test_bench/output/controls/style.rb +33 -0
- data/lib/test_bench_isolated/test_bench/output/controls/styling.rb +29 -0
- data/lib/test_bench_isolated/test_bench/output/controls/text.rb +19 -0
- data/lib/test_bench_isolated/test_bench/output/controls.rb +10 -0
- data/lib/test_bench_isolated/test_bench/output/device/null.rb +21 -0
- data/lib/test_bench_isolated/test_bench/output/device/substitute.rb +60 -0
- data/lib/test_bench_isolated/test_bench/output/digest.rb +115 -0
- data/lib/test_bench_isolated/test_bench/output/output.rb +68 -0
- data/lib/test_bench_isolated/test_bench/output/writer/buffer.rb +59 -0
- data/lib/test_bench_isolated/test_bench/output/writer/defaults.rb +13 -0
- data/lib/test_bench_isolated/test_bench/output/writer/style.rb +52 -0
- data/lib/test_bench_isolated/test_bench/output/writer/substitute.rb +40 -0
- data/lib/test_bench_isolated/test_bench/output/writer.rb +212 -0
- data/lib/test_bench_isolated/test_bench/output.rb +14 -0
- data/lib/test_bench_isolated/test_bench/random/controls/seed.rb +27 -0
- data/lib/test_bench_isolated/test_bench/random/controls.rb +1 -0
- data/lib/test_bench_isolated/test_bench/random/random.rb +170 -0
- data/lib/test_bench_isolated/test_bench/random.rb +1 -0
- data/lib/test_bench_isolated/test_bench/run/controls/directory.rb +72 -0
- data/lib/test_bench_isolated/test_bench/run/controls/event_data.rb +9 -0
- data/lib/test_bench_isolated/test_bench/run/controls/events/event_data.rb +11 -0
- data/lib/test_bench_isolated/test_bench/run/controls/events/file_crashed.rb +111 -0
- data/lib/test_bench_isolated/test_bench/run/controls/events/file_finished.rb +58 -0
- data/lib/test_bench_isolated/test_bench/run/controls/events/file_started.rb +49 -0
- data/lib/test_bench_isolated/test_bench/run/controls/events/finished.rb +58 -0
- data/lib/test_bench_isolated/test_bench/run/controls/events/session.rb +11 -0
- data/lib/test_bench_isolated/test_bench/run/controls/events/started.rb +49 -0
- data/lib/test_bench_isolated/test_bench/run/controls/exception.rb +103 -0
- data/lib/test_bench_isolated/test_bench/run/controls/executor.rb +58 -0
- data/lib/test_bench_isolated/test_bench/run/controls/file/create.rb +71 -0
- data/lib/test_bench_isolated/test_bench/run/controls/file/pattern.rb +35 -0
- data/lib/test_bench_isolated/test_bench/run/controls/file.rb +182 -0
- data/lib/test_bench_isolated/test_bench/run/controls/path.rb +17 -0
- data/lib/test_bench_isolated/test_bench/run/controls/process_id.rb +9 -0
- data/lib/test_bench_isolated/test_bench/run/controls/random.rb +9 -0
- data/lib/test_bench_isolated/test_bench/run/controls/result.rb +9 -0
- data/lib/test_bench_isolated/test_bench/run/controls/time.rb +9 -0
- data/lib/test_bench_isolated/test_bench/run/controls.rb +26 -0
- data/lib/test_bench_isolated/test_bench/run/events.rb +14 -0
- data/lib/test_bench_isolated/test_bench/run/executor/serial.rb +36 -0
- data/lib/test_bench_isolated/test_bench/run/executor/substitute.rb +47 -0
- data/lib/test_bench_isolated/test_bench/run/executor.rb +46 -0
- data/lib/test_bench_isolated/test_bench/run/file.rb +83 -0
- data/lib/test_bench_isolated/test_bench/run/get_files/substitute.rb +48 -0
- data/lib/test_bench_isolated/test_bench/run/get_files.rb +78 -0
- data/lib/test_bench_isolated/test_bench/run/output/file.rb +137 -0
- data/lib/test_bench_isolated/test_bench/run/output/summary/error.rb +141 -0
- data/lib/test_bench_isolated/test_bench/run/output/summary.rb +184 -0
- data/lib/test_bench_isolated/test_bench/run/run.rb +156 -0
- data/lib/test_bench_isolated/test_bench/run.rb +18 -0
- data/lib/test_bench_isolated/test_bench/session/controls/comment.rb +107 -0
- data/lib/test_bench_isolated/test_bench/session/controls/detail.rb +93 -0
- data/lib/test_bench_isolated/test_bench/session/controls/event.rb +9 -0
- data/lib/test_bench_isolated/test_bench/session/controls/events/commented.rb +112 -0
- data/lib/test_bench_isolated/test_bench/session/controls/events/context_finished.rb +72 -0
- data/lib/test_bench_isolated/test_bench/session/controls/events/context_skipped.rb +49 -0
- data/lib/test_bench_isolated/test_bench/session/controls/events/context_started.rb +66 -0
- data/lib/test_bench_isolated/test_bench/session/controls/events/detailed.rb +112 -0
- data/lib/test_bench_isolated/test_bench/session/controls/events/event_data.rb +11 -0
- data/lib/test_bench_isolated/test_bench/session/controls/events/failed.rb +49 -0
- data/lib/test_bench_isolated/test_bench/session/controls/events/fixture_finished.rb +55 -0
- data/lib/test_bench_isolated/test_bench/session/controls/events/fixture_started.rb +49 -0
- data/lib/test_bench_isolated/test_bench/session/controls/events/test_finished.rb +72 -0
- data/lib/test_bench_isolated/test_bench/session/controls/events/test_skipped.rb +49 -0
- data/lib/test_bench_isolated/test_bench/session/controls/events/test_started.rb +66 -0
- data/lib/test_bench_isolated/test_bench/session/controls/events.rb +35 -0
- data/lib/test_bench_isolated/test_bench/session/controls/exception.rb +47 -0
- data/lib/test_bench_isolated/test_bench/session/controls/failure.rb +21 -0
- data/lib/test_bench_isolated/test_bench/session/controls/fixture.rb +21 -0
- data/lib/test_bench_isolated/test_bench/session/controls/output/detail.rb +31 -0
- data/lib/test_bench_isolated/test_bench/session/controls/output.rb +57 -0
- data/lib/test_bench_isolated/test_bench/session/controls/process_id.rb +9 -0
- data/lib/test_bench_isolated/test_bench/session/controls/random.rb +9 -0
- data/lib/test_bench_isolated/test_bench/session/controls/result.rb +25 -0
- data/lib/test_bench_isolated/test_bench/session/controls/substitute/path.rb +35 -0
- data/lib/test_bench_isolated/test_bench/session/controls/time.rb +9 -0
- data/lib/test_bench_isolated/test_bench/session/controls/title.rb +41 -0
- data/lib/test_bench_isolated/test_bench/session/controls.rb +36 -0
- data/lib/test_bench_isolated/test_bench/session/events.rb +27 -0
- data/lib/test_bench_isolated/test_bench/session/output/get.rb +29 -0
- data/lib/test_bench_isolated/test_bench/session/output/writer/buffer/interactive/viewport.rb +167 -0
- data/lib/test_bench_isolated/test_bench/session/output/writer/buffer/interactive.rb +141 -0
- data/lib/test_bench_isolated/test_bench/session/output/writer/buffer.rb +29 -0
- data/lib/test_bench_isolated/test_bench/session/output/writer/defaults.rb +19 -0
- data/lib/test_bench_isolated/test_bench/session/output/writer/substitute.rb +19 -0
- data/lib/test_bench_isolated/test_bench/session/output/writer.rb +97 -0
- data/lib/test_bench_isolated/test_bench/session/output.rb +377 -0
- data/lib/test_bench_isolated/test_bench/session/projection.rb +30 -0
- data/lib/test_bench_isolated/test_bench/session/session.rb +220 -0
- data/lib/test_bench_isolated/test_bench/session/store.rb +61 -0
- data/lib/test_bench_isolated/test_bench/session/substitute/path.rb +65 -0
- data/lib/test_bench_isolated/test_bench/session/substitute/sink.rb +114 -0
- data/lib/test_bench_isolated/test_bench/session/substitute.rb +120 -0
- data/lib/test_bench_isolated/test_bench/session.rb +22 -0
- data/lib/test_bench_isolated/test_bench/telemetry/controls/event/event_data.rb +17 -0
- data/lib/test_bench_isolated/test_bench/telemetry/controls/event/metadata.rb +72 -0
- data/lib/test_bench_isolated/test_bench/telemetry/controls/event.rb +140 -0
- data/lib/test_bench_isolated/test_bench/telemetry/controls/event_data.rb +131 -0
- data/lib/test_bench_isolated/test_bench/telemetry/controls/file.rb +86 -0
- data/lib/test_bench_isolated/test_bench/telemetry/controls/handler.rb +83 -0
- data/lib/test_bench_isolated/test_bench/telemetry/controls/process_id.rb +21 -0
- data/lib/test_bench_isolated/test_bench/telemetry/controls/projection/receiver.rb +33 -0
- data/lib/test_bench_isolated/test_bench/telemetry/controls/projection.rb +86 -0
- data/lib/test_bench_isolated/test_bench/telemetry/controls/random.rb +9 -0
- data/lib/test_bench_isolated/test_bench/telemetry/controls/sink.rb +35 -0
- data/lib/test_bench_isolated/test_bench/telemetry/controls/time.rb +125 -0
- data/lib/test_bench_isolated/test_bench/telemetry/controls.rb +17 -0
- data/lib/test_bench_isolated/test_bench/telemetry/event.rb +108 -0
- data/lib/test_bench_isolated/test_bench/telemetry/event_data/serialization.rb +172 -0
- data/lib/test_bench_isolated/test_bench/telemetry/event_data.rb +15 -0
- data/lib/test_bench_isolated/test_bench/telemetry/sink/file.rb +33 -0
- data/lib/test_bench_isolated/test_bench/telemetry/sink/handler/event_registry.rb +44 -0
- data/lib/test_bench_isolated/test_bench/telemetry/sink/handler.rb +128 -0
- data/lib/test_bench_isolated/test_bench/telemetry/sink/projection.rb +134 -0
- data/lib/test_bench_isolated/test_bench/telemetry/sink.rb +13 -0
- data/lib/test_bench_isolated/test_bench/telemetry/substitute/sink.rb +85 -0
- data/lib/test_bench_isolated/test_bench/telemetry/substitute.rb +34 -0
- data/lib/test_bench_isolated/test_bench/telemetry/telemetry.rb +111 -0
- data/lib/test_bench_isolated/test_bench/telemetry.rb +17 -0
- data/lib/test_bench_isolated/test_bench/test_bench.rb +56 -0
- data/lib/test_bench_isolated/test_bench.rb +5 -0
- data/script/bench +5 -0
- metadata +156 -7
- data/lib/test_bench/bootstrap.rb +0 -328
@@ -0,0 +1,41 @@
|
|
1
|
+
module TestBenchIsolated
|
2
|
+
module TestBench
|
3
|
+
module Fixture
|
4
|
+
module Controls
|
5
|
+
module Fixture
|
6
|
+
module Object
|
7
|
+
module Modules
|
8
|
+
def self.included
|
9
|
+
[Extended, Included, NoFixture]
|
10
|
+
end
|
11
|
+
|
12
|
+
module Included
|
13
|
+
def self.example
|
14
|
+
self
|
15
|
+
end
|
16
|
+
|
17
|
+
module Fixture
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
module Extended
|
22
|
+
def self.example
|
23
|
+
self
|
24
|
+
end
|
25
|
+
|
26
|
+
module Fixture
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
module NoFixture
|
31
|
+
def self.example
|
32
|
+
self
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module TestBenchIsolated
|
2
|
+
module TestBench
|
3
|
+
module Fixture
|
4
|
+
module Controls
|
5
|
+
module Fixture
|
6
|
+
module Object
|
7
|
+
def self.example
|
8
|
+
object = Example.new
|
9
|
+
object.extend(Modules::Extended)
|
10
|
+
object
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.fixture_modules
|
14
|
+
[
|
15
|
+
Modules::Extended::Fixture,
|
16
|
+
Modules::Included::Fixture,
|
17
|
+
Example::Fixture
|
18
|
+
]
|
19
|
+
end
|
20
|
+
|
21
|
+
class Example
|
22
|
+
include Modules::Included
|
23
|
+
include Modules::NoFixture
|
24
|
+
|
25
|
+
module Fixture
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module TestBenchIsolated
|
2
|
+
module TestBench
|
3
|
+
module Fixture
|
4
|
+
module Controls
|
5
|
+
module Fixture
|
6
|
+
def self.example
|
7
|
+
Example.new
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.call(output=nil, &block)
|
11
|
+
output ||= Output.example
|
12
|
+
|
13
|
+
fixture = Example.new
|
14
|
+
|
15
|
+
fixture.test_session.telemetry.register(output)
|
16
|
+
|
17
|
+
block.(fixture)
|
18
|
+
|
19
|
+
fixture
|
20
|
+
end
|
21
|
+
|
22
|
+
class Example
|
23
|
+
include TestBench::Fixture
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'test_bench_isolated/test_bench/session/controls'
|
2
|
+
|
3
|
+
require 'test_bench_isolated/test_bench/fixture/controls/random'
|
4
|
+
require 'test_bench_isolated/test_bench/fixture/controls/result'
|
5
|
+
require 'test_bench_isolated/test_bench/fixture/controls/exception'
|
6
|
+
require 'test_bench_isolated/test_bench/fixture/controls/title'
|
7
|
+
|
8
|
+
require 'test_bench_isolated/test_bench/fixture/controls/fixture'
|
9
|
+
require 'test_bench_isolated/test_bench/fixture/controls/fixture/class'
|
10
|
+
require 'test_bench_isolated/test_bench/fixture/controls/fixture/object/modules'
|
11
|
+
require 'test_bench_isolated/test_bench/fixture/controls/fixture/object'
|
12
|
+
|
13
|
+
require 'test_bench_isolated/test_bench/fixture/controls/output'
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module TestBenchIsolated
|
2
|
+
module TestBench
|
3
|
+
module Fixture
|
4
|
+
class Evaluate
|
5
|
+
include Fixture
|
6
|
+
|
7
|
+
attr_reader :block
|
8
|
+
|
9
|
+
def initialize(block)
|
10
|
+
@block = block
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.build(session:, &block)
|
14
|
+
instance = new(block)
|
15
|
+
Session.configure(instance, session:, attr_name: :test_session)
|
16
|
+
instance
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.call(session: nil, &block)
|
20
|
+
instance = build(session:, &block)
|
21
|
+
instance.()
|
22
|
+
instance
|
23
|
+
end
|
24
|
+
|
25
|
+
def call
|
26
|
+
instance_exec(&block)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,201 @@
|
|
1
|
+
module TestBenchIsolated
|
2
|
+
module TestBench
|
3
|
+
module Fixture
|
4
|
+
include TestBench::Session::Events
|
5
|
+
|
6
|
+
def test_session
|
7
|
+
@test_session ||= Session::Substitute.build
|
8
|
+
end
|
9
|
+
attr_writer :test_session
|
10
|
+
|
11
|
+
def fixture_passed?
|
12
|
+
test_session.passed?
|
13
|
+
end
|
14
|
+
alias :passed? :fixture_passed?
|
15
|
+
|
16
|
+
def comment(...)
|
17
|
+
Fixture.comment(test_session.telemetry, Commented, ...)
|
18
|
+
end
|
19
|
+
|
20
|
+
def detail(...)
|
21
|
+
Fixture.comment(test_session.telemetry, Detailed, ...)
|
22
|
+
end
|
23
|
+
|
24
|
+
def assert(result)
|
25
|
+
if not [true, false, nil].include?(result)
|
26
|
+
raise TypeError, "Value #{result.inspect} isn't a boolean"
|
27
|
+
end
|
28
|
+
|
29
|
+
result = false if result.nil?
|
30
|
+
|
31
|
+
test_session.assert(result)
|
32
|
+
end
|
33
|
+
|
34
|
+
def refute(result)
|
35
|
+
if not [true, false, nil].include?(result)
|
36
|
+
raise TypeError, "Value #{result.inspect} isn't a boolean"
|
37
|
+
end
|
38
|
+
|
39
|
+
negated_result = !result
|
40
|
+
|
41
|
+
test_session.assert(negated_result)
|
42
|
+
end
|
43
|
+
|
44
|
+
def assert_raises(exception_class=nil, message=nil, strict: nil, &block)
|
45
|
+
if exception_class.nil?
|
46
|
+
strict ||= false
|
47
|
+
exception_class = StandardError
|
48
|
+
else
|
49
|
+
strict = true if strict.nil?
|
50
|
+
end
|
51
|
+
|
52
|
+
detail "Expected exception: #{exception_class}#{' (strict)' if strict}"
|
53
|
+
if not message.nil?
|
54
|
+
detail "Expected message: #{message.inspect}"
|
55
|
+
end
|
56
|
+
|
57
|
+
block.()
|
58
|
+
|
59
|
+
detail "(No exception was raised)"
|
60
|
+
|
61
|
+
rescue exception_class => exception
|
62
|
+
|
63
|
+
detail "Raised exception: #{exception.inspect}#{" (subclass of #{exception_class})" if exception.class < exception_class}"
|
64
|
+
|
65
|
+
if strict && !exception.instance_of?(exception_class)
|
66
|
+
raise exception
|
67
|
+
end
|
68
|
+
|
69
|
+
if message.nil?
|
70
|
+
result = true
|
71
|
+
else
|
72
|
+
result = exception.message == message
|
73
|
+
end
|
74
|
+
|
75
|
+
assert(result)
|
76
|
+
else
|
77
|
+
assert(false)
|
78
|
+
end
|
79
|
+
|
80
|
+
def refute_raises(exception_class=nil, strict: nil, &block)
|
81
|
+
if exception_class.nil?
|
82
|
+
strict ||= false
|
83
|
+
exception_class = StandardError
|
84
|
+
else
|
85
|
+
strict = true if strict.nil?
|
86
|
+
end
|
87
|
+
|
88
|
+
detail "Prohibited exception: #{exception_class}#{' (strict)' if strict}"
|
89
|
+
|
90
|
+
block.()
|
91
|
+
|
92
|
+
detail "(No exception was raised)"
|
93
|
+
|
94
|
+
rescue exception_class => exception
|
95
|
+
|
96
|
+
detail "Raised exception: #{exception.inspect}#{" (subclass of #{exception_class})" if exception.class < exception_class}"
|
97
|
+
|
98
|
+
if strict && !exception.instance_of?(exception_class)
|
99
|
+
raise exception
|
100
|
+
end
|
101
|
+
|
102
|
+
assert(false)
|
103
|
+
else
|
104
|
+
assert(true)
|
105
|
+
end
|
106
|
+
|
107
|
+
def context(title=nil, &block)
|
108
|
+
title = title&.to_str
|
109
|
+
|
110
|
+
test_session.context(title, &block)
|
111
|
+
end
|
112
|
+
|
113
|
+
def context!(title=nil, &block)
|
114
|
+
title = title&.to_str
|
115
|
+
|
116
|
+
test_session.context!(title, &block)
|
117
|
+
end
|
118
|
+
|
119
|
+
def test(title=nil, &block)
|
120
|
+
title = title&.to_str
|
121
|
+
|
122
|
+
test_session.test(title, &block)
|
123
|
+
end
|
124
|
+
|
125
|
+
def test!(title=nil, &block)
|
126
|
+
title = title&.to_str
|
127
|
+
|
128
|
+
test_session.test!(title, &block)
|
129
|
+
end
|
130
|
+
|
131
|
+
def fail!(message=nil)
|
132
|
+
test_session.fail(message)
|
133
|
+
end
|
134
|
+
|
135
|
+
def fixture(fixture_class_or_object, *, **, &)
|
136
|
+
session = self.test_session
|
137
|
+
|
138
|
+
Fixture.(fixture_class_or_object, *, session:, **, &)
|
139
|
+
end
|
140
|
+
|
141
|
+
def self.comment(telemetry, event_class, text, *additional_texts, heading: nil, quote: nil)
|
142
|
+
texts = [text, *additional_texts]
|
143
|
+
|
144
|
+
texts.map! do |text|
|
145
|
+
text.to_str
|
146
|
+
end
|
147
|
+
|
148
|
+
if quote.nil?
|
149
|
+
quote = texts.last.end_with?("\n")
|
150
|
+
end
|
151
|
+
|
152
|
+
if quote
|
153
|
+
if heading.nil?
|
154
|
+
heading = !text.end_with?("\n")
|
155
|
+
end
|
156
|
+
end
|
157
|
+
|
158
|
+
if heading
|
159
|
+
heading = texts.shift
|
160
|
+
else
|
161
|
+
heading = nil
|
162
|
+
end
|
163
|
+
|
164
|
+
if quote
|
165
|
+
text = texts.join
|
166
|
+
else
|
167
|
+
text = texts.first
|
168
|
+
end
|
169
|
+
|
170
|
+
event = event_class.new
|
171
|
+
event.text = text
|
172
|
+
event.quote = quote
|
173
|
+
event.heading = heading
|
174
|
+
|
175
|
+
telemetry.record(event)
|
176
|
+
|
177
|
+
if not quote
|
178
|
+
texts[1..-1].each do |text|
|
179
|
+
comment(telemetry, event_class, text, heading: false, quote: false)
|
180
|
+
end
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
184
|
+
def self.output(fixture, styling: nil)
|
185
|
+
session = fixture.test_session
|
186
|
+
|
187
|
+
TestBench::Session::Output::Get.(session, styling:)
|
188
|
+
end
|
189
|
+
|
190
|
+
def self.call(fixture_class_or_object, ...)
|
191
|
+
if fixture_class_or_object.instance_of?(Class)
|
192
|
+
fixture_class = fixture_class_or_object
|
193
|
+
Actuate::Class.(fixture_class, ...)
|
194
|
+
else
|
195
|
+
object = fixture_class_or_object
|
196
|
+
Actuate::Object.(object, ...)
|
197
|
+
end
|
198
|
+
end
|
199
|
+
end
|
200
|
+
end
|
201
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
require 'test_bench_isolated/test_bench/session'
|
2
|
+
|
3
|
+
require 'test_bench_isolated/test_bench/fixture/actuate/class'
|
4
|
+
require 'test_bench_isolated/test_bench/fixture/actuate/object'
|
5
|
+
|
6
|
+
require 'test_bench_isolated/test_bench/fixture/fixture'
|
7
|
+
|
8
|
+
require 'test_bench_isolated/test_bench/fixture/evaluate'
|
@@ -0,0 +1,51 @@
|
|
1
|
+
module TestBenchIsolated
|
2
|
+
module TestBench
|
3
|
+
module Output
|
4
|
+
module Controls
|
5
|
+
module Data
|
6
|
+
def self.example
|
7
|
+
"some-data"
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.random
|
11
|
+
suffix = Random.string
|
12
|
+
|
13
|
+
"#{example}-#{suffix}"
|
14
|
+
end
|
15
|
+
|
16
|
+
module Digest
|
17
|
+
def self.example
|
18
|
+
'0123456789:;<=>'
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.digest
|
22
|
+
0x3031323334353637 + 0x0038393A3B3C3D3E
|
23
|
+
end
|
24
|
+
|
25
|
+
module Equivalent
|
26
|
+
module SameLength
|
27
|
+
def self.example
|
28
|
+
'0123456789:;<=>'
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.digest
|
32
|
+
Digest.digest
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
module DifferentLength
|
37
|
+
def self.example
|
38
|
+
[Digest.digest].pack('Q>')
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.digest
|
42
|
+
Digest.digest
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module TestBenchIsolated
|
2
|
+
module TestBench
|
3
|
+
module Output
|
4
|
+
module Controls
|
5
|
+
module Device
|
6
|
+
def self.example
|
7
|
+
TestBench::Output::Device::Substitute.build
|
8
|
+
end
|
9
|
+
|
10
|
+
module TTY
|
11
|
+
def self.example(tty: nil)
|
12
|
+
tty = true if tty.nil?
|
13
|
+
|
14
|
+
device = Device.example
|
15
|
+
device.tty! if tty
|
16
|
+
device
|
17
|
+
end
|
18
|
+
|
19
|
+
module Non
|
20
|
+
def self.example
|
21
|
+
TTY.example(tty: false)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module TestBenchIsolated
|
2
|
+
module TestBench
|
3
|
+
module Output
|
4
|
+
module Controls
|
5
|
+
module Output
|
6
|
+
def self.example_class(&block)
|
7
|
+
Class.new do
|
8
|
+
include TestBench::Output
|
9
|
+
|
10
|
+
class_exec(&block)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class Example
|
15
|
+
include TestBench::Output
|
16
|
+
end
|
17
|
+
|
18
|
+
module Configure
|
19
|
+
class Example
|
20
|
+
include TestBench::Output
|
21
|
+
attr_accessor :some_attr
|
22
|
+
|
23
|
+
def configure(some_attr: nil, **arguments)
|
24
|
+
self.some_attr = some_attr
|
25
|
+
end
|
26
|
+
|
27
|
+
def configured?(some_attr)
|
28
|
+
self.some_attr == some_attr
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module TestBenchIsolated
|
2
|
+
module TestBench
|
3
|
+
module Output
|
4
|
+
module Controls
|
5
|
+
module Style
|
6
|
+
def self.example
|
7
|
+
:bold
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.other_example
|
11
|
+
:italic
|
12
|
+
end
|
13
|
+
|
14
|
+
module Unknown
|
15
|
+
def self.example
|
16
|
+
:unknown
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
module Code
|
21
|
+
def self.example
|
22
|
+
'1'
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.other_example
|
26
|
+
'3'
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module TestBenchIsolated
|
2
|
+
module TestBench
|
3
|
+
module Output
|
4
|
+
module Controls
|
5
|
+
module Styling
|
6
|
+
def self.example
|
7
|
+
Writer::Styling.on
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.other_example
|
11
|
+
Writer::Styling.off
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.random
|
15
|
+
stylings = [
|
16
|
+
Writer::Styling.on,
|
17
|
+
Writer::Styling.off,
|
18
|
+
Writer::Styling.detect
|
19
|
+
]
|
20
|
+
|
21
|
+
index = Random.integer % stylings.count
|
22
|
+
|
23
|
+
stylings[index]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module TestBenchIsolated
|
2
|
+
module TestBench
|
3
|
+
module Output
|
4
|
+
module Controls
|
5
|
+
module Text
|
6
|
+
def self.example
|
7
|
+
"Some text"
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.random
|
11
|
+
suffix = Random.string
|
12
|
+
|
13
|
+
"#{example} #{suffix}"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'test_bench_isolated/test_bench/telemetry/controls'
|
2
|
+
|
3
|
+
require 'test_bench_isolated/test_bench/output/controls/random'
|
4
|
+
require 'test_bench_isolated/test_bench/output/controls/data'
|
5
|
+
require 'test_bench_isolated/test_bench/output/controls/device'
|
6
|
+
require 'test_bench_isolated/test_bench/output/controls/text'
|
7
|
+
require 'test_bench_isolated/test_bench/output/controls/styling'
|
8
|
+
require 'test_bench_isolated/test_bench/output/controls/style'
|
9
|
+
require 'test_bench_isolated/test_bench/output/controls/output'
|
10
|
+
require 'test_bench_isolated/test_bench/output/controls/event'
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module TestBenchIsolated
|
2
|
+
module TestBench
|
3
|
+
module Output
|
4
|
+
module Device
|
5
|
+
class Null
|
6
|
+
def self.build
|
7
|
+
@instance ||= new
|
8
|
+
end
|
9
|
+
|
10
|
+
def write(data)
|
11
|
+
data.bytesize
|
12
|
+
end
|
13
|
+
|
14
|
+
def tty?
|
15
|
+
false
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|