RSpec-Steps 0.0.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.
Files changed (129) hide show
  1. data/doc/README +2 -0
  2. data/doc/Specifications +17 -0
  3. data/doc/coverage/index.html +154 -0
  4. data/doc/coverage/jquery-1.3.2.min.js +19 -0
  5. data/doc/coverage/jquery.tablesorter.min.js +15 -0
  6. data/doc/coverage/lib-rspec-steps-duckpunch-example-group_rb.html +129 -0
  7. data/doc/coverage/lib-rspec-steps-duckpunch-object-extensions_rb.html +123 -0
  8. data/doc/coverage/lib-rspec-steps-stepwise_rb.html +297 -0
  9. data/doc/coverage/lib-rspec-steps_rb.html +81 -0
  10. data/doc/coverage/print.css +12 -0
  11. data/doc/coverage/rcov-ruby-1_8-gems-diff-lcs-1_1_2-lib-diff-lcs-block_rb.html +369 -0
  12. data/doc/coverage/rcov-ruby-1_8-gems-diff-lcs-1_1_2-lib-diff-lcs-callbacks_rb.html +1995 -0
  13. data/doc/coverage/rcov-ruby-1_8-gems-diff-lcs-1_1_2-lib-diff-lcs-change_rb.html +1077 -0
  14. data/doc/coverage/rcov-ruby-1_8-gems-diff-lcs-1_1_2-lib-diff-lcs-hunk_rb.html +1605 -0
  15. data/doc/coverage/rcov-ruby-1_8-gems-diff-lcs-1_1_2-lib-diff-lcs_rb.html +6693 -0
  16. data/doc/coverage/rcov-ruby-1_8-gems-rcov-0_9_9-lib-rcov-code_coverage_analyzer_rb.html +1689 -0
  17. data/doc/coverage/rcov-ruby-1_8-gems-rcov-0_9_9-lib-rcov-differential_analyzer_rb.html +759 -0
  18. data/doc/coverage/rcov-ruby-1_8-gems-rspec-2_5_0-lib-rspec-version_rb.html +93 -0
  19. data/doc/coverage/rcov-ruby-1_8-gems-rspec-2_5_0-lib-rspec_rb.html +87 -0
  20. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-backward_compatibility_rb.html +351 -0
  21. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-command_line_configuration_rb.html +435 -0
  22. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-command_line_rb.html +273 -0
  23. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-configuration_options_rb.html +819 -0
  24. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-configuration_rb.html +2883 -0
  25. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-deprecation_rb.html +333 -0
  26. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-drb_command_line_rb.html +237 -0
  27. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-errors_rb.html +147 -0
  28. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-example_group_rb.html +1863 -0
  29. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-example_rb.html +1065 -0
  30. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-expecting-with_rspec_rb.html +129 -0
  31. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-extensions-instance_eval_with_args_rb.html +297 -0
  32. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-extensions-kernel_rb.html +93 -0
  33. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-extensions-module_eval_with_args_rb.html +267 -0
  34. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-extensions-object_rb.html +147 -0
  35. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-extensions_rb.html +87 -0
  36. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-formatters-base_formatter_rb.html +1035 -0
  37. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-formatters-base_text_formatter_rb.html +1053 -0
  38. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-formatters-documentation_formatter_rb.html +489 -0
  39. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-formatters-helpers_rb.html +231 -0
  40. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-hooks_rb.html +957 -0
  41. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-let_rb.html +669 -0
  42. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-load_path_rb.html +81 -0
  43. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-metadata_rb.html +1185 -0
  44. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-mocking-with_rspec_rb.html +189 -0
  45. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-option_parser_rb.html +855 -0
  46. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-pending_rb.html +243 -0
  47. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-reporter_rb.html +537 -0
  48. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-ruby_project_rb.html +327 -0
  49. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-runner_rb.html +429 -0
  50. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-shared_context_rb.html +159 -0
  51. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-shared_example_group_rb.html +381 -0
  52. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-subject_rb.html +1125 -0
  53. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-version_rb.html +105 -0
  54. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core-world_rb.html +675 -0
  55. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-core_rb.html +453 -0
  56. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-monkey-spork-test_framework-rspec_rb.html +105 -0
  57. data/doc/coverage/rcov-ruby-1_8-gems-rspec-core-2_5_1-lib-rspec-monkey_rb.html +69 -0
  58. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-backward_compatibility_rb.html +159 -0
  59. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-deprecation_rb.html +279 -0
  60. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-differ_rb.html +435 -0
  61. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-errors_rb.html +135 -0
  62. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-extensions-array_rb.html +105 -0
  63. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-extensions-kernel_rb.html +375 -0
  64. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-extensions_rb.html +75 -0
  65. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-fail_with_rb.html +369 -0
  66. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-handler_rb.html +363 -0
  67. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations-version_rb.html +105 -0
  68. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-expectations_rb.html +297 -0
  69. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-be_close_rb.html +165 -0
  70. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-be_instance_of_rb.html +219 -0
  71. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-be_kind_of_rb.html +219 -0
  72. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-be_rb.html +1395 -0
  73. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-be_within_rb.html +303 -0
  74. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-block_aliases_rb.html +177 -0
  75. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-change_rb.html +1203 -0
  76. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-compatibility_rb.html +147 -0
  77. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-dsl_rb.html +189 -0
  78. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-eq_rb.html +363 -0
  79. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-eql_rb.html +333 -0
  80. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-equal_rb.html +381 -0
  81. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-errors_rb.html +93 -0
  82. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-exist_rb.html +219 -0
  83. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-extensions-instance_exec_rb.html +249 -0
  84. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-generated_descriptions_rb.html +279 -0
  85. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-has_rb.html +273 -0
  86. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-have_rb.html +969 -0
  87. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-include_rb.html +387 -0
  88. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-match_array_rb.html +489 -0
  89. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-match_rb.html +189 -0
  90. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-matcher_rb.html +1029 -0
  91. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-method_missing_rb.html +135 -0
  92. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-operator_matcher_rb.html +585 -0
  93. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-pretty_rb.html +285 -0
  94. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-raise_error_rb.html +843 -0
  95. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-respond_to_rb.html +573 -0
  96. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-satisfy_rb.html +369 -0
  97. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers-throw_symbol_rb.html +789 -0
  98. data/doc/coverage/rcov-ruby-1_8-gems-rspec-expectations-2_5_0-lib-rspec-matchers_rb.html +1239 -0
  99. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-argument_expectation_rb.html +381 -0
  100. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-argument_matchers_rb.html +1461 -0
  101. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-error_generator_rb.html +645 -0
  102. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-errors_rb.html +123 -0
  103. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-extensions-instance_exec_rb.html +249 -0
  104. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-extensions-marshal_rb.html +225 -0
  105. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-framework_rb.html +165 -0
  106. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-message_expectation_rb.html +2169 -0
  107. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-method_double_rb.html +1053 -0
  108. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-methods_rb.html +663 -0
  109. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-mock_rb.html +537 -0
  110. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-order_group_rb.html +237 -0
  111. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-proxy_rb.html +1011 -0
  112. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-serialization_rb.html +219 -0
  113. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-space_rb.html +231 -0
  114. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-spec_methods_rb.html +381 -0
  115. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks-version_rb.html +105 -0
  116. data/doc/coverage/rcov-ruby-1_8-gems-rspec-mocks-2_5_0-lib-rspec-mocks_rb.html +1239 -0
  117. data/doc/coverage/rcov.js +42 -0
  118. data/doc/coverage/screen.css +270 -0
  119. data/lib/rspec-steps.rb +3 -0
  120. data/lib/rspec-steps/duckpunch/example-group.rb +11 -0
  121. data/lib/rspec-steps/duckpunch/object-extensions.rb +10 -0
  122. data/lib/rspec-steps/stepwise.rb +39 -0
  123. data/spec/example_group.rb +75 -0
  124. data/spec_help/file-sandbox.rb +164 -0
  125. data/spec_help/gem_test_suite.rb +17 -0
  126. data/spec_help/rspec-sandbox.rb +86 -0
  127. data/spec_help/spec_helper.rb +4 -0
  128. data/spec_help/ungemmer.rb +36 -0
  129. metadata +423 -0
@@ -0,0 +1,42 @@
1
+ function toggleCode( id ) {
2
+ if ( document.getElementById ) {
3
+ elem = document.getElementById( id );
4
+ } else if ( document.all ) {
5
+ elem = eval( "document.all." + id );
6
+ } else {
7
+ return false;
8
+ }
9
+
10
+ elemStyle = elem.style;
11
+
12
+ if ( elemStyle.display != "block" ) {
13
+ elemStyle.display = "block";
14
+ } else {
15
+ elemStyle.display = "none";
16
+ }
17
+
18
+ return true;
19
+ }
20
+
21
+ function restripe() {
22
+ i = 0;
23
+ $('table#report_table tbody tr').each(function(){
24
+ if (this.style.display != "none") {
25
+ i += 1;
26
+ classes = this.className.split(" ");
27
+ if ($.inArray("even",classes) != -1) {
28
+ classes.splice($.inArray("even",classes),1);
29
+ } else if ($.inArray("odd",classes) != -1) {
30
+ classes.splice($.inArray("odd",classes),1);
31
+ }
32
+ if (i % 2 === 0) {
33
+ this.className = classes.join(" ") + " odd";
34
+ } else {
35
+ this.className = classes.join(" ") + " even";
36
+ }
37
+ }
38
+ });
39
+ }
40
+
41
+ // Fix IE's lack of support for indexOf (!)
42
+ if (!Array.indexOf) { Array.prototype.indexOf = function(obj){ for(var i=0; i<this.length; i++){ if(this[i]==obj){return i;} } return -1; }}
@@ -0,0 +1,270 @@
1
+ /* @group General */
2
+
3
+ body {
4
+ font-family: Verdana, Helvetica, Arial, Sans-Serif;
5
+ font-size: 12px;
6
+ color: #4C4C4C;
7
+ background-color: #F4F2ED;
8
+ padding: 1em;
9
+ }
10
+
11
+ a:link {
12
+ color: #191919;
13
+ }
14
+
15
+ a:visited {
16
+ color: #191919;
17
+ }
18
+
19
+ pre, code {
20
+ color: #000000;
21
+ font-family: "Bitstream Vera Sans Mono","Monaco","Courier New",monospace;
22
+ font-size: 95%;
23
+ line-height: 1.3em;
24
+ margin-top: 0;
25
+ margin-bottom: 0;
26
+ padding: 0;
27
+ word-wrap: break-word;
28
+ }
29
+
30
+ h1, h2, h3, h4, h5, h6 {
31
+ margin: 0em 0em 1em 0em;
32
+ color: #666666;
33
+ }
34
+
35
+ h1 {
36
+ display: block;
37
+ font-size: 2em;
38
+ letter-spacing: -1px;
39
+ }
40
+
41
+ h2 {
42
+ margin-top: -1em;
43
+ }
44
+
45
+ fieldset {
46
+ display: inline;
47
+ border: 0px;
48
+ padding: 0px;
49
+ margin-right: 1em;
50
+ }
51
+
52
+ div.filters {
53
+ margin-bottom: 1em;
54
+ }
55
+
56
+ .hidden {
57
+ display: none;
58
+ }
59
+
60
+ /* @end */
61
+
62
+ /* @group Cross-References */
63
+
64
+ span.cross-ref-title {
65
+ font-size: 140%;
66
+ }
67
+
68
+ span.cross-ref a {
69
+ text-decoration: none;
70
+ }
71
+
72
+ span.cross-ref {
73
+ background-color:#f3f7fa;
74
+ border: 1px dashed #333;
75
+ margin: 1em;
76
+ padding: 0.5em;
77
+ overflow: hidden;
78
+ }
79
+
80
+ a.crossref-toggle {
81
+ text-decoration: none;
82
+ }
83
+
84
+ /* @end */
85
+
86
+ /* @group Report Table */
87
+
88
+ div.report_table_wrapper {
89
+ min-width: 900px;
90
+ }
91
+
92
+ table.report {
93
+ border-collapse: collapse;
94
+ border: 1px solid #666666;
95
+ width: 100%;
96
+ margin-bottom: 1em;
97
+ }
98
+
99
+ table.report tr {
100
+ line-height: 1.75em;
101
+ }
102
+
103
+ table.report th {
104
+ background: #666666;
105
+ color: #ffffff;
106
+ text-align: right;
107
+ text-transform: uppercase;
108
+ font-size: .8em;
109
+ font-weight: bold;
110
+ padding: 0em .5em;
111
+ border: 1px solid #666666;
112
+ }
113
+
114
+ table.report tfoot tr {
115
+ background: #dddddd;
116
+ font-weight: bold;
117
+ padding: .5em;
118
+ border: 1px solid #666666;
119
+ }
120
+
121
+ th.left_align, td.left_align {
122
+ text-align: left !important;
123
+ }
124
+
125
+ th.right_align, td.right_align {
126
+ text-align: right;
127
+ padding-right: 2em !important;
128
+ }
129
+
130
+ table.report th.header:hover {
131
+ cursor: pointer;
132
+ text-decoration: underline;
133
+ }
134
+
135
+ table.report th.headerSortUp:after{
136
+ content: "\25BC";
137
+ margin-left: 1em;
138
+ }
139
+
140
+ table.report th.headerSortDown:after {
141
+ content: "\25B2";
142
+ margin-left: 1em;
143
+ }
144
+
145
+ table.report tr.summary_row {
146
+ background: #cccccc;
147
+ border: 1px solid #cccccc;
148
+ }
149
+
150
+ table.report tr.summary_row td {
151
+ padding-left: .2em !important;
152
+ color: #333333;
153
+ font-weight: bold;
154
+ }
155
+
156
+ table.report td {
157
+ padding: .2em .5em .2em .5em;
158
+ }
159
+
160
+ table.report td a {
161
+ text-decoration: none;
162
+ }
163
+
164
+ table.report tbody tr:hover {
165
+ background: #cccccc !important;
166
+ }
167
+
168
+ table.report tr.summary_row td {
169
+ border-bottom: 1px solid #aaaaaa;
170
+ }
171
+
172
+ table.report tr {
173
+ background-color: #eeeeee;
174
+ }
175
+
176
+ table.report tr.odd {
177
+ background-color: #dddddd;
178
+ }
179
+
180
+ /* @end */
181
+
182
+ /* @group Percentage Graphs */
183
+
184
+ div.percent_graph_legend {
185
+ width: 5.5em;
186
+ float: left;
187
+ margin: .5em 1em .5em 0em;
188
+ height: 1em;
189
+ line-height: 1em;
190
+ }
191
+
192
+ div.percent_graph {
193
+ height: 1em;
194
+ border: #333333 1px solid;
195
+ empty-cells: show;
196
+ padding: 0px;
197
+ border-collapse: collapse;
198
+ width: 100px !important;
199
+ float: left;
200
+ margin: .5em 1em .5em 0em;
201
+ }
202
+
203
+ div.percent_graph div {
204
+ float: left;
205
+ height: 1em;
206
+ padding: 0px !important;
207
+ }
208
+
209
+ div.percent_graph div.covered {
210
+ background: #649632;
211
+ }
212
+
213
+ div.percent_graph div.uncovered {
214
+ background: #a92730;
215
+ }
216
+
217
+ div.percent_graph div.NA {
218
+ background: #eaeaea;
219
+ }
220
+
221
+ /* @end */
222
+
223
+ /* @group Details page */
224
+
225
+ table.details {
226
+ margin-top: 1em;
227
+ border-collapse: collapse;
228
+ width: 100%;
229
+ border: 1px solid #666666;
230
+ }
231
+
232
+ table.details tr {
233
+ line-height: 1.75em;
234
+ }
235
+
236
+ table.details td {
237
+ padding: .25em;
238
+ }
239
+
240
+ span.inferred, span.inferred1, span.marked, span.marked1, span.uncovered, span.uncovered1 {
241
+ display: block;
242
+ padding: .25em;
243
+ }
244
+
245
+ tr.inferred td, span.inferred {
246
+ background-color: #e0dedb;
247
+ }
248
+
249
+ tr.inferred1 td, span.inferred1 {
250
+ background-color: #e0dedb;
251
+ }
252
+
253
+ tr.marked td, span.marked, span.marked1 {
254
+ background-color: #bed2be;
255
+ }
256
+
257
+ tr.uncovered td, span.uncovered {
258
+ background-color: #ce8b8c;
259
+ }
260
+
261
+ tr.uncovered1 td, span.uncovered1 {
262
+ background-color: #ce8b8c;
263
+ }
264
+
265
+ div.key {
266
+ border: 1px solid #666666;
267
+ margin: 1em 0em;
268
+ }
269
+
270
+ /* @end */
@@ -0,0 +1,3 @@
1
+ require 'rspec-steps/duckpunch/object-extensions'
2
+ require 'rspec-steps/duckpunch/example-group'
3
+
@@ -0,0 +1,11 @@
1
+ require 'rspec-steps/stepwise'
2
+
3
+ module RSpec::Core
4
+ class ExampleGroup
5
+ def self.steps(*args, &example_group_block)
6
+ group = describe(*args, &example_group_block)
7
+ group.extend RSpecStepwise
8
+ group
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ require 'rspec-steps/stepwise'
2
+
3
+ module RSpec::Core
4
+ module ObjectExtensions
5
+ def steps(*args, &example_group_block)
6
+ args << {} unless args.last.is_a?(Hash)
7
+ RSpec::Core::ExampleGroup.steps(*args, &example_group_block).register
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,39 @@
1
+ module RSpecStepwise
2
+ #TODO: This is hacky and needs a more general solution
3
+ #Something like cloning the current conf and having RSpec::Stepwise::config ?
4
+ def suspend_transactional_fixtures
5
+ if self.respond_to? :use_transactional_fixtures
6
+ old_val = self.use_transactional_fixtures
7
+ self.use_transactional_fixtures = false
8
+
9
+ yield
10
+
11
+ self.use_transactional_fixtures = old_val
12
+ else
13
+ yield
14
+ end
15
+ end
16
+
17
+ def run_examples(reporter)
18
+ instance = new
19
+ set_ivars(instance, before_all_ivars)
20
+
21
+ suspend_transactional_fixtures do
22
+ filtered_examples.inject(true) do |success, example|
23
+ break if RSpec.wants_to_quit
24
+ unless success
25
+ reporter.example_started(example)
26
+ example.metadata[:pending] = true
27
+ example.metadata[:execution_result][:pending_message] = "Previous step failed"
28
+ example.metadata[:execution_result][:started_at] = Time.now
29
+ example.instance_eval{ record_finished :pending, :pending_message => "Previous step failed" }
30
+ reporter.example_pending(example)
31
+ next
32
+ end
33
+ succeeded = example.run(instance, reporter)
34
+ RSpec.wants_to_quit = true if fail_fast? && !succeeded
35
+ success && succeeded
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,75 @@
1
+ require 'rspec-steps'
2
+ require 'rspec-sandbox'
3
+
4
+ describe RSpec::Core::ExampleGroup, "defined as stepwise" do
5
+ describe "::steps" do
6
+ it "should create an ExampleGroup that includes RSpec::Stepwise" do
7
+ group = nil
8
+ sandboxed do
9
+ group = steps "Test Steps" do
10
+ end
11
+ end
12
+ (class << group; self; end).included_modules.should include(RSpecStepwise)
13
+ end
14
+ end
15
+
16
+ describe "with Stepwise included" do
17
+ it "should retain instance variables between steps" do
18
+ group = nil
19
+ sandboxed do
20
+ group = steps "Test Steps" do
21
+ it { @a = 1 }
22
+ it { @a.should == 1}
23
+ end
24
+ group.run
25
+ end
26
+
27
+ group.examples.each do |example|
28
+ example.metadata[:execution_result][:status].should == 'passed'
29
+ end
30
+ end
31
+
32
+ it "should mark later examples as pending if one fails" do
33
+ group = nil
34
+ sandboxed do
35
+ group = steps "Test Steps" do
36
+ it { fail "All others fail" }
37
+ it { 1.should == 1 }
38
+ end
39
+ group.run
40
+ end
41
+
42
+ group.examples[1].metadata[:pending].should be_true
43
+ end
44
+
45
+ it "should allow nested steps" do
46
+ group = nil
47
+ sandboxed do
48
+ group = steps "Test Steps" do
49
+ steps "Nested" do
50
+ it { @a = 1 }
51
+ it { @a.should == 1}
52
+ end
53
+ end
54
+ group.run
55
+ end
56
+
57
+ group.children[0].examples.each do |example|
58
+ example.metadata[:execution_result][:status].should == 'passed'
59
+ end
60
+ group.children[0].should have(2).examples
61
+ end
62
+
63
+ it "should not allow nested normal contexts" do
64
+ pending "A correct approach - in the meantime, this behavior is undefined"
65
+ expect {
66
+ sandboxed do
67
+ steps "Basic" do
68
+ describe "Not allowed" do
69
+ end
70
+ end
71
+ end
72
+ }.to raise_error
73
+ end
74
+ end
75
+ end