spicycode-micronaut 0.1.6.9 → 0.1.6.9.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.
data/Rakefile CHANGED
@@ -3,7 +3,7 @@ require 'rake/gempackagetask'
3
3
  require 'rubygems/specification'
4
4
 
5
5
  GEM = "micronaut"
6
- GEM_VERSION = "0.1.6.9"
6
+ GEM_VERSION = "0.1.6.9.1"
7
7
  AUTHOR = "Chad Humphries"
8
8
  EMAIL = "chad@spicycode.com"
9
9
  HOMEPAGE = "http://spicycode.com"
@@ -59,6 +59,33 @@ describe Micronaut::Behaviour do
59
59
  Micronaut::Behaviour.describe(Object, nil, 'foo' => 'bar') { }.metadata.should include({ "foo" => 'bar' })
60
60
  end
61
61
 
62
+ it "should add the file_path_with_line_number of the current behaviour to metadata" do
63
+ Micronaut::Behaviour.describe(Object) { }.metadata[:behaviour][:file_path_with_line_number].should == "#{__FILE__}:#{__LINE__}"
64
+ end
65
+
66
+ it "should add the the file_path of the current behaviour to metadata" do
67
+ Micronaut::Behaviour.describe(Object) { }.metadata[:behaviour][:file_path].should == "#{__FILE__}"
68
+ end
69
+
70
+ it "should add a reader for file_path to the behaviour for easy access" do
71
+ Micronaut::Behaviour.describe(Object) { }.file_path.should == "#{__FILE__}"
72
+ end
73
+
74
+ it "should add the line_number of the current behavior to metadata" do
75
+ Micronaut::Behaviour.describe(Object) { }.metadata[:behaviour][:line_number].should == __LINE__
76
+ end
77
+
78
+ it "should add file path and line number metadata for arbitrarily nested describes" do
79
+ Micronaut::Behaviour.describe(Object) do
80
+ Micronaut::Behaviour.describe("foo") do
81
+
82
+ Micronaut::Behaviour.describe(Object) { }.metadata[:behaviour][:file_path_with_line_number].should == "#{__FILE__}:#{__LINE__}"
83
+ Micronaut::Behaviour.describe(Object) { }.metadata[:behaviour][:line_number].should == __LINE__
84
+
85
+ end
86
+ end
87
+ end
88
+
62
89
  end
63
90
 
64
91
  describe "adding before and after hooks" do
@@ -106,6 +106,12 @@ describe Micronaut::Formatters::BaseFormatter do
106
106
 
107
107
  describe 'dealing with backtrace' do
108
108
 
109
+ it "should allow displaying the full backtrace with an option", :pending => true do
110
+ backtrace = ["/tmp/x.rb:1", "foo/vendor/rails/x.rb:1"]
111
+ result = @formatter.format_backtrace(backtrace, running_example)
112
+ result.should == backtrace
113
+ end
114
+
109
115
  it "should ensure ':' in the first backtrace" do
110
116
  backtrace = ["/tmp/x.rb:1", "/tmp/x.rb:2", "/tmp/x.rb:3"]
111
117
  @formatter.format_backtrace(backtrace, running_example).should == backtrace
@@ -8,6 +8,10 @@ require 'micronaut/example'
8
8
  require 'micronaut/behaviour'
9
9
  require 'micronaut/kernel_extensions'
10
10
  require 'micronaut/formatters'
11
+ begin
12
+ require 'log_buddy'
13
+ LogBuddy.init
14
+ rescue nil; end
11
15
 
12
16
  module Micronaut
13
17
  file = if RUBY_VERSION =~ /^1\.9/ then # bt's expanded, but __FILE__ isn't :(
@@ -85,7 +85,10 @@ module Micronaut
85
85
  @metadata[:behaviour][:description] = args.shift || ''
86
86
  @metadata[:behaviour][:name] = "#{describes} #{description}".strip
87
87
  @metadata[:behaviour][:block] = extra_metadata.delete(:behaviour_block)
88
- @metadata[:behaviour][:file_path] = eval("caller(0)[0]", @metadata[:behaviour][:block].binding)
88
+ file_path_with_line_num = eval("caller(0)[0]", @metadata[:behaviour][:block].binding)
89
+ @metadata[:behaviour][:file_path_with_line_number] = file_path_with_line_num
90
+ @metadata[:behaviour][:file_path] = file_path_with_line_num.split(":")[0].strip
91
+ @metadata[:behaviour][:line_number] = file_path_with_line_num.split(":")[1].to_i
89
92
 
90
93
  extra_metadata.delete(:behaviour) # Remove it if it is present
91
94
  @metadata.update(extra_metadata)
@@ -117,6 +120,10 @@ module Micronaut
117
120
  def self.description
118
121
  @metadata[:behaviour][:description]
119
122
  end
123
+
124
+ def self.file_path
125
+ @metadata[:behaviour][:file_path]
126
+ end
120
127
 
121
128
  def self.describe(*args, &behaviour_block)
122
129
  raise(ArgumentError, "No arguments given. You must a least supply a type or description") if args.empty?
@@ -107,10 +107,9 @@ module Micronaut
107
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[:behaviour][:file_path].split(':').first.strip
111
110
 
112
111
  cleansed = cleansed.select do |line|
113
- line.split(':').first.downcase == original_file.downcase
112
+ line.split(':').first.downcase == example.behaviour.file_path.downcase
114
113
  end
115
114
 
116
115
  cleansed.empty? ? backtrace : cleansed
@@ -126,7 +125,7 @@ module Micronaut
126
125
  end
127
126
 
128
127
  def read_failed_line(exception, example)
129
- original_file = example.metadata[:caller].split(':').first.strip
128
+ original_file = example.behaviour.file_path.downcase
130
129
  matching_line = exception.backtrace.find do |line|
131
130
  line.split(':').first.downcase == original_file.downcase
132
131
  end
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.6.9
4
+ version: 0.1.6.9.1
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-25 00:00:00 -08:00
12
+ date: 2008-12-26 00:00:00 -08:00
13
13
  default_executable: micronaut
14
14
  dependencies: []
15
15