test_bench-session 3.0.0.0 → 3.0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5682d0fdb98fab58920e00c8e9bbe0b86bd44b5101b97b0d07d7566d4ec684f4
4
- data.tar.gz: 2aff239b26fed7ab1bd65a9e122d5d20113df72f0dbdafd0d589cb00d5582b9b
3
+ metadata.gz: 31604745ffbd1014f9ec18b593a773f5e9bbe26884b4529f8f64c96b3e5f551e
4
+ data.tar.gz: 2493b713b6d46da216c7a8d7aac8f7ab16945d079ac8a565c59922fb2685e74c
5
5
  SHA512:
6
- metadata.gz: 81a738b26d2c8e79579657d86fd5252e8ddf70e233272e71c8bb80b85fb37abd10001bcedfc2f687d54418b6f98ef5f66c25b56dc115244799aeeeefbf9a30f7
7
- data.tar.gz: e6b9b69780523032373507ca96b140dde6df79cb1b893eeb907a89934252334d15909ef24c7f0d6e592610320f1990d5d95161c4463cab94a706402d818fd331
6
+ metadata.gz: a1e8a17a6994d459cca55ce6f35addafd836deba91d764cfccaa55f76b26188932f2c2dba5fd806ff707d65265afbfd2e7f51c3d65a84d0189eed0040fac190a
7
+ data.tar.gz: dc8a0889daebd1650269f44f6efc8609f3fee9ffce176dca186b9591400d1f51be5e22ec275e935d60810082af2e30cec0010d44d43ce215af063966b09a573b
@@ -30,10 +30,12 @@ module TestBench
30
30
 
31
31
  module Styling
32
32
  def self.example
33
+ backtrace = AbsolutePaths::Local::Backtrace.example(styling: true)
34
+
33
35
  [
34
- Exception::Example.backtrace.first,
36
+ backtrace.first,
35
37
  "\e[2;3m*omitted*\e[23;22m",
36
- Exception::Example.backtrace.last
38
+ backtrace.last
37
39
  ]
38
40
  end
39
41
  end
@@ -65,13 +67,37 @@ module TestBench
65
67
  end
66
68
 
67
69
  def self.backtrace
68
- Exception::AbsolutePaths::Example.backtrace_locations.map do |backtrace_location|
69
- backtrace_location.to_s.delete_prefix(::File.join(apex_directory, ''))
70
- end
70
+ Backtrace.example
71
71
  end
72
72
 
73
73
  def self.apex_directory
74
- Path::ApexDirectory.tmpdir
74
+ Backtrace.apex_directory
75
+ end
76
+
77
+ module Backtrace
78
+ def self.example(styling: nil)
79
+ styling ||= false
80
+
81
+ if styling
82
+ relative_path_prefix = "\e[2m./\e[22m"
83
+ else
84
+ relative_path_prefix = "./"
85
+ end
86
+
87
+ Exception::AbsolutePaths::Example.backtrace_locations.map do |backtrace_location|
88
+ backtrace_location_text = backtrace_location.to_s
89
+
90
+ backtrace_location_text.delete_prefix!(::File.join(apex_directory, ''))
91
+
92
+ backtrace_location_text.insert(0, relative_path_prefix)
93
+
94
+ backtrace_location_text
95
+ end
96
+ end
97
+
98
+ def self.apex_directory
99
+ Path::ApexDirectory.tmpdir
100
+ end
75
101
  end
76
102
  end
77
103
  end
@@ -73,6 +73,19 @@ module TestBench
73
73
 
74
74
  Example = self.example
75
75
  end
76
+
77
+ module NoBacktraceLocation
78
+ def self.example
79
+ backtrace = Backtrace.example
80
+
81
+ raise SomeException, Exception.exception_message, backtrace
82
+
83
+ rescue SomeException => exception
84
+ return exception
85
+ else
86
+ abort "Unreachable"
87
+ end
88
+ end
76
89
  end
77
90
  end
78
91
  end
@@ -15,13 +15,13 @@ require 'test_bench/session/controls/path/apex_directory'
15
15
  require 'test_bench/session/controls/path/file'
16
16
  require 'test_bench/session/controls/path/file/create'
17
17
 
18
+ require 'test_bench/session/controls/backtrace'
19
+ require 'test_bench/session/controls/backtrace/location'
20
+
18
21
  require 'test_bench/session/controls/exception/raise'
19
22
  require 'test_bench/session/controls/exception'
20
23
  require 'test_bench/session/controls/exception/message'
21
24
 
22
- require 'test_bench/session/controls/backtrace'
23
- require 'test_bench/session/controls/backtrace/location'
24
-
25
25
  require 'test_bench/session/controls/text'
26
26
  require 'test_bench/session/controls/message'
27
27
  require 'test_bench/session/controls/title'
@@ -35,10 +35,16 @@ module TestBench
35
35
  end
36
36
 
37
37
  def call(exception)
38
+ backtrace_locations = exception.backtrace_locations
39
+
40
+ if backtrace_locations.nil?
41
+ return
42
+ end
43
+
38
44
  if styling?
39
45
  omitted_text = "\e[2;3m*omitted*\e[23;22m"
40
46
  else
41
- omitted_text = "*omitted*"
47
+ omitted_text = '*omitted*'
42
48
  end
43
49
 
44
50
  backtrace = []
@@ -64,10 +70,8 @@ module TestBench
64
70
  end
65
71
  end
66
72
 
67
- apex_directory_prefix = ::File.join(apex_directory, '')
68
-
69
73
  backtrace.each do |backtrace_location_text|
70
- backtrace_location_text.delete_prefix!(apex_directory_prefix)
74
+ delete_apex_directory_prefix(backtrace_location_text)
71
75
  end
72
76
 
73
77
  exception.set_backtrace(backtrace)
@@ -83,7 +87,7 @@ module TestBench
83
87
  location ||= exception.backtrace_locations.first
84
88
 
85
89
  location = "#{location.path}:#{location.lineno}"
86
- location.delete_prefix!(apex_directory_prefix)
90
+ delete_apex_directory_prefix(location)
87
91
  location
88
92
  end
89
93
 
@@ -95,6 +99,20 @@ module TestBench
95
99
  end
96
100
  end
97
101
 
102
+ def delete_apex_directory_prefix(backtrace_location_text)
103
+ if styling?
104
+ relative_path_prefix = "\e[2m./\e[22m"
105
+ else
106
+ relative_path_prefix = './'
107
+ end
108
+
109
+ apex_directory_prefix = ::File.join(apex_directory, '')
110
+
111
+ if backtrace_location_text.delete_prefix!(apex_directory_prefix)
112
+ backtrace_location_text.insert(0, relative_path_prefix)
113
+ end
114
+ end
115
+
98
116
  module Defaults
99
117
  def self.omit_patterns
100
118
  env_omit_backtrace_pattern = ENV.fetch('TEST_BENCH_OMIT_BACKTRACE_PATTERN', '')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test_bench-session
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.0
4
+ version: 3.0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brightworks Digital