forrest 0.1.1 → 0.1.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/README.markdown CHANGED
@@ -13,48 +13,52 @@ Print the stories/scenarios list
13
13
  ==> Printing all stories/scenarios...
14
14
 
15
15
 
16
- + ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheBenchmarkForEachScenario%%--test/forrest_stories_test.rb
17
- |__ ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheBenchmarkForEachScenario#test_A_user_run_forrest_with_a_StoryName_as_a_param%%--test/forrest_stories_test.rb
16
+ + ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheBenchmarkForEachScenario
17
+ |__ ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheBenchmarkForEachScenario#test_A_user_run_forrest_with_a_StoryName_as_a_param
18
18
 
19
19
 
20
20
  + ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheStoriesReportInAVeryNiceFormat%%--test/forrest_stories_test.rb
21
- |__ ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheStoriesReportInAVeryNiceFormat#test_A_user_run_forrest_with_a_StoryName_as_a_param%%--test/forrest_stories_test.rb
21
+ |__ ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheStoriesReportInAVeryNiceFormat#test_A_user_run_forrest_with_a_StoryName_as_a_param
22
22
 
23
- |__ ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheStoriesReportInAVeryNiceFormat#test_A_user_run_forrest_with_a_filepath_as_a_param%%--test/forrest_stories_test.rb
23
+ |__ ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheStoriesReportInAVeryNiceFormat#test_A_user_run_forrest_with_a_filepath_as_a_param
24
24
 
25
25
  Loaded suite
26
26
 
27
27
  Run a specific story
28
28
  ----------------------
29
29
 
30
- $ forrest ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheBenchmarkForEachScenario%%--test/forrest_stories_test.rb
30
+ $ forrest ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheBenchmarkForEachScenario
31
31
 
32
- ==> Runing story...
32
+ ==> Runing story...
33
33
 
34
- Loaded suite ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheStoriesReportInAVeryNiceFormat
35
- Started
34
+ Loaded suite ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheStoriesReportInAVeryNiceFormat
35
+ Started
36
36
 
37
- - As a stories user I want to see the stories report in a very nice format
37
+ - As a stories user I want to see the stories report in a very nice format
38
38
 
39
- A user run forrest with a filepath as a param
40
- A user run forrest with a StoryName as a param
39
+ A user run forrest with a filepath as a param
40
+ A user run forrest with a StoryName as a param
41
41
 
42
- Finished in 0.001404 seconds.
42
+ Finished in 0.001404 seconds.
43
43
 
44
- 2 tests, 0 assertions, 0 failures, 0 errors
45
- 1 story, 2 scenarios
44
+ 2 tests, 0 assertions, 0 failures, 0 errors
45
+ 1 story, 2 scenarios
46
46
 
47
47
  Run a specific scenario
48
48
  -------------------------
49
49
 
50
- $ forrest ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheStoriesReportInAVeryNiceFormat#test_A_user_run_forrest_with_a_StoryName_as_a_param%%--test/forrest_stories_test.rb
50
+ $ forrest ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheStoriesReportInAVeryNiceFormat#test_A_user_run_forrest_with_a_StoryName_as_a_param
51
51
 
52
52
  ==> Runing scenario...
53
53
 
54
54
  test/forrest_stories_test
55
55
  Loaded suite test_A_user_run_forrest_with_a_filepath_as_a_param(ForrestStoriesTest::TestAsAStoriesUserIWantToSeeTheStoriesReportInAVeryNiceFormat)
56
56
  Started
57
- .
57
+
58
+ - As a stories user I want to see the stories report in a very nice format
59
+
60
+ A user run forrest with a StoryName as a param
61
+
58
62
  Finished in 0.000997 seconds.
59
63
 
60
64
  1 tests, 0 assertions, 0 failures, 0 errors
data/bin/forrest CHANGED
@@ -56,11 +56,36 @@ def extract_scenario(arg)
56
56
  scenario
57
57
  end
58
58
 
59
+ def require_rails_env_and_test_file
60
+ begin
61
+ require "config/environment"
62
+ rescue LoadError
63
+ begin
64
+ require "../config/environment"
65
+ rescue LoadError
66
+ begin
67
+ require "../../config/environment"
68
+ rescue LoadError
69
+ require "../../../config/environment"
70
+ end
71
+ end
72
+ end
73
+
74
+ begin
75
+ require "#{RAILS_ROOT}/test/stories/#{test_file_from_arg}"
76
+ rescue LoadError
77
+ begin
78
+ require "#{RAILS_ROOT}/test/integration/#{test_file_from_arg}"
79
+ rescue LoadError
80
+ require "#{RAILS_ROOT}/stories/#{test_file_from_arg}"
81
+ end
82
+ end
83
+ end
84
+
59
85
  def run_scenario(arg)
60
86
  @running = 'scenario'
61
87
  puts "==> Runing scenario...\n\n"
62
- require "config/environment"
63
- require "test/stories/#{test_file_from_arg}"
88
+ require_rails_env_and_test_file
64
89
 
65
90
  Stories::ForrestScenarioRunner.run(extract_scenario(arg))
66
91
  end
@@ -68,8 +93,7 @@ end
68
93
  def run_story(story_name)
69
94
  @running = 'story'
70
95
  puts "==> Runing story...\n\n"
71
- require "config/environment"
72
- require "test/stories/#{test_file_from_arg}"
96
+ require_rails_env_and_test_file
73
97
 
74
98
  Stories::ForrestRunner.run(story_name.constantize)
75
99
  end
data/forrest-0.1.1.gem ADDED
Binary file
data/forrest.gemspec CHANGED
@@ -2,7 +2,7 @@ require 'date'
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{forrest}
5
- s.version = "0.1.1"
5
+ s.version = "0.1.2"
6
6
  s.date = Date.today.to_s
7
7
  s.summary = %q{Forrest is a runner for stories framework, you can run one story inside of a file that have many stories, can run one scenario or print the list of stories inside a file.}
8
8
  s.description =<<DESCRIPTION
@@ -23,8 +23,7 @@ DESCRIPTION
23
23
  s.has_rdoc = true
24
24
  s.required_ruby_version = '>= 1.8'
25
25
 
26
- # s.add_dependency("rmagick", ">= 1.15.7")
27
- # s.add_dependency("OptionParser", ">= 0.5.1")
26
+ s.add_dependency("stories", ">= 0.1.0")
28
27
 
29
28
  s.files = Dir.glob("**/*").delete_if { |item| item.include?(".git") }
30
29
 
@@ -0,0 +1,44 @@
1
+ module Test
2
+ module Unit
3
+ class Error
4
+ # Returns a verbose version of the error description.
5
+
6
+ def long_display
7
+ backtrace = filter_backtrace(@exception.backtrace).join("\n ")
8
+ "#{colorize('Error:', :red)}\n" +
9
+ "#{colorize(filter_rails_html(message), :red)}\n#{backtrace}"
10
+ end
11
+
12
+ def filter_rails_html(str)
13
+ html = '<html xmlns="http://www.w3.org/1999/xhtml">
14
+ <head>
15
+ <title>Action Controller: Exception caught</title>
16
+ <style>
17
+ body { background-color: #fff; color: #333; }
18
+
19
+ body, p, ol, ul, td {
20
+ font-family: verdana, arial, helvetica, sans-serif;
21
+ font-size: 13px;
22
+ line-height: 18px;
23
+ }
24
+
25
+ pre {
26
+ background-color: #eee;
27
+ padding: 10px;
28
+ font-size: 11px;
29
+ }
30
+
31
+ a { color: #000; }
32
+ a:visited { color: #666; }
33
+ a:hover { color: #fff; background-color:#000; }
34
+ </style>
35
+ </head>
36
+ <body>
37
+
38
+ <h1>'
39
+ out = str.gsub(html, '')
40
+ out.split("\n")[0, 6].join("\n") + "..."
41
+ end
42
+ end
43
+ end
44
+ end
File without changes
@@ -0,0 +1,62 @@
1
+ require File.join(File.dirname(__FILE__), '../extensions/test/unit/error')
2
+
3
+ module Stories
4
+
5
+ class ForrestRunnerAll < Test::Unit::UI::Console::TestRunner
6
+ @@all_stories = []
7
+
8
+ def test_finished(name)
9
+ set_story
10
+ end
11
+
12
+ def add_fault(fault)
13
+ @faults << fault
14
+ end
15
+
16
+ def print_scenario(scenario)
17
+ scenario.steps.each do |step|
18
+ puts " #{step}"
19
+ end
20
+
21
+ scenario.assertions.each do |assertion|
22
+ puts " #{assertion}"
23
+ end
24
+
25
+ puts
26
+ end
27
+
28
+ def set_story
29
+ s ||= Story.new @suite.name
30
+ @story ||= Stories.all[s.name.constantize]
31
+ end
32
+
33
+ def print_story
34
+ set_story
35
+ puts @story.inspect
36
+ puts "- #{colorize(@story.name, :bold)} \n\n"
37
+
38
+ @story.scenarios.each do |scenario|
39
+ puts " #{scenario.name}"
40
+
41
+ unless scenario.steps.empty? && scenario.assertions.empty?
42
+ print_scenario scenario
43
+ end
44
+ end
45
+
46
+ end
47
+
48
+ def finished(elapsed_time)
49
+ puts
50
+ print_story
51
+ super
52
+ stories_count = 1
53
+ scenarios_count = 1 # @story.scenarios.size
54
+
55
+ puts colorize("#{stories_count} story, ", :bold) +
56
+ colorize(" #{scenarios_count} scenarios", :bold)
57
+
58
+ end
59
+
60
+ end
61
+
62
+ end
@@ -0,0 +1,57 @@
1
+ require File.join(File.dirname(__FILE__), '../extensions/test/unit/error')
2
+
3
+ module Stories
4
+
5
+ class ForrestRunner < Test::Unit::UI::Console::TestRunner
6
+ def test_finished(name)
7
+ set_story
8
+ end
9
+
10
+ def add_fault(fault)
11
+ @faults << fault
12
+ end
13
+
14
+ def set_story
15
+ s ||= Story.new @suite.name
16
+ @story ||= Stories.all[s.name.constantize]
17
+ end
18
+
19
+ def print_scenario(scenario)
20
+ scenario.steps.each do |step|
21
+ puts " #{step}"
22
+ end
23
+
24
+ scenario.assertions.each do |assertion|
25
+ puts " #{assertion}"
26
+ end
27
+
28
+ puts
29
+ end
30
+
31
+ def print_story
32
+ puts "- #{colorize(@story.name, :bold)} \n\n"
33
+
34
+ @story.scenarios.each do |scenario|
35
+ puts " #{scenario.name}"
36
+
37
+ unless scenario.steps.empty? && scenario.assertions.empty?
38
+ print_scenario scenario
39
+ end
40
+ end
41
+ end
42
+
43
+ def finished(elapsed_time)
44
+ puts
45
+ print_story
46
+ super
47
+ stories_count = 1
48
+ scenarios_count = @story.scenarios.size
49
+
50
+ puts colorize("#{stories_count} story, ", :bold) +
51
+ colorize(" #{scenarios_count} scenarios", :bold)
52
+
53
+ end
54
+
55
+ end
56
+
57
+ end
@@ -1,3 +1,5 @@
1
+ require File.join(File.dirname(__FILE__), '../extensions/test/unit/error')
2
+
1
3
  module Stories
2
4
 
3
5
  class ForrestRunner < Test::Unit::UI::Console::TestRunner
@@ -0,0 +1,57 @@
1
+ require File.join(File.dirname(__FILE__), '../extensions/test/unit/error')
2
+
3
+ module Stories
4
+
5
+ class ForrestRunner < Test::Unit::UI::Console::TestRunner
6
+ def test_finished(name)
7
+ set_story
8
+ end
9
+
10
+ def add_fault(fault)
11
+ @faults << fault
12
+ end
13
+
14
+ def set_story
15
+ s ||= Story.new @suite.name
16
+ @story ||= Stories.all[s.name.constantize]
17
+ end
18
+
19
+ def print_scenario(scenario)
20
+ scenario.steps.each do |step|
21
+ puts " #{step}"
22
+ end
23
+
24
+ scenario.assertions.each do |assertion|
25
+ puts " #{assertion}"
26
+ end
27
+
28
+ puts
29
+ end
30
+
31
+ def print_story
32
+ puts "- #{colorize(@story.name, :bold)} \n\n"
33
+
34
+ @story.scenarios.each do |scenario|
35
+ puts " #{scenario.name}"
36
+
37
+ unless scenario.steps.empty? && scenario.assertions.empty?
38
+ print_scenario scenario
39
+ end
40
+ end
41
+ end
42
+
43
+ def finished(elapsed_time)
44
+ puts
45
+ print_story
46
+ super
47
+ stories_count = 1
48
+ scenarios_count = @story.scenarios.size
49
+
50
+ puts colorize("#{stories_count} story, ", :bold) +
51
+ colorize(" #{scenarios_count} scenarios", :bold)
52
+
53
+ end
54
+
55
+ end
56
+
57
+ end
@@ -1,16 +1,4 @@
1
- module Test
2
- module Unit
3
- class Error
4
- # Returns a verbose version of the error description.
5
-
6
- def long_display
7
- backtrace = filter_backtrace(@exception.backtrace).join("\n ")
8
- "#{colorize('Error:', :red)}\n #{colorize(message, :red)}\n#{backtrace}"
9
- end
10
-
11
- end
12
- end
13
- end
1
+ require File.join(File.dirname(__FILE__), '../extensions/test/unit/error')
14
2
 
15
3
  module Stories
16
4
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 1
9
- version: 0.1.1
8
+ - 2
9
+ version: 0.1.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Gaston Ramos
@@ -14,10 +14,23 @@ autorequire: forrest
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-03-16 00:00:00 -03:00
17
+ date: 2010-03-21 00:00:00 -03:00
18
18
  default_executable: forrest
19
- dependencies: []
20
-
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: stories
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ - 1
30
+ - 0
31
+ version: 0.1.0
32
+ type: :runtime
33
+ version_requirements: *id001
21
34
  description: |
22
35
  Forrest is a runner for stories framework, you can run one story
23
36
  inside of a file that have many stories, can run one scenario
@@ -39,11 +52,16 @@ files:
39
52
  - forrest-0.1.1.gem
40
53
  - pri
41
54
  - forrest-0.1.0.gem
55
+ - lib/extensions/test/unit/error.rb~
56
+ - lib/extensions/test/unit/error.rb
42
57
  - lib/forrest/runner.rb
43
58
  - lib/forrest/scenario_runner.rb~
59
+ - lib/forrest/all_runner.rb~
44
60
  - lib/forrest/unix_console_styler.rb
61
+ - lib/forrest/all_runner.rb
45
62
  - lib/forrest/scenario_runner.rb
46
63
  - lib/forrest/runner.rb~
64
+ - lib/forrest/runner_flymake.rb
47
65
  - lib/object.rb
48
66
  - lib/object.rb~
49
67
  has_rdoc: true