spicycode-micronaut 0.1.5 → 0.1.5.2
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.
- data/Rakefile +1 -1
- data/examples/lib/micronaut/formatters/base_formatter_example.rb +13 -1
- data/examples/lib/micronaut/formatters/progress_formatter_example.rb +0 -8
- data/lib/micronaut/behaviour.rb +4 -1
- data/lib/micronaut/formatters/base_formatter.rb +15 -3
- data/lib/micronaut/formatters/base_text_formatter.rb +5 -3
- metadata +2 -2
data/Rakefile
CHANGED
@@ -100,8 +100,20 @@ describe Micronaut::Formatters::BaseFormatter do
|
|
100
100
|
@formatter.should have_interface_for(:dump_pending).with(0).arguments
|
101
101
|
end
|
102
102
|
|
103
|
-
it "should have close
|
103
|
+
it "should have close as an interface with zero arguments" do
|
104
104
|
@formatter.should have_interface_for(:close).with(0).arguments
|
105
105
|
end
|
106
106
|
|
107
|
+
describe 'dealing with backtrace' do
|
108
|
+
|
109
|
+
it "should ensure ':' in the first backtrace" do
|
110
|
+
backtrace = ["/tmp/x.rb:1", "/tmp/x.rb:2", "/tmp/x.rb:3"]
|
111
|
+
@formatter.format_backtrace(backtrace).should == backtrace
|
112
|
+
|
113
|
+
backtrace = ["/tmp/x.rb:1: message", "/tmp/x.rb:2", "/tmp/x.rb:3"]
|
114
|
+
@formatter.format_backtrace(backtrace).first.should == "/tmp/x.rb:1: message"
|
115
|
+
end
|
116
|
+
|
117
|
+
end
|
118
|
+
|
107
119
|
end
|
@@ -57,12 +57,4 @@ describe Micronaut::Formatters::ProgressFormatter do
|
|
57
57
|
@output.string.should == ""
|
58
58
|
end
|
59
59
|
|
60
|
-
it "should ensure ':' in the first backtrace" do
|
61
|
-
backtrace = ["/tmp/x.rb:1", "/tmp/x.rb:2", "/tmp/x.rb:3"]
|
62
|
-
@formatter.format_backtrace(backtrace).should == backtrace
|
63
|
-
|
64
|
-
backtrace = ["/tmp/x.rb:1: message", "/tmp/x.rb:2", "/tmp/x.rb:3"]
|
65
|
-
@formatter.format_backtrace(backtrace).first.should == "/tmp/x.rb:1: message"
|
66
|
-
end
|
67
|
-
|
68
60
|
end
|
data/lib/micronaut/behaviour.rb
CHANGED
@@ -67,7 +67,8 @@ module Micronaut
|
|
67
67
|
metadata[:described_type] = args.first.is_a?(String) ? self.superclass.described_type : args.shift
|
68
68
|
metadata[:description] = args.shift || ''
|
69
69
|
metadata[:name] = "#{metadata[:described_type]} #{metadata[:description]}".strip
|
70
|
-
|
70
|
+
metadata[:describe_block] = metadata[:options].delete(:describe_block)
|
71
|
+
metadata[:file_path] = eval("caller(0)[0]", metadata[:describe_block].binding)
|
71
72
|
Micronaut.configuration.find_modules(self).each do |include_or_extend, mod, opts|
|
72
73
|
if include_or_extend == :extend
|
73
74
|
send(:extend, mod) unless extended_modules.include?(mod)
|
@@ -100,6 +101,8 @@ module Micronaut
|
|
100
101
|
def self.describe(*args, &describe_block)
|
101
102
|
raise ArgumentError if args.empty? || describe_block.nil?
|
102
103
|
subclass('NestedLevel') do
|
104
|
+
args << {} unless args.last.is_a?(Hash)
|
105
|
+
args.last.update(:describe_block => describe_block)
|
103
106
|
set_it_up(*args)
|
104
107
|
module_eval(&describe_block)
|
105
108
|
end
|
@@ -104,9 +104,15 @@ module Micronaut
|
|
104
104
|
def close
|
105
105
|
end
|
106
106
|
|
107
|
-
def format_backtrace(backtrace)
|
107
|
+
def format_backtrace(backtrace, example)
|
108
108
|
return "" if backtrace.nil?
|
109
109
|
cleansed = backtrace.map { |line| backtrace_line(line) }.compact
|
110
|
+
original_file = example.behaviour.metadata[:file_path].split(':').first.strip
|
111
|
+
# cleansed = cleansed.select do |line|
|
112
|
+
# line.split(':').first.downcase == original_file.downcase
|
113
|
+
# end
|
114
|
+
# we really just want it to remove the last line if there are more than 1 lines, as it is always
|
115
|
+
# junk
|
110
116
|
cleansed.empty? ? backtrace : cleansed
|
111
117
|
end
|
112
118
|
|
@@ -119,8 +125,14 @@ module Micronaut
|
|
119
125
|
line
|
120
126
|
end
|
121
127
|
|
122
|
-
def read_failed_line(
|
123
|
-
|
128
|
+
def read_failed_line(exception, example)
|
129
|
+
original_file = example.options[:caller].split(':').first.strip
|
130
|
+
matching_line = exception.backtrace.find do |line|
|
131
|
+
line.split(':').first.downcase == original_file.downcase
|
132
|
+
end
|
133
|
+
return "Unable to find matching line from backtrace" if matching_line.nil?
|
134
|
+
|
135
|
+
file_path, line_number = matching_line.split(':')
|
124
136
|
open(file_path, 'r') { |f| f.readlines[line_number.to_i - 1] }
|
125
137
|
end
|
126
138
|
|
@@ -31,9 +31,11 @@ module Micronaut
|
|
31
31
|
example, exception = examples_with_exception.first, examples_with_exception.last
|
32
32
|
padding = ' '
|
33
33
|
output.puts "#{index.next}) #{example}"
|
34
|
-
output.puts "#{padding}#{
|
35
|
-
|
36
|
-
|
34
|
+
output.puts "#{padding}Failure/Error: #{read_failed_line(exception, example).strip}"
|
35
|
+
exception.message.split("\n").each do |line|
|
36
|
+
output.puts "#{padding}#{colorise(line, exception).strip}"
|
37
|
+
end
|
38
|
+
format_backtrace(exception.backtrace, example).each do |backtrace_info|
|
37
39
|
output.puts grey("#{padding}# #{backtrace_info}")
|
38
40
|
end
|
39
41
|
output.puts
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spicycode-micronaut
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.5
|
4
|
+
version: 0.1.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chad Humphries
|
@@ -9,7 +9,7 @@ autorequire: micronaut
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-12-
|
12
|
+
date: 2008-12-22 00:00:00 -08:00
|
13
13
|
default_executable: micronaut
|
14
14
|
dependencies: []
|
15
15
|
|