lucid 0.3.3 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/HISTORY.md +13 -9
  3. data/README.md +2 -6
  4. data/lib/lucid.rb +22 -3
  5. data/lib/lucid/{term/ansicolor.rb → ansicolor.rb} +34 -41
  6. data/lib/lucid/ast.rb +2 -2
  7. data/lib/lucid/ast/outline_table.rb +2 -2
  8. data/lib/lucid/ast/{specs.rb → spec.rb} +10 -1
  9. data/lib/lucid/ast/step.rb +3 -3
  10. data/lib/lucid/ast/step_invocation.rb +16 -16
  11. data/lib/lucid/ast/table.rb +1 -1
  12. data/lib/lucid/ast/{tdl_walker.rb → walker.rb} +15 -16
  13. data/lib/lucid/cli/app.rb +23 -21
  14. data/lib/lucid/cli/{configuration.rb → context.rb} +66 -38
  15. data/lib/lucid/cli/options.rb +59 -40
  16. data/lib/lucid/{configuration.rb → context.rb} +2 -3
  17. data/lib/lucid/{runtime.rb → context_loader.rb} +58 -61
  18. data/lib/lucid/{runtime/facade.rb → facade.rb} +5 -6
  19. data/lib/lucid/formatter/ansicolor.rb +15 -14
  20. data/lib/lucid/formatter/debug.rb +1 -1
  21. data/lib/lucid/formatter/usage.rb +2 -2
  22. data/lib/lucid/interface.rb +121 -0
  23. data/lib/lucid/{runtime/interface_io.rb → interface_io.rb} +2 -2
  24. data/lib/lucid/interface_rb/rb_language.rb +6 -23
  25. data/lib/lucid/interface_rb/rb_step_definition.rb +1 -2
  26. data/lib/lucid/{core_ext/instance_exec.rb → lang_extend.rb} +112 -69
  27. data/lib/lucid/{runtime/orchestrator.rb → orchestrator.rb} +36 -24
  28. data/lib/lucid/platform.rb +1 -1
  29. data/lib/lucid/{runtime/results.rb → results.rb} +10 -10
  30. data/lib/lucid/{tdl_builder.rb → spec_builder.rb} +26 -22
  31. data/lib/lucid/spec_file.rb +33 -13
  32. data/lib/lucid/{runtime/specs_loader.rb → spec_loader.rb} +13 -22
  33. data/lib/lucid/{step_definition_light.rb → step_definition_usage.rb} +2 -4
  34. data/lib/lucid/step_definitions.rb +4 -4
  35. data/spec/lucid/app_spec.rb +6 -18
  36. data/spec/lucid/ast/background_spec.rb +4 -4
  37. data/spec/lucid/ast/feature_spec.rb +7 -7
  38. data/spec/lucid/ast/scenario_outline_spec.rb +9 -9
  39. data/spec/lucid/ast/specs_spec.rb +8 -8
  40. data/spec/lucid/ast/step_spec.rb +5 -5
  41. data/spec/lucid/ast/tdl_walker_spec.rb +5 -5
  42. data/spec/lucid/{configuration_spec.rb → context_spec.rb} +78 -78
  43. data/spec/lucid/facade_spec.rb +7 -7
  44. data/spec/lucid/orchestrator_spec.rb +7 -7
  45. data/spec/lucid/pending_spec.rb +3 -3
  46. data/spec/lucid/progress_spec.rb +3 -3
  47. data/spec/lucid/rb_step_definition_spec.rb +4 -4
  48. data/spec/lucid/results_spec.rb +2 -2
  49. data/spec/lucid/runtime_spec.rb +7 -7
  50. metadata +20 -32
  51. data/bin/lucid-gen +0 -4
  52. data/lib/lucid/core_ext/proc.rb +0 -36
  53. data/lib/lucid/core_ext/string.rb +0 -9
  54. data/lib/lucid/generator.rb +0 -21
  55. data/lib/lucid/generators/project.rb +0 -64
  56. data/lib/lucid/generators/project/Gemfile.tt +0 -6
  57. data/lib/lucid/generators/project/browser-fluent.rb +0 -37
  58. data/lib/lucid/generators/project/driver-fluent.rb +0 -1
  59. data/lib/lucid/generators/project/errors.rb +0 -26
  60. data/lib/lucid/generators/project/events-fluent.rb +0 -33
  61. data/lib/lucid/interface_methods.rb +0 -125
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b01bc3ff174ec61a65f17cfb82cc08d924a4a10e
4
- data.tar.gz: 45c1a13af33973644456fdb92fe08a3c7878b936
3
+ metadata.gz: b390e73608f98acdafab429d0931d92a51aa9716
4
+ data.tar.gz: 16d88cf605d75074f38cbaa18a2dffb05e4039ea
5
5
  SHA512:
6
- metadata.gz: 3df8d6b4f7e87deabbe95b6a5ef1bfa2d8bae7241e6d4627b20ca92c9598da4c6f33928d813ca640e8c902861ef3b66e53aae3a398cef09be8ba5b28827b418f
7
- data.tar.gz: d8f0da9e0190bfb05f27bd3b61cf8748608f3efd02d7a262ac78e9253d36f4cf74a6b6cfec93d1692b8dc44888f230a12dde78a9e1e5ac12d07fa94f5b590a6f
6
+ metadata.gz: e2e758b4b1d1816639a404479501ce44ba35602bd34670953e75e92f661c786a9e92920ab2ed6a60b6ac91a3d5b2a6279d3f3cd4a68de0dee7c04909fab4abb5
7
+ data.tar.gz: 166a0a2a6e087fbf28b9dd00431a463a35e0929df17b731ee48847375a9d4dedaeb46450dcd160517b520b7cdc41ad5642b413d7b846c736455580994c450f09
data/HISTORY.md CHANGED
@@ -1,6 +1,19 @@
1
1
  Change Log and History
2
2
  ======================
3
3
 
4
+ Version 0.4.0 / 2013-02-15
5
+ --------------------------
6
+
7
+ A large purpose for this release of Lucid is to clean up the internals of the code base, in particular naming code structures in such a way that they are more reflective of what they actually do. This release is very much in the category of tech-debt reduction.
8
+
9
+ * This version of Lucid removes the project generator (lucid-gen) that was originally part of it. That project has been separated off into its own project [LucidGen](https://github.com/jnyman/lucid-gen). This, at least partially, responds to the issue [External Project Generator Mechanism](https://github.com/jnyman/lucid/issues/14).
10
+
11
+ * A slightly better logging mechanism is in place such that executing Lucid with `--debug` specified will now provide a much better output of objects, making it easier to determine the internal state of Lucid's operations. Included with this is debug output of the AST when a spec file is read.
12
+
13
+ * A change has been put in place regarding how the `--dry-run` functionality works. Prior to this release, the driver file (by default, common/support/driver.rb) would not be included when you performed a dry-run against your repository. That's still in place but now Lucid will also exclude any page or activity definition files. This was found to be necessary because those files will often utilize elements that are required in the driver file.
14
+
15
+ * It is now possible to specifically indicate, via the command line, the steps path (by default, steps) and the definitions page (by default, pages). The latter is meant to build in support for the concept of page objects.
16
+
4
17
  Version 0.3.3 / 2013-02-13
5
18
  --------------------------
6
19
 
@@ -17,13 +30,11 @@ Lucid already uses the concept of a Domain, which is similar to Cucumber's World
17
30
 
18
31
  The project generator for creating Fluent projects has been updated. The main change of note here is that the `lucid.yml` configuration file is no longer automatically generated. The reason for this is that Lucid operation requires no configuration at all if the conventions in place are what you want to use.
19
32
 
20
-
21
33
  Version 0.2.1 / 2013-10-21
22
34
  --------------------------
23
35
 
24
36
  This is a small patch release. The patch is in the project generator. The [Symbiont](https://github.com/jnyman/symbiont) test framework is being deprecated in favor of [Fluent](https://github.com/jnyman/fluent). The project generator has been updated accordingly.
25
37
 
26
-
27
38
  Version 0.2.0 / 2013-09-28
28
39
  --------------------------
29
40
 
@@ -31,7 +42,6 @@ This release introduces a fairly major change, which is that of sequences. The i
31
42
 
32
43
  This release also introduces a new formatter called "condensed." This formatter is used simply to display a much more limited set of information about the scenarios that are being executed. Specifically, all that gets returned are the scenario titles, essentially hiding all of the steps. Pass/fail information is still reported.
33
44
 
34
-
35
45
  Version 0.1.1 / 2013-06-04
36
46
  --------------------------
37
47
 
@@ -41,7 +51,6 @@ This patch release was needed to fix one issue and update a gem dependency.
41
51
 
42
52
  * I am trusting multi_json again by including just it and not forcing Ruby's built-in json gem. This is based on the issue [Incorrectly Reporting Old or Stdlib Json?](https://github.com/intridea/multi_json/issues/114) that I originally raised and finally had a response with the [Remove stdlib warning since it's doing more harm than good](https://github.com/intridea/multi_json/pull/122) update to multi_json.
43
53
 
44
-
45
54
  Version 0.1.0 / 2013-06-02
46
55
  --------------------------
47
56
 
@@ -59,7 +68,6 @@ This version is being released to introduce a few more behind-the-scenes logic r
59
68
 
60
69
  As a note, this is the final "patch" version of Lucid prior to going to a semantic versioning approach. Lucid will next enter the initial development phase.
61
70
 
62
-
63
71
  Version 0.0.8 / 2013-05-20
64
72
  --------------------------
65
73
 
@@ -68,7 +76,6 @@ This version is being released to bring in two specific bug fixes.
68
76
  * Certain profile options were not being recognized. ([Spec Type Specified in Profile Not Recognized](https://github.com/jnyman/lucid/issues/10).)
69
77
  * The strict mode now works more as intended. ([Using "strict" Does Not Return Errors](https://github.com/jnyman/lucid/issues/8).)
70
78
 
71
-
72
79
  Version 0.0.7 / 2013-05-17
73
80
  --------------------------
74
81
 
@@ -81,7 +88,6 @@ Two specific changes worth calling out:
81
88
 
82
89
  The driver file in Cucumber is env.rb. In Lucid this defaults to driver.rb. Now, however, you can override that default. Regarding the library path, this is equivalent to what Cucumber refers to as the "support" directory. The main reason for these changes is that Lucid is trying to be a little more configurable than Cucumber.
83
90
 
84
-
85
91
  Version 0.0.6 / 2013-05-09
86
92
  --------------------------
87
93
 
@@ -92,7 +98,6 @@ This version attempts to fix a few issues to improve general operation.
92
98
  * Lucid now handles missing directories without raising exceptions. ([Extraneous "No File or Directory" Messages](https://github.com/jnyman/lucid/issues/3).)
93
99
  * The default generator project recognizes a missing Symbiont gem. ([Stack Trace When Symbiont Not Installed](https://github.com/jnyman/lucid/issues/5).)
94
100
 
95
-
96
101
  Version 0.0.5 / 2013-05-04
97
102
  --------------------------
98
103
 
@@ -107,7 +112,6 @@ Lucid is aiming to be more flexible than other tools, so certain elements -- lik
107
112
 
108
113
  This is very much an alpha release to determine how feasible Lucid is as a tool.
109
114
 
110
-
111
115
  Versions 0.0.1 to 0.0.4
112
116
  -----------------------
113
117
 
data/README.md CHANGED
@@ -13,7 +13,7 @@ Description
13
13
 
14
14
  Lucid is a Test Description Language (TDL) specification and execution engine. It is a clone of the popular tool [Cucumber](http://cukes.info/). Lucid is diverging in many ways from Cucumber but it does owe much of its initial structure to it. Lucid will also be incorporating some of the good ideas that have come to light in tools like [Spinach](https://github.com/codegram/spinach) and [Turnip](https://github.com/jnicklas/turnip).
15
15
 
16
- This is an alpha release of Lucid as it strives to become its own entity in the world of BDD tools.
16
+ Lucid is currently in an extended beta period, essentially becoming its own entity in the world of BDD tools.
17
17
 
18
18
 
19
19
  Installation
@@ -35,16 +35,12 @@ Or install it yourself as:
35
35
  Using Lucid
36
36
  -----------
37
37
 
38
- Much more detail on how to use Lucid will be coming soon. One way to get started however is to use the Lucid project generator. If you wanted to create a project directory called 'tutorial' for example, you could do this:
39
-
40
- $ lucid-gen project tutorial
38
+ Right now the best way to learn about Lucid is to check out some of my [blog posts related to Lucid](http://testerstories.com/category/lucid/). They will take you through various aspects of using the framework.
41
39
 
42
40
  In order to to check what options are available to you from the command line, do this:
43
41
 
44
42
  $ lucid --help
45
43
 
46
- You should also check out some of my [blog posts related to Lucid](http://testerstories.com/category/lucid/). They will take you through various aspects of using the framework.
47
-
48
44
 
49
45
  Contributing
50
46
  ------------
@@ -1,18 +1,32 @@
1
1
  $:.unshift(File.dirname(__FILE__)) unless
2
2
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
3
 
4
+ require 'pp'
4
5
  require 'yaml'
5
6
  require 'logger'
7
+ require 'stringio'
6
8
  require 'lucid/platform'
7
- require 'lucid/runtime'
9
+ require 'lucid/context_loader'
8
10
  require 'lucid/cli/app'
9
11
  require 'lucid/step_definitions'
10
- require 'lucid/term/ansicolor'
12
+ require 'lucid/ansicolor'
11
13
 
12
14
  module Lucid
13
15
  class << self
14
16
  attr_accessor :wants_to_quit
15
17
 
18
+ def breakdown(*args)
19
+ current_output = $stdout
20
+ begin
21
+ msg_string = StringIO.new
22
+ $stdout = msg_string
23
+ pp(*args)
24
+ ensure
25
+ $stdout = current_output
26
+ end
27
+ msg_string.string
28
+ end
29
+
16
30
  def logger
17
31
  return @log if @log
18
32
  @log = Logger.new(STDOUT)
@@ -27,7 +41,12 @@ module Lucid
27
41
 
28
42
  class LogFormatter < ::Logger::Formatter
29
43
  def call(severity, time, progname, msg)
30
- "\n[ LUCID (#{severity}) ] #{msg}"
44
+ if msg.is_a?(String)
45
+ "\n[ LUCID (#{severity}) ] #{msg}\n"
46
+ else
47
+ msg = Lucid.breakdown(msg)
48
+ "\n[ LUCID (#{severity}) ] \n#{msg}\n"
49
+ end
31
50
  end
32
51
  end
33
52
 
@@ -1,51 +1,44 @@
1
1
  module Lucid
2
2
  module Term
3
- # The ANSIColor module can be used for namespacing and mixed into your own
4
- # classes.
5
3
  module ANSIColor
6
- # :stopdoc:
7
4
  ATTRIBUTES = [
8
- [ :clear , 0 ],
9
- [ :reset , 0 ], # synonym for :clear
10
- [ :bold , 1 ],
11
- [ :dark , 2 ],
12
- [ :italic , 3 ], # not widely implemented
13
- [ :underline , 4 ],
14
- [ :underscore , 4 ], # synonym for :underline
15
- [ :blink , 5 ],
16
- [ :rapid_blink , 6 ], # not widely implemented
17
- [ :negative , 7 ], # no reverse because of String#reverse
18
- [ :concealed , 8 ],
19
- [ :strikethrough, 9 ], # not widely implemented
20
- [ :black , 30 ],
21
- [ :red , 31 ],
22
- [ :green , 32 ],
23
- [ :yellow , 33 ],
24
- [ :blue , 34 ],
25
- [ :magenta , 35 ],
26
- [ :cyan , 36 ],
27
- [ :white , 37 ],
28
- [ :on_black , 40 ],
29
- [ :on_red , 41 ],
30
- [ :on_green , 42 ],
31
- [ :on_yellow , 43 ],
32
- [ :on_blue , 44 ],
33
- [ :on_magenta , 45 ],
34
- [ :on_cyan , 46 ],
35
- [ :on_white , 47 ],
5
+ [:clear , 0],
6
+ [:reset , 0], # synonym for :clear
7
+ [:bold , 1],
8
+ [:dark , 2],
9
+ [:italic , 3], # not widely implemented
10
+ [:underline , 4],
11
+ [:underscore , 4], # synonym for :underline
12
+ [:blink , 5],
13
+ [:rapid_blink , 6], # not widely implemented
14
+ [:negative , 7], # no reverse because of String#reverse
15
+ [:concealed , 8],
16
+ [:strikethrough, 9], # not widely implemented
17
+ [:black , 30],
18
+ [:red , 31],
19
+ [:green , 32],
20
+ [:yellow , 33],
21
+ [:blue , 34],
22
+ [:magenta , 35],
23
+ [:cyan , 36],
24
+ [:white , 37],
25
+ [:on_black , 40],
26
+ [:on_red , 41],
27
+ [:on_green , 42],
28
+ [:on_yellow , 43],
29
+ [:on_blue , 44],
30
+ [:on_magenta , 45],
31
+ [:on_cyan , 46],
32
+ [:on_white , 47],
36
33
  ]
37
34
 
38
35
  ATTRIBUTE_NAMES = ATTRIBUTES.transpose.first
39
- # :startdoc:
40
36
 
41
- # Returns true, if the coloring function of this module
42
- # is switched on, false otherwise.
43
37
  def self.coloring?
44
38
  @coloring
45
39
  end
46
40
 
47
- # Turns the coloring on or off globally, so you can easily do
48
- # this for example:
41
+ # Example Usage:
49
42
  # Lucid::Term::ANSIColor::coloring = STDOUT.isatty
50
43
  def self.coloring=(val)
51
44
  @coloring = val
@@ -73,9 +66,9 @@ module Lucid
73
66
  end
74
67
 
75
68
  # Regular expression that is used to scan for ANSI-sequences while
76
- # uncoloring strings.
69
+ # there are uncolored strings.
77
70
  COLORED_REGEXP = /\e\[(?:[34][0-7]|[0-9])?m/
78
-
71
+
79
72
  def self.included(klass)
80
73
  if klass == String
81
74
  ATTRIBUTES.delete(:clear)
@@ -83,9 +76,9 @@ module Lucid
83
76
  end
84
77
  end
85
78
 
86
- # Returns an uncolored version of the string, that is all
87
- # ANSI-sequences are stripped from the string.
88
- def uncolored(string = nil) # :yields:
79
+ # Returns an uncolored version of the string. This means all
80
+ # ANSI-sequences will be stripped from the string.
81
+ def uncolored(string = nil)
89
82
  if block_given?
90
83
  yield.gsub(COLORED_REGEXP, '')
91
84
  elsif string
@@ -1,5 +1,5 @@
1
1
  require 'lucid/ast/comment'
2
- require 'lucid/ast/specs'
2
+ require 'lucid/ast/spec'
3
3
  require 'lucid/ast/feature'
4
4
  require 'lucid/ast/background'
5
5
  require 'lucid/ast/scenario'
@@ -14,7 +14,7 @@ require 'lucid/ast/tags'
14
14
  require 'lucid/ast/doc_string'
15
15
  require 'lucid/ast/outline_table'
16
16
  require 'lucid/ast/examples'
17
- require 'lucid/ast/tdl_walker'
17
+ require 'lucid/ast/walker'
18
18
 
19
19
  module Lucid
20
20
  module AST
@@ -83,7 +83,7 @@ module Lucid
83
83
  end
84
84
 
85
85
  def accept(visitor)
86
- if visitor.configuration.expand?
86
+ if visitor.context.expand?
87
87
  accept_expand(visitor)
88
88
  else
89
89
  visitor.visit_table_row(self) do
@@ -101,7 +101,7 @@ module Lucid
101
101
  else
102
102
  visitor.runtime.with_hooks(self) do
103
103
  @step_invocations.each do |step_invocation|
104
- step_invocation.invoke(visitor.runtime, visitor.configuration)
104
+ step_invocation.invoke(visitor.runtime, visitor.context)
105
105
  @exception ||= step_invocation.reported_exception
106
106
  end
107
107
 
@@ -1,6 +1,6 @@
1
1
  module Lucid
2
2
  module AST
3
- class Specs #:nodoc:
3
+ class Spec
4
4
  include Enumerable
5
5
 
6
6
  attr_reader :duration
@@ -17,6 +17,7 @@ module Lucid
17
17
  @features.each(&proc)
18
18
  end
19
19
 
20
+ # @see Lucid::SpecLoader.load
20
21
  def add_feature(feature)
21
22
  @features << feature
22
23
  end
@@ -30,6 +31,8 @@ module Lucid
30
31
  start = Time.now
31
32
 
32
33
  self.each do |feature|
34
+ log.debug('Feature AST:')
35
+ log.debug(feature)
33
36
  feature.accept(visitor)
34
37
  end
35
38
 
@@ -40,6 +43,12 @@ module Lucid
40
43
  def step_count
41
44
  @features.inject(0) { |total, feature| total += feature.step_count }
42
45
  end
46
+
47
+ private
48
+
49
+ def log
50
+ Lucid.logger
51
+ end
43
52
  end
44
53
  end
45
54
  end
@@ -1,10 +1,10 @@
1
- require 'lucid/core_ext/string'
1
+ require 'lucid/lang_extend'
2
2
  require 'lucid/step_match'
3
3
  require 'lucid/ast/location'
4
4
 
5
5
  module Lucid
6
6
  module AST
7
- class Step #:nodoc:
7
+ class Step
8
8
  include HasLocation
9
9
 
10
10
  attr_reader :keyword, :name, :language
@@ -15,7 +15,7 @@ module Lucid
15
15
 
16
16
  def initialize(language, location, keyword, name, multiline_arg=nil)
17
17
  @language, @location, @keyword, @name, @multiline_arg = language, location, keyword, name, multiline_arg
18
- @language || raise("Language is required!")
18
+ @language || raise('Language is required.')
19
19
  end
20
20
 
21
21
  attr_reader :gherkin_statement
@@ -5,7 +5,7 @@ require 'gherkin/rubify'
5
5
 
6
6
  module Lucid
7
7
  module AST
8
- class StepInvocation #:nodoc:
8
+ class StepInvocation
9
9
  attr_writer :step_collection, :background
10
10
  attr_reader :name, :matched_cells, :status, :reported_exception
11
11
  attr_accessor :exception
@@ -33,58 +33,58 @@ module Lucid
33
33
 
34
34
  def accept(visitor)
35
35
  visitor.visit_step(self) do
36
- invoke(visitor.runtime, visitor.configuration)
36
+ invoke(visitor.runtime, visitor.context)
37
37
  step_result.accept(visitor)
38
38
  end
39
39
  end
40
40
 
41
- def invoke(runtime, configuration)
42
- find_step_match!(runtime, configuration)
43
- unless @skip_invoke || configuration.dry_run? || @exception || @step_collection.exception
41
+ def invoke(runtime, context)
42
+ find_step_match!(runtime, context)
43
+ unless @skip_invoke || context.dry_run? || @exception || @step_collection.exception
44
44
  @skip_invoke = true
45
45
  begin
46
46
  @step_match.invoke(@multiline_arg)
47
47
  runtime.after_step
48
48
  status!(:passed)
49
49
  rescue Pending => e
50
- failed(configuration, e, false)
50
+ failed(context, e, false)
51
51
  status!(:pending)
52
52
  rescue Undefined => e
53
- failed(configuration, e, false)
53
+ failed(context, e, false)
54
54
  status!(:undefined)
55
55
  rescue Lucid::AST::Table::Different => e
56
56
  @different_table = e.table
57
- failed(configuration, e, false)
57
+ failed(context, e, false)
58
58
  status!(:failed)
59
59
  rescue Exception => e
60
- failed(configuration, e, false)
60
+ failed(context, e, false)
61
61
  status!(:failed)
62
62
  end
63
63
  end
64
64
  end
65
65
 
66
- def find_step_match!(runtime, configuration)
66
+ def find_step_match!(runtime, context)
67
67
  return if @step_match
68
68
  begin
69
69
  @step_match = runtime.step_match(@name)
70
70
  rescue Undefined => e
71
- failed(configuration, e, true)
71
+ failed(context, e, true)
72
72
  status!(:undefined)
73
73
  @step_match = NoStepMatch.new(@step, @name)
74
74
  rescue Ambiguous => e
75
- failed(configuration, e, false)
75
+ failed(context, e, false)
76
76
  status!(:failed)
77
77
  @step_match = NoStepMatch.new(@step, @name)
78
78
  end
79
79
  runtime.step_visited(self)
80
80
  end
81
81
 
82
- def failed(configuration, e, clear_backtrace)
82
+ def failed(context, e, clear_backtrace)
83
83
  e.set_backtrace([]) if e.backtrace.nil? || clear_backtrace
84
84
  e.backtrace << @step.backtrace_line unless @step.backtrace_line.nil?
85
85
  e = filter_backtrace(e)
86
86
  @exception = e
87
- if(configuration.strict? || !(Undefined === e) || e.nested?)
87
+ if(context.strict? || !(Undefined === e) || e.nested?)
88
88
  @reported_exception = e
89
89
  else
90
90
  @reported_exception = nil
@@ -92,7 +92,7 @@ module Lucid
92
92
  end
93
93
 
94
94
  BACKTRACE_FILTER_PATTERNS = [/vendor\/rails|lib\/lucid|bin\/lucid:|lib\/rspec|gems\/|minitest|test\/unit|\/\.gem\//]
95
-
95
+
96
96
  if(Lucid::JRUBY)
97
97
  BACKTRACE_FILTER_PATTERNS << /org\/jruby/
98
98
  end
@@ -101,7 +101,7 @@ module Lucid
101
101
 
102
102
  def filter_backtrace(e)
103
103
  return e if Lucid.use_full_backtrace
104
- e.backtrace.each{|line| line.gsub!(PWD_PATTERN, "./")}
104
+ e.backtrace.each{|line| line.gsub!(PWD_PATTERN, './')}
105
105
 
106
106
  filtered = (e.backtrace || []).reject do |line|
107
107
  BACKTRACE_FILTER_PATTERNS.detect { |p| line =~ p }