speckle 0.1.14 → 0.1.15

Sign up to get free protection for your applications and to get access to all the features.
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