dchelimsky-rspec-stories 1.0.0

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.
Files changed (79) hide show
  1. data/History.txt +5 -0
  2. data/License.txt +22 -0
  3. data/Manifest.txt +78 -0
  4. data/README.txt +23 -0
  5. data/Rakefile +87 -0
  6. data/init.rb +4 -0
  7. data/lib/spec/runner/formatter/story/html_formatter.rb +174 -0
  8. data/lib/spec/runner/formatter/story/plain_text_formatter.rb +194 -0
  9. data/lib/spec/runner/formatter/story/progress_bar_formatter.rb +42 -0
  10. data/lib/spec/runner/options_extensions.rb +25 -0
  11. data/lib/spec/stories.rb +11 -0
  12. data/lib/spec/story/extensions.rb +3 -0
  13. data/lib/spec/story/extensions/main.rb +86 -0
  14. data/lib/spec/story/extensions/regexp.rb +9 -0
  15. data/lib/spec/story/extensions/string.rb +9 -0
  16. data/lib/spec/story/given_scenario.rb +14 -0
  17. data/lib/spec/story/runner.rb +57 -0
  18. data/lib/spec/story/runner/plain_text_story_runner.rb +48 -0
  19. data/lib/spec/story/runner/scenario_collector.rb +18 -0
  20. data/lib/spec/story/runner/scenario_runner.rb +54 -0
  21. data/lib/spec/story/runner/story_mediator.rb +137 -0
  22. data/lib/spec/story/runner/story_parser.rb +247 -0
  23. data/lib/spec/story/runner/story_runner.rb +74 -0
  24. data/lib/spec/story/scenario.rb +14 -0
  25. data/lib/spec/story/step.rb +70 -0
  26. data/lib/spec/story/step_group.rb +89 -0
  27. data/lib/spec/story/step_mother.rb +38 -0
  28. data/lib/spec/story/story.rb +39 -0
  29. data/lib/spec/story/version.rb +15 -0
  30. data/lib/spec/story/world.rb +124 -0
  31. data/resources/rake/verify_rcov.rake +7 -0
  32. data/rspec-stories.gemspec +35 -0
  33. data/spec/spec.opts +6 -0
  34. data/spec/spec/runner/formatter/story/html_formatter_spec.rb +135 -0
  35. data/spec/spec/runner/formatter/story/plain_text_formatter_spec.rb +600 -0
  36. data/spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb +82 -0
  37. data/spec/spec/runner/most_recent_spec.rb +0 -0
  38. data/spec/spec/runner/options_extensions_spec.rb +31 -0
  39. data/spec/spec/runner/resources/a_bar.rb +0 -0
  40. data/spec/spec/runner/resources/a_foo.rb +0 -0
  41. data/spec/spec/runner/resources/a_spec.rb +1 -0
  42. data/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
  43. data/spec/spec/runner/resources/utf8_encoded.rb +7 -0
  44. data/spec/spec/runner_spec.rb +11 -0
  45. data/spec/spec/spec_classes.rb +133 -0
  46. data/spec/spec/story/builders.rb +46 -0
  47. data/spec/spec/story/extensions/main_spec.rb +161 -0
  48. data/spec/spec/story/extensions_spec.rb +14 -0
  49. data/spec/spec/story/given_scenario_spec.rb +27 -0
  50. data/spec/spec/story/runner/plain_text_story_runner_spec.rb +90 -0
  51. data/spec/spec/story/runner/scenario_collector_spec.rb +27 -0
  52. data/spec/spec/story/runner/scenario_runner_spec.rb +214 -0
  53. data/spec/spec/story/runner/story_mediator_spec.rb +143 -0
  54. data/spec/spec/story/runner/story_parser_spec.rb +401 -0
  55. data/spec/spec/story/runner/story_runner_spec.rb +294 -0
  56. data/spec/spec/story/runner_spec.rb +93 -0
  57. data/spec/spec/story/scenario_spec.rb +18 -0
  58. data/spec/spec/story/step_group_spec.rb +157 -0
  59. data/spec/spec/story/step_mother_spec.rb +84 -0
  60. data/spec/spec/story/step_spec.rb +272 -0
  61. data/spec/spec/story/story_helper.rb +2 -0
  62. data/spec/spec/story/story_spec.rb +84 -0
  63. data/spec/spec/story/world_spec.rb +423 -0
  64. data/spec/spec_helper.rb +84 -0
  65. data/story_server/prototype/javascripts/builder.js +136 -0
  66. data/story_server/prototype/javascripts/controls.js +972 -0
  67. data/story_server/prototype/javascripts/dragdrop.js +976 -0
  68. data/story_server/prototype/javascripts/effects.js +1117 -0
  69. data/story_server/prototype/javascripts/prototype.js +4140 -0
  70. data/story_server/prototype/javascripts/rspec.js +149 -0
  71. data/story_server/prototype/javascripts/scriptaculous.js +58 -0
  72. data/story_server/prototype/javascripts/slider.js +276 -0
  73. data/story_server/prototype/javascripts/sound.js +55 -0
  74. data/story_server/prototype/javascripts/unittest.js +568 -0
  75. data/story_server/prototype/lib/server.rb +24 -0
  76. data/story_server/prototype/stories.html +176 -0
  77. data/story_server/prototype/stylesheets/rspec.css +136 -0
  78. data/story_server/prototype/stylesheets/test.css +90 -0
  79. metadata +154 -0
@@ -0,0 +1,24 @@
1
+ require 'webrick'
2
+
3
+ class DispatchServlet < WEBrick::HTTPServlet::AbstractServlet
4
+ def do_POST(request, response)
5
+ File.open('story', 'w') do |io|
6
+ io.write(request.body)
7
+ end
8
+
9
+ response.status = 200
10
+ response['Content-Type'] = 'text/html'
11
+ response.body = "body"
12
+ end
13
+ end
14
+
15
+ params = { :Port => 4000,
16
+ :ServerType => WEBrick::SimpleServer,
17
+ :BindAddress => "0.0.0.0",
18
+ :MimeTypes => WEBrick::HTTPUtils::DefaultMimeTypes }
19
+ server = WEBrick::HTTPServer.new(params)
20
+ server.mount('/stories', DispatchServlet)
21
+ server.mount('/', WEBrick::HTTPServlet::FileHandler, File.dirname(__FILE__) + '/..', { :FancyIndexing => true })
22
+
23
+ trap("INT") { server.shutdown }
24
+ server.start
@@ -0,0 +1,176 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
+ <head>
7
+ <title>Stories</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9
+ <meta http-equiv="Expires" content="-1" />
10
+ <meta http-equiv="Pragma" content="no-cache" />
11
+ <script src="javascripts/prototype.js" type="text/javascript"></script>
12
+ <script src="javascripts/scriptaculous.js" type="text/javascript"></script>
13
+ <script src="javascripts/rspec.js" type="text/javascript"></script>
14
+ <script src="javascripts/unittest.js" type="text/javascript"></script>
15
+
16
+ <link href="stylesheets/rspec.css" rel="stylesheet" type="text/css" />
17
+ <link href="stylesheets/test.css" rel="stylesheet" type="text/css" />
18
+ </head>
19
+ <body>
20
+ <!--
21
+ Classes and ids that are only used by the Story UI, which don't have to be present in
22
+ the Example report:
23
+
24
+ #nav
25
+ #stock_steps
26
+ dl.story
27
+ ul.steps
28
+ -->
29
+ <div id="nav">
30
+ <a href="#" onclick="javascript:StoryDom.save();">SAVE</a>
31
+ </div>
32
+ <div id="container">
33
+ <ul id="stock_steps" style="display: none;">
34
+ <li>Given my savings account balance is $balance dollars</li>
35
+ <li>Given my cash account balance is $balance dollars</li>
36
+ <li>Given my $which account has been blocked for $n days</li>
37
+ <li>When I transfer $amount dollars</li>
38
+ <li>Then my savings account balance should be $balance dollars</li>
39
+ <li>Then my cash account balance should be $balance dollars</li>
40
+ </ul>
41
+ <dl class="story failed">
42
+ <dt>transfer to cash account</dt>
43
+ <dd>
44
+ <p>
45
+ As a savings account holder<br />
46
+ I want to transfer money from my savings account<br />
47
+ So that I can get cash easily from an ATM<br />
48
+ </p>
49
+ <dl class="passed">
50
+ <dt>savings account is in credit</dt>
51
+ <dd>
52
+ <ul class="steps">
53
+ <li class="passed">Given my savings account balance is <span class="param">100</span> dollars</li>
54
+ <li class="passed">Given my cash account balance is <span class="param">10</span> dollars</li>
55
+ <li class="passed">When I transfer <span class="param">20</span> dollars</li>
56
+ <li class="passed">Then my savings account balance should be <span class="param">80</span> dollars</li>
57
+ <li class="passed">Then my cash account balance should be <span class="param">30</span> dollars</li>
58
+ </ul>
59
+ </dd>
60
+ </dl>
61
+
62
+ <dl class="failed">
63
+ <dt>savings account is overdrawn</dt>
64
+ <dd>
65
+ <ul class="steps">
66
+ <li class="passed">Given my savings account balance is <span class="param">-20</span> dollars</li>
67
+ <li class="passed">Given my cash account balance is <span class="param">10</span> dollars</li>
68
+ <li class="passed">When I transfer <span class="param">20</span> dollars</li>
69
+ <li class="failed">Then my savings account balance should be <span class="param">-20</span> dollars</li>
70
+ <li class="failed">Then my cash account balance should be <span class="param">10</span> dollars</li>
71
+ <li class="pending">Then I should still be poor</li>
72
+ </ul>
73
+ </dd>
74
+ </dl>
75
+ </dd>
76
+ </dl>
77
+ <!-- More stories here... -->
78
+
79
+ <!-- Tests follow -->
80
+ <div id="testlog"> </div>
81
+ <script type="text/javascript" language="javascript" charset="utf-8">
82
+ // <![CDATA[
83
+ Test.context("RSpec editor tests (this won't be in the final editor - it's just self tests)",{
84
+ 'should extract story narrative': function() {
85
+ var narrative = StoryDom.narrativeText($$('p')[0].innerHTML);
86
+ narrative.shouldEqual(
87
+ " As a savings account holder\n" +
88
+ " I want to transfer money from my savings account\n" +
89
+ " So that I can get cash easily from an ATM\n"
90
+ );
91
+ },
92
+
93
+ 'should extract step text with two spans': function() {
94
+ var stepText = StoryDom.stepText('Given <span class="param">this</span> and <span class="param">that</span> stuff');
95
+ stepText.shouldEqual("Given this and that stuff");
96
+ },
97
+
98
+ 'should extract scenario': function() {
99
+ var scenario = StoryDom.scenario($$('dl')[1]);
100
+ scenario.shouldEqual(
101
+ " Scenario: savings account is in credit\n" +
102
+ " Given my savings account balance is 100 dollars\n" +
103
+ " Given my cash account balance is 10 dollars\n" +
104
+ " When I transfer 20 dollars\n" +
105
+ " Then my savings account balance should be 80 dollars\n" +
106
+ " Then my cash account balance should be 30 dollars\n"
107
+ );
108
+ },
109
+
110
+ 'should extract story from page': function() {
111
+ var story = StoryDom.story();
112
+ story.shouldEqual(
113
+ "Story: transfer to cash account\n" +
114
+ "\n" +
115
+ " As a savings account holder\n" +
116
+ " I want to transfer money from my savings account\n" +
117
+ " So that I can get cash easily from an ATM\n" +
118
+ "\n" +
119
+ " Scenario: savings account is in credit\n" +
120
+ " Given my savings account balance is 100 dollars\n" +
121
+ " Given my cash account balance is 10 dollars\n" +
122
+ " When I transfer 20 dollars\n" +
123
+ " Then my savings account balance should be 80 dollars\n" +
124
+ " Then my cash account balance should be 30 dollars\n" +
125
+ "\n" +
126
+ " Scenario: savings account is overdrawn\n" +
127
+ " Given my savings account balance is -20 dollars\n" +
128
+ " Given my cash account balance is 10 dollars\n" +
129
+ " When I transfer 20 dollars\n" +
130
+ " Then my savings account balance should be -20 dollars\n" +
131
+ " Then my cash account balance should be 10 dollars\n" +
132
+ " Then I should still be poor\n"
133
+ );
134
+ },
135
+
136
+ 'should extract stock steps from dom': function() {
137
+ var stockSteps = RSpec.stockSteps();
138
+ stockSteps.shouldEqualEnum([
139
+ 'Given my $which account has been blocked for $n days',
140
+ 'Given my cash account balance is $balance dollars',
141
+ 'Given my savings account balance is $balance dollars',
142
+ 'Then my cash account balance should be $balance dollars',
143
+ 'Then my savings account balance should be $balance dollars',
144
+ 'When I transfer $amount dollars'
145
+ ]);
146
+ },
147
+
148
+ 'should add new stock steps unless they already exist': function() {
149
+ RSpec.addStockStep('When Godzilla chews over a cable');
150
+ RSpec.stockSteps().shouldEqualEnum([
151
+ 'Given my $which account has been blocked for $n days',
152
+ 'Given my cash account balance is $balance dollars',
153
+ 'Given my savings account balance is $balance dollars',
154
+ 'Then my cash account balance should be $balance dollars',
155
+ 'Then my savings account balance should be $balance dollars',
156
+ 'When Godzilla chews over a cable',
157
+ 'When I transfer $amount dollars'
158
+ ]);
159
+ RSpec.addStockStep('When Godzilla chews over a cable');
160
+ RSpec.stockSteps().shouldEqualEnum([
161
+ 'Given my $which account has been blocked for $n days',
162
+ 'Given my cash account balance is $balance dollars',
163
+ 'Given my savings account balance is $balance dollars',
164
+ 'Then my cash account balance should be $balance dollars',
165
+ 'Then my savings account balance should be $balance dollars',
166
+ 'When Godzilla chews over a cable',
167
+ 'When I transfer $amount dollars'
168
+ ]);
169
+ }
170
+ });
171
+ // ]]>
172
+ </script>
173
+
174
+ </div>
175
+ </body>
176
+ </html>
@@ -0,0 +1,136 @@
1
+ body {
2
+ background: #fff;
3
+ font-size: 80%;
4
+ margin:0pt;
5
+ padding:0pt;
6
+ }
7
+
8
+ #nav {
9
+ border-bottom:1px solid #222222;
10
+ border-top-style:solid;
11
+ border-top-width:0.5em;
12
+ font-family:Helvetica,Arial,sans-serif;
13
+ font-size:1.1em;
14
+ padding:0.2em 0pt;
15
+ position:fixed;
16
+ text-align:center;
17
+ width:100%;
18
+ z-index:50;
19
+
20
+ background-color: #000000;
21
+ opacity: 0.6;
22
+ }
23
+
24
+ #container {
25
+ background:white none repeat scroll 0%;
26
+ font-family:Helvetica,Arial,sans-serif;
27
+ margin:0pt auto;
28
+ position:relative;
29
+ text-align:left;
30
+ top:4.0em;
31
+ width:78em;
32
+ }
33
+
34
+ dl {
35
+ font: normal 11px "Lucida Grande", Helvetica, sans-serif;
36
+ }
37
+
38
+ dt {
39
+ color: #fff;
40
+ }
41
+
42
+ dl.passed {
43
+ border-left: 5px solid #65C400;
44
+ }
45
+
46
+ dl.failed {
47
+ border-left: 5px solid #C20000;
48
+ }
49
+
50
+ dt {
51
+ padding: 3px;
52
+ font-weight: bold;
53
+ }
54
+
55
+ dd {
56
+ margin: 0px 0px 0px 0px;
57
+ }
58
+
59
+ dd p {
60
+ padding: 5px;
61
+ margin-top: 0;
62
+ margin-bottom: 5px;
63
+ }
64
+
65
+ dd > dl {
66
+ margin-left: 5px;
67
+ }
68
+
69
+ dl.passed > dt {
70
+ background: #65C400;
71
+ }
72
+
73
+ dl.failed > dt {
74
+ background: #C20000;
75
+ }
76
+
77
+ dl.passed > dd > p, li.passed {
78
+ background: #DBFFB4; color: #3D7700;
79
+ border-bottom: 1px solid #65C400;
80
+ }
81
+
82
+ dl.failed > dd > p, li.failed {
83
+ color: #C20000; background: #FFFBD3;
84
+ border-bottom: 1px solid #C20000;
85
+ }
86
+
87
+ dl.pending > dd > p, li.pending {
88
+ color: #131313; background: #FCFB98;
89
+ border-bottom: 1px solid #FAF834;
90
+ }
91
+
92
+ dl.new > dd > p, li.new {
93
+ color: #444444; background: #DDDDDD;
94
+ border-bottom: 1px solid #444444;
95
+ }
96
+
97
+ dl > dd > p.wastebin {
98
+ background-color: black;
99
+ }
100
+
101
+ span.param, span.param_editor {
102
+ font-weight: bold;
103
+ }
104
+
105
+ input {
106
+ width: 100%;
107
+ }
108
+
109
+ ul.steps {
110
+ padding: 0px;
111
+ list-style: none;
112
+ }
113
+
114
+ ul.steps > li {
115
+ margin: 5px 0px 5px 5px;
116
+ padding: 3px 3px 3px 5px;
117
+ }
118
+
119
+ div.auto_complete ul {
120
+ list-style-type: none;
121
+ border: 2px solid #F0F0F0;
122
+ margin: 0px;
123
+ padding: 0px;
124
+ }
125
+
126
+ div.auto_complete ul li {
127
+ background-color: white;
128
+ list-style-type: none;
129
+ display: block;
130
+ margin: 0;
131
+ padding: 2px;
132
+ }
133
+
134
+ div.auto_complete ul li.selected {
135
+ color: #444444; background: #DDDDDD;
136
+ }
@@ -0,0 +1,90 @@
1
+ body, div, p, h1, h2, h3, ul, ol, span, a, table, td, form, img, li {
2
+ font-family: sans-serif;
3
+ }
4
+
5
+ body {
6
+ font-size:0.8em;
7
+ }
8
+
9
+ .navigation {
10
+ background: #9DC569;
11
+ color: #fff;
12
+ }
13
+
14
+ .navigation h1 {
15
+ font-size: 20px;
16
+ }
17
+
18
+ .navigation h2 {
19
+ font-size: 16px;
20
+ font-weight: normal;
21
+ margin: 0;
22
+ border: 1px solid #e8a400;
23
+ border-bottom: 0;
24
+ background: #ffc;
25
+ color: #E8A400;
26
+ padding: 8px;
27
+ padding-bottom: 0;
28
+ }
29
+
30
+ .navigation ul {
31
+ margin-top: 0;
32
+ border: 1px solid #E8A400;
33
+ border-top: none;
34
+ background: #ffc;
35
+ padding: 8px;
36
+ margin-left: 0;
37
+ }
38
+
39
+ .navigation ul li {
40
+ font-size: 12px;
41
+ list-style-type: none;
42
+ margin-top: 1px;
43
+ margin-bottom: 1px;
44
+ color: #555;
45
+ }
46
+
47
+ .navigation a {
48
+ color: #ffc;
49
+ }
50
+
51
+ .navigation ul li a {
52
+ color: #000;
53
+ }
54
+
55
+ #log {
56
+ padding-bottom: 1em;
57
+ border-bottom: 2px solid #000;
58
+ margin-bottom: 2em;
59
+ }
60
+
61
+ #logsummary {
62
+ margin-bottom: 1em;
63
+ padding: 1ex;
64
+ border: 1px solid #000;
65
+ font-weight: bold;
66
+ }
67
+
68
+ #logtable {
69
+ width:100%;
70
+ border-collapse: collapse;
71
+ border: 1px dotted #666;
72
+ }
73
+
74
+ #logtable td, #logtable th {
75
+ text-align: left;
76
+ padding: 3px 8px;
77
+ border: 1px dotted #666;
78
+ }
79
+
80
+ #logtable .passed {
81
+ background-color: #cfc;
82
+ }
83
+
84
+ #logtable .failed, #logtable .error {
85
+ background-color: #fcc;
86
+ }
87
+
88
+ #logtable .nameCell {
89
+ cursor: pointer;
90
+ }
metadata ADDED
@@ -0,0 +1,154 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dchelimsky-rspec-stories
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - RSpec Development Team
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-01-12 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rspec
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.1.11
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: hoe
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.8.2
34
+ version:
35
+ description: Behaviour Driven Development for Ruby.
36
+ email:
37
+ - rspec-devel@rubyforge.org
38
+ executables: []
39
+
40
+ extensions: []
41
+
42
+ extra_rdoc_files:
43
+ - History.txt
44
+ - License.txt
45
+ - Manifest.txt
46
+ - README.txt
47
+ files:
48
+ - History.txt
49
+ - License.txt
50
+ - Manifest.txt
51
+ - README.txt
52
+ - Rakefile
53
+ - init.rb
54
+ - lib/spec/runner/formatter/story/html_formatter.rb
55
+ - lib/spec/runner/formatter/story/plain_text_formatter.rb
56
+ - lib/spec/runner/formatter/story/progress_bar_formatter.rb
57
+ - lib/spec/runner/options_extensions.rb
58
+ - lib/spec/stories.rb
59
+ - lib/spec/story/extensions.rb
60
+ - lib/spec/story/extensions/main.rb
61
+ - lib/spec/story/extensions/regexp.rb
62
+ - lib/spec/story/extensions/string.rb
63
+ - lib/spec/story/given_scenario.rb
64
+ - lib/spec/story/runner.rb
65
+ - lib/spec/story/runner/plain_text_story_runner.rb
66
+ - lib/spec/story/runner/scenario_collector.rb
67
+ - lib/spec/story/runner/scenario_runner.rb
68
+ - lib/spec/story/runner/story_mediator.rb
69
+ - lib/spec/story/runner/story_parser.rb
70
+ - lib/spec/story/runner/story_runner.rb
71
+ - lib/spec/story/scenario.rb
72
+ - lib/spec/story/step.rb
73
+ - lib/spec/story/step_group.rb
74
+ - lib/spec/story/step_mother.rb
75
+ - lib/spec/story/story.rb
76
+ - lib/spec/story/version.rb
77
+ - lib/spec/story/world.rb
78
+ - resources/rake/verify_rcov.rake
79
+ - rspec-stories.gemspec
80
+ - spec/spec.opts
81
+ - spec/spec/runner/formatter/story/html_formatter_spec.rb
82
+ - spec/spec/runner/formatter/story/plain_text_formatter_spec.rb
83
+ - spec/spec/runner/formatter/story/progress_bar_formatter_spec.rb
84
+ - spec/spec/runner/most_recent_spec.rb
85
+ - spec/spec/runner/options_extensions_spec.rb
86
+ - spec/spec/runner/resources/a_bar.rb
87
+ - spec/spec/runner/resources/a_foo.rb
88
+ - spec/spec/runner/resources/a_spec.rb
89
+ - spec/spec/runner/resources/custom_example_group_runner.rb
90
+ - spec/spec/runner/resources/utf8_encoded.rb
91
+ - spec/spec/runner_spec.rb
92
+ - spec/spec/spec_classes.rb
93
+ - spec/spec/story/builders.rb
94
+ - spec/spec/story/extensions/main_spec.rb
95
+ - spec/spec/story/extensions_spec.rb
96
+ - spec/spec/story/given_scenario_spec.rb
97
+ - spec/spec/story/runner/plain_text_story_runner_spec.rb
98
+ - spec/spec/story/runner/scenario_collector_spec.rb
99
+ - spec/spec/story/runner/scenario_runner_spec.rb
100
+ - spec/spec/story/runner/story_mediator_spec.rb
101
+ - spec/spec/story/runner/story_parser_spec.rb
102
+ - spec/spec/story/runner/story_runner_spec.rb
103
+ - spec/spec/story/runner_spec.rb
104
+ - spec/spec/story/scenario_spec.rb
105
+ - spec/spec/story/step_group_spec.rb
106
+ - spec/spec/story/step_mother_spec.rb
107
+ - spec/spec/story/step_spec.rb
108
+ - spec/spec/story/story_helper.rb
109
+ - spec/spec/story/story_spec.rb
110
+ - spec/spec/story/world_spec.rb
111
+ - spec/spec_helper.rb
112
+ - story_server/prototype/javascripts/builder.js
113
+ - story_server/prototype/javascripts/controls.js
114
+ - story_server/prototype/javascripts/dragdrop.js
115
+ - story_server/prototype/javascripts/effects.js
116
+ - story_server/prototype/javascripts/prototype.js
117
+ - story_server/prototype/javascripts/rspec.js
118
+ - story_server/prototype/javascripts/scriptaculous.js
119
+ - story_server/prototype/javascripts/slider.js
120
+ - story_server/prototype/javascripts/sound.js
121
+ - story_server/prototype/javascripts/unittest.js
122
+ - story_server/prototype/lib/server.rb
123
+ - story_server/prototype/stories.html
124
+ - story_server/prototype/stylesheets/rspec.css
125
+ - story_server/prototype/stylesheets/test.css
126
+ has_rdoc: true
127
+ homepage: http://rspec.info/
128
+ post_install_message:
129
+ rdoc_options:
130
+ - --main
131
+ - README.txt
132
+ require_paths:
133
+ - lib
134
+ required_ruby_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: "0"
139
+ version:
140
+ required_rubygems_version: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: "0"
145
+ version:
146
+ requirements: []
147
+
148
+ rubyforge_project: rspec-stories
149
+ rubygems_version: 1.2.0
150
+ signing_key:
151
+ specification_version: 2
152
+ summary: rspec-stories 1.0.0
153
+ test_files: []
154
+