speckle 0.1.14 → 0.1.15

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NmEwMDlhYjVmMzYyMmI3NThhNGU3NzRiYjA5ZDM3ZmE2NDU5ZTIwYQ==
4
+ NmU1MWRkNzE3NzIxM2Q2ZGQyZWFmYzQ5ODM5YzgxY2RmMjk3YmY5Yg==
5
5
  data.tar.gz: !binary |-
6
- NjQ4OTFjNDU1MGI3OWU0N2I1NGI4ODc3NDBmZmZkMTYyYmM3OGNiNA==
6
+ OGUzYzcyZWU0MWViNTQyNjQyNWFmZmU3NWJkNWI0MGNiODUxNDNmNg==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- ZjU3NWJjZjE3NmY5MWMzNGYwYTJjNGEzOTU0ZDgzNWM3OGZiZjEzYjY3MGU0
10
- MjBmYjFmMTgyOWM1YjQxNTIzNDM5ZTE0MjU0N2I2ZWEwMjUwYTdhNjk4MzQz
11
- ZGY1MDY1ZGJlOTJiMTNjMWQ5M2FkOTlkZTBkNDA2ZjM3MmNkNTU=
9
+ MDcwOGMxZGQ1YzIwOTIxOGE2NWMxMmU1ODRkOGZkN2JiYTlkYTY4OWQxNTI1
10
+ ZWI1YWE3NjE4ZTJiMTVkN2YzNjU2YjhjODIwNTQ3MDIxZmI4NTg3ZGI2ODIw
11
+ ZDBjMjEyYWY4ODQwMWNmMmY3ZjFiNDM3N2Q3NTVlNDc2YzA3NDE=
12
12
  data.tar.gz: !binary |-
13
- NTMzYzdkNmJhZjNjNjdjN2I0NmZlMWVkNjY3NGU3MzgxNmYxMTkwNzg3MjFk
14
- YWM0ZDk5NmEzNjBkMjg0MmEwNWZkOGI1MWIzMTkyODg1MWI4ODA5YTI3YTFi
15
- YTg0ZDI0N2FkODlkZmRiNzk0ZWJhMmVjMGIyMzVkZmVlYTk0NzQ=
13
+ NjYyMjk0MDI4MzM3MzlkMWFlZmIyZmU1YzhiNGI2YTgzZTNiMDg1NDgzMDk3
14
+ Mzk0MmRlYTY1OTBjMmNiOWNjZDJiYTQyM2E2MTdlNzMxZDA3MzMzYjIzZjc1
15
+ YTEwNzVhNzI0MjVmMzQ2ZmJhNzEwM2I0MDhjNzQ3OTZlMmQyNDU=
@@ -152,5 +152,20 @@ class BaseReporter
152
152
  defm write_log_line(line)
153
153
  self.writer.writeln("log: #{line}")
154
154
  end
155
+
156
+ " stacktrack "
157
+ defm print_stacktrace(err)
158
+ if has_key(err, 'is_vim_error')
159
+ lines = err.get_stacktrace()
160
+
161
+ for line in lines
162
+ self.write_stacktrace_line(line)
163
+ end
164
+ end
165
+ end
166
+
167
+ defm write_stacktrace_line(line)
168
+ self.writer.writeln(line)
169
+ end
155
170
  end
156
171
 
@@ -28,7 +28,10 @@ class DotMatrixReporter < BaseReporter
28
28
  name = meta.get_sentence()
29
29
  context = meta.get_context()
30
30
  add(self.line_buffer, self.to_red("#{context} ##{name}"))
31
- add(self.line_buffer, self.to_red(" #{err}"))
31
+ add(self.line_buffer, self.to_red(" #{err.get_message()}"))
32
+
33
+ self.print_stacktrace(err)
34
+
32
35
  add(self.line_buffer, '')
33
36
  end
34
37
 
@@ -47,4 +50,8 @@ class DotMatrixReporter < BaseReporter
47
50
  self.writer.writeln("")
48
51
  end
49
52
 
53
+ defm write_stacktrace_line(line)
54
+ add(self.line_buffer, " #{line}")
55
+ end
56
+
50
57
  end
@@ -3,7 +3,8 @@ class MinReporter < BaseReporter
3
3
  defm on_spec_failure(meta, err, stats)
4
4
  name = meta.get_sentence()
5
5
  context = meta.get_context()
6
- self.writer.writeln(self.to_red("#{context} ##{name} - #{err}"))
6
+ self.writer.writeln(self.to_red("#{context} ##{name} - #{err.get_message()}"))
7
+ self.print_stacktrace(err)
7
8
  end
8
9
 
9
10
  defm on_spec_error(meta, err, stats)
@@ -14,5 +15,9 @@ class MinReporter < BaseReporter
14
15
  self.flush_log_buffer()
15
16
  super()
16
17
  end
18
+
19
+ defm write_stacktrace_line(line)
20
+ self.writer.writeln(" #{line}")
21
+ end
17
22
 
18
23
  end
@@ -34,7 +34,12 @@ class SpecReporter < BaseReporter
34
34
  defm on_spec_failure(meta, err, stats)
35
35
  self.write("#{self.get_cross()} #{self.to_red(meta.get_sentence())}")
36
36
  self.indent(2)
37
- self.write(self.to_red(err))
37
+ self.write(self.to_red(err.get_message()))
38
+
39
+ self.indent(1)
40
+ self.print_stacktrace(err)
41
+ self.unindent(1)
42
+
38
43
  self.flush_log_buffer()
39
44
  self.unindent(2)
40
45
  end
@@ -63,5 +68,9 @@ class SpecReporter < BaseReporter
63
68
  defm write_log_line(line)
64
69
  self.write("log: #{line}")
65
70
  end
71
+
72
+ defm write_stacktrace_line(line)
73
+ self.write(line)
74
+ end
66
75
 
67
76
  end
@@ -19,15 +19,13 @@ class TAPReporter < BaseReporter
19
19
  defm on_spec_failure(meta, err, stats)
20
20
  name = meta.get_sentence()
21
21
  preamble = self.get_preamble('not ok', stats.get_count(), meta.get_context())
22
- self.writer.writeln("#{preamble} ##{name} - #{err}")
22
+ self.writer.writeln("#{preamble} ##{name} - #{err.get_message()}")
23
+ self.print_stacktrace(err)
23
24
  self.flush_log_buffer()
24
25
  end
25
26
 
26
27
  defm on_spec_error(meta, err, stats)
27
- name = meta.get_sentence()
28
- preamble = self.get_preamble('not ok', stats.get_count(), meta.get_context())
29
- self.writer.writeln("#{preamble} ##{name} - #{err}")
30
- self.flush_log_buffer()
28
+ self.on_spec_failure(meta, err, stats)
31
29
  end
32
30
 
33
31
  defm on_spec_pending(meta, stats)
@@ -37,4 +35,8 @@ class TAPReporter < BaseReporter
37
35
  msg = "#{status} #{count} - #{context}"
38
36
  return msg
39
37
  end
38
+
39
+ defm write_stacktrace_line(line)
40
+ self.writer.writeln(" #{line}")
41
+ end
40
42
  end
@@ -53,21 +53,25 @@ class SpecRunner
53
53
  catch /Unknown function.*expect/
54
54
  did_fail = true
55
55
  stats.inc_failures()
56
- exception = 'DSLError: expect() not found, dsl.riml may not be included'
57
- reporter.on_spec_failure(meta, exception, stats)
56
+ error = new DSLError('expect() not found, dsl.riml may not be included')
57
+ reporter.on_spec_failure(meta, error, stats)
58
58
  catch /Unknown function.*define_matcher/
59
59
  did_fail = true
60
60
  stats.inc_failures()
61
- exception = 'DSLError: define_matcher() not found, dsl.riml may not be included'
62
- reporter.on_spec_failure(meta, exception, stats)
61
+ error = new DSLError('define_matcher() not found, dsl.riml may not be included')
62
+ reporter.on_spec_failure(meta, error, stats)
63
63
  catch /^AssertionError/
64
64
  did_fail = true
65
65
  stats.inc_failures()
66
- reporter.on_spec_failure(meta, v:exception, stats)
66
+
67
+ " exeption carries the assertion failure message "
68
+ error = new AssertionError(v:exception)
69
+ reporter.on_spec_failure(meta, error, stats)
67
70
  catch /.*/
68
71
  did_fail = true
69
72
  stats.inc_errors()
70
- reporter.on_spec_error(meta, v:exception, stats)
73
+ error = new VimError(v:exception)
74
+ reporter.on_spec_error(meta, error, stats)
71
75
  end
72
76
 
73
77
  reporter.on_spec_end(meta, stats)
@@ -114,3 +118,52 @@ class SpecRunner
114
118
  end
115
119
 
116
120
  end
121
+
122
+ class SpecError
123
+ def initialize(message)
124
+ self.is_spec_error = true
125
+ self.message = message
126
+
127
+ self.exception = v:exception
128
+ self.throwpoint = v:throwpoint
129
+ end
130
+
131
+ defm get_message()
132
+ return self.message
133
+ end
134
+
135
+ defm get_stacktrace()
136
+ unless has_key(self, 'stacktrace')
137
+ self.build_stacktrace()
138
+ end
139
+
140
+ return self.stacktrace
141
+ end
142
+
143
+ defm build_stacktrace()
144
+ str = substitute(self.throwpoint, '\v(function )', '', '')
145
+ self.stacktrace = split(str, '\.\.')
146
+ self.stacktrace = map(self.stacktrace, '"at " . v:val')
147
+ end
148
+ end
149
+
150
+ class DSLError < SpecError
151
+ def initialize(message)
152
+ super(message)
153
+ self.is_dsl_error = true
154
+ end
155
+ end
156
+
157
+ class AssertionError < SpecError
158
+ def initialize(message)
159
+ super(message)
160
+ self.is_assertion_error = true
161
+ end
162
+ end
163
+
164
+ class VimError < SpecError
165
+ def initialize(message)
166
+ super(message)
167
+ self.is_vim_error = true
168
+ end
169
+ end
@@ -1,3 +1,3 @@
1
1
  module Speckle
2
- VERSION = "0.1.14"
2
+ VERSION = "0.1.15"
3
3
  end
@@ -0,0 +1,15 @@
1
+ riml_include 'dsl.riml'
2
+
3
+ class StacktraceSpec
4
+ defm describe
5
+ return 'StacktraceSpec'
6
+ end
7
+
8
+ defm it_can_display_stacktrace_stacktrace
9
+ unless exists('g:speckle_tag') && g:speckle_tag == 'stacktrace'
10
+ return
11
+ end
12
+
13
+ some_unknown_function('a')
14
+ end
15
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: speckle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.14
4
+ version: 0.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Darshan Sawardekar
@@ -183,6 +183,7 @@ files:
183
183
  - spec/speckle/list/file_content_filter_spec.rb
184
184
  - spec/speckle/list/pattern_filter_spec.rb
185
185
  - spec/speckle_mode_spec.riml
186
+ - spec/stacktrace_spec.riml
186
187
  - spec/tagged_spec.riml
187
188
  - speckle.gemspec
188
189
  homepage: http://github.com/dsawardekar/speckle
@@ -235,4 +236,5 @@ test_files:
235
236
  - spec/speckle/list/file_content_filter_spec.rb
236
237
  - spec/speckle/list/pattern_filter_spec.rb
237
238
  - spec/speckle_mode_spec.riml
239
+ - spec/stacktrace_spec.riml
238
240
  - spec/tagged_spec.riml