seeing_is_believing 3.6.1 → 4.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/.travis.yml +2 -5
- data/Rakefile +2 -0
- data/Readme.md +1 -1
- data/appveyor.yml +3 -5
- data/features/regression.feature +7 -0
- data/features/xmpfilter-style.feature +1 -0
- data/lib/seeing_is_believing.rb +2 -1
- data/lib/seeing_is_believing/binary.rb +1 -1
- data/lib/seeing_is_believing/binary/annotate_marked_lines.rb +1 -0
- data/lib/seeing_is_believing/binary/comment_lines.rb +1 -1
- data/lib/seeing_is_believing/binary/commentable_lines.rb +7 -7
- data/lib/seeing_is_believing/binary/config.rb +1 -3
- data/lib/seeing_is_believing/binary/remove_annotations.rb +1 -1
- data/lib/seeing_is_believing/code.rb +3 -3
- data/lib/seeing_is_believing/evaluate_by_moving_files.rb +30 -32
- data/lib/seeing_is_believing/event_stream/consumer.rb +2 -0
- data/lib/seeing_is_believing/event_stream/events.rb +7 -0
- data/lib/seeing_is_believing/event_stream/handlers/record_exit_events.rb +3 -3
- data/lib/seeing_is_believing/event_stream/handlers/update_result.rb +2 -1
- data/lib/seeing_is_believing/event_stream/producer.rb +14 -0
- data/lib/seeing_is_believing/safe.rb +1 -7
- data/lib/seeing_is_believing/swap_files.rb +90 -0
- data/lib/seeing_is_believing/the_matrix.rb +17 -4
- data/lib/seeing_is_believing/version.rb +1 -1
- data/lib/seeing_is_believing/wrap_expressions.rb +22 -8
- data/lib/seeing_is_believing/wrap_expressions_with_inspect.rb +3 -0
- data/seeing_is_believing.gemspec +4 -5
- data/spec/binary/config_spec.rb +2 -2
- data/spec/evaluate_by_moving_files_spec.rb +18 -17
- data/spec/event_stream_spec.rb +1 -0
- data/spec/seeing_is_believing_spec.rb +99 -24
- data/spec/sib_spec_helpers/version.rb +17 -0
- data/spec/spec_helper.rb +2 -18
- data/spec/wrap_expressions_spec.rb +9 -3
- metadata +26 -12
- data/lib/seeing_is_believing/backup_file.rb +0 -50
- data/lib/seeing_is_believing/customize_pp.rb +0 -5
data/spec/spec_helper.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'sib_spec_helpers/version'
|
2
|
+
|
1
3
|
module SibSpecHelpers
|
2
4
|
def pending!(message="Not yet implemented")
|
3
5
|
pending message
|
@@ -7,24 +9,6 @@ module SibSpecHelpers
|
|
7
9
|
def ruby_version
|
8
10
|
Version.new RUBY_VERSION
|
9
11
|
end
|
10
|
-
|
11
|
-
|
12
|
-
class Version
|
13
|
-
attr_reader :segments
|
14
|
-
include Comparable
|
15
|
-
def initialize(version_string)
|
16
|
-
@segments = version_string.scan(/\d+/).map(&:to_i)
|
17
|
-
end
|
18
|
-
def <=>(other)
|
19
|
-
other = Version.new other unless other.kind_of? Version
|
20
|
-
segments.zip(other.segments).each do |ours, theirs|
|
21
|
-
return 1 if theirs.nil? || theirs < ours
|
22
|
-
return -1 if ours < theirs
|
23
|
-
end
|
24
|
-
segments.length <=> other.segments.length
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
12
|
end
|
29
13
|
|
30
14
|
RSpec.configure do |c|
|
@@ -334,6 +334,14 @@ RSpec.describe SeeingIsBelieving::WrapExpressions do
|
|
334
334
|
it 'wraps the array equivalent' do
|
335
335
|
expect(wrap("a,* =[1,2,3]")).to eq "<a,* =[1,2,3]>"
|
336
336
|
expect(wrap("a,* = [ 1,2,3 ] ")).to eq "<a,* = [ 1,2,3 ]> "
|
337
|
+
expect(wrap("a,* = 1,2,3")).to eq "<a,* = 1,2,3>"
|
338
|
+
end
|
339
|
+
|
340
|
+
it 'wraps the array elements' do
|
341
|
+
expect(wrap("a,* = [ 1,2,\n3 ] ")).to eq "<a,* = [ 1,<2>,\n3 ]> "
|
342
|
+
expect(wrap("a,* = 1,2,\n3")).to eq "<a,* = 1,<2>,\n3>"
|
343
|
+
expect(wrap("a = [ 1,2,\n3 ] ")).to eq "<a = [ 1,<2>,\n3 ]> "
|
344
|
+
expect(wrap("a = 1,2,\n3")).to eq "<a = 1,<2>,\n3>"
|
337
345
|
end
|
338
346
|
|
339
347
|
it 'wraps repeated assignments' do
|
@@ -586,7 +594,7 @@ RSpec.describe SeeingIsBelieving::WrapExpressions do
|
|
586
594
|
expect(wrap("%w[\n1\n]")).to eq "<%w[\n1\n]>"
|
587
595
|
end
|
588
596
|
|
589
|
-
it '
|
597
|
+
it 'wraps splat elements' do
|
590
598
|
expect(wrap("[1,\n*2..3,\n4\n]")).to eq "<[<1>,\n*<2..3>,\n<4>\n]>"
|
591
599
|
end
|
592
600
|
end
|
@@ -708,7 +716,6 @@ RSpec.describe SeeingIsBelieving::WrapExpressions do
|
|
708
716
|
expect(wrap("begin\nrescue Exception\n$!\nend")).to eq "<begin\nrescue Exception\n<$!>\nend>"
|
709
717
|
end
|
710
718
|
it 'wraps inline rescues' do
|
711
|
-
pending "can't figure out how to identify these as different from begin/rescue/end"
|
712
719
|
expect(wrap("1 rescue nil")).to eq "<1 rescue nil>"
|
713
720
|
end
|
714
721
|
it 'wraps the bodies' do
|
@@ -809,7 +816,6 @@ RSpec.describe SeeingIsBelieving::WrapExpressions do
|
|
809
816
|
expect(wrap("def a\n1\nrescue\n2\nend")).to eq "<def a\n<1>\nrescue\n<2>\nend>"
|
810
817
|
expect(wrap("def a\n1\nrescue\n2\nensure\n3\nend")).to eq "<def a\n<1>\nrescue\n<2>\nensure\n<3>\nend>"
|
811
818
|
expect(wrap("def a\n1\nensure\n2\nend")).to eq "<def a\n<1>\nensure\n<2>\nend>"
|
812
|
-
expect(wrap("def a\n1\nelse 2\nend")).to eq "<def a\n<1>\nelse <2>\nend>"
|
813
819
|
end
|
814
820
|
|
815
821
|
it 'wrap a definition as a call to an invocation' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: seeing_is_believing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josh Cheek
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-04-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|
@@ -16,28 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 2.
|
19
|
+
version: 2.7.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
26
|
+
version: 2.7.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: childprocess
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 3.0.0
|
34
34
|
type: :runtime
|
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: 0.
|
40
|
+
version: 3.0.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: ffi
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.11.1
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.11.1
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: pry
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,14 +92,14 @@ dependencies:
|
|
78
92
|
requirements:
|
79
93
|
- - "~>"
|
80
94
|
- !ruby/object:Gem::Version
|
81
|
-
version:
|
95
|
+
version: 13.0.0
|
82
96
|
type: :development
|
83
97
|
prerelease: false
|
84
98
|
version_requirements: !ruby/object:Gem::Requirement
|
85
99
|
requirements:
|
86
100
|
- - "~>"
|
87
101
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
102
|
+
version: 13.0.0
|
89
103
|
- !ruby/object:Gem::Dependency
|
90
104
|
name: mrspec
|
91
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -171,7 +185,6 @@ files:
|
|
171
185
|
- features/support/env.rb
|
172
186
|
- features/xmpfilter-style.feature
|
173
187
|
- lib/seeing_is_believing.rb
|
174
|
-
- lib/seeing_is_believing/backup_file.rb
|
175
188
|
- lib/seeing_is_believing/binary.rb
|
176
189
|
- lib/seeing_is_believing/binary/align_chunk.rb
|
177
190
|
- lib/seeing_is_believing/binary/align_file.rb
|
@@ -190,7 +203,6 @@ files:
|
|
190
203
|
- lib/seeing_is_believing/binary/rewrite_comments.rb
|
191
204
|
- lib/seeing_is_believing/code.rb
|
192
205
|
- lib/seeing_is_believing/compatibility.rb
|
193
|
-
- lib/seeing_is_believing/customize_pp.rb
|
194
206
|
- lib/seeing_is_believing/debugger.rb
|
195
207
|
- lib/seeing_is_believing/error.rb
|
196
208
|
- lib/seeing_is_believing/evaluate_by_moving_files.rb
|
@@ -205,6 +217,7 @@ files:
|
|
205
217
|
- lib/seeing_is_believing/hash_struct.rb
|
206
218
|
- lib/seeing_is_believing/result.rb
|
207
219
|
- lib/seeing_is_believing/safe.rb
|
220
|
+
- lib/seeing_is_believing/swap_files.rb
|
208
221
|
- lib/seeing_is_believing/the_matrix.rb
|
209
222
|
- lib/seeing_is_believing/version.rb
|
210
223
|
- lib/seeing_is_believing/wrap_expressions.rb
|
@@ -225,6 +238,7 @@ files:
|
|
225
238
|
- spec/hard_core_ensure_spec.rb
|
226
239
|
- spec/hash_struct_spec.rb
|
227
240
|
- spec/seeing_is_believing_spec.rb
|
241
|
+
- spec/sib_spec_helpers/version.rb
|
228
242
|
- spec/spec_helper.rb
|
229
243
|
- spec/spec_helper_spec.rb
|
230
244
|
- spec/wrap_expressions_spec.rb
|
@@ -287,8 +301,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
287
301
|
- !ruby/object:Gem::Version
|
288
302
|
version: '0'
|
289
303
|
requirements: []
|
290
|
-
|
291
|
-
rubygems_version: 2.7.6
|
304
|
+
rubygems_version: 3.1.2
|
292
305
|
signing_key:
|
293
306
|
specification_version: 4
|
294
307
|
summary: Records results of every line of code in your file
|
@@ -315,6 +328,7 @@ test_files:
|
|
315
328
|
- spec/hard_core_ensure_spec.rb
|
316
329
|
- spec/hash_struct_spec.rb
|
317
330
|
- spec/seeing_is_believing_spec.rb
|
331
|
+
- spec/sib_spec_helpers/version.rb
|
318
332
|
- spec/spec_helper.rb
|
319
333
|
- spec/spec_helper_spec.rb
|
320
334
|
- spec/wrap_expressions_spec.rb
|
@@ -1,50 +0,0 @@
|
|
1
|
-
require 'seeing_is_believing/error'
|
2
|
-
require 'seeing_is_believing/hard_core_ensure'
|
3
|
-
|
4
|
-
class SeeingIsBelieving
|
5
|
-
class BackupFile
|
6
|
-
def self.call(*args, &block)
|
7
|
-
new(*args, &block).call
|
8
|
-
end
|
9
|
-
|
10
|
-
def initialize(file_path, backup_filename, &block)
|
11
|
-
self.file_path = file_path
|
12
|
-
self.block = block
|
13
|
-
self.backup_filename = backup_filename
|
14
|
-
end
|
15
|
-
|
16
|
-
def call
|
17
|
-
HardCoreEnsure.call \
|
18
|
-
code: -> {
|
19
|
-
we_will_not_overwrite_existing_backup_file!
|
20
|
-
backup_existing_file
|
21
|
-
block.call
|
22
|
-
},
|
23
|
-
ensure: -> {
|
24
|
-
set_back_to_initial_conditions
|
25
|
-
}
|
26
|
-
end
|
27
|
-
|
28
|
-
private
|
29
|
-
|
30
|
-
attr_accessor :block, :file_path, :backup_filename
|
31
|
-
|
32
|
-
def we_will_not_overwrite_existing_backup_file!
|
33
|
-
raise TempFileAlreadyExists.new(file_path, backup_filename) if File.exist? backup_filename
|
34
|
-
end
|
35
|
-
|
36
|
-
def backup_existing_file
|
37
|
-
return unless File.exist? file_path
|
38
|
-
File.rename file_path, backup_filename
|
39
|
-
@was_backed_up = true
|
40
|
-
end
|
41
|
-
|
42
|
-
def set_back_to_initial_conditions
|
43
|
-
if @was_backed_up
|
44
|
-
File.rename(backup_filename, file_path)
|
45
|
-
else
|
46
|
-
File.delete(file_path)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|