bluecloth 2.0.3 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/spec/lib/matchers.rb CHANGED
@@ -13,7 +13,7 @@ module BlueCloth::Matchers
13
13
  ### Matcher for comparing output of a BlueCloth-generated HTML fragment against a known-good
14
14
  ### string.
15
15
  class TransformMatcher
16
-
16
+
17
17
  ### Create a new matcher for the given +html+
18
18
  def initialize( html )
19
19
  @html = html
@@ -25,10 +25,10 @@ module BlueCloth::Matchers
25
25
  indent.gsub!( /\A\n/m, '' )
26
26
  @html.gsub!( /^#{indent}/m, '' )
27
27
  end
28
-
28
+
29
29
  return self
30
30
  end
31
-
31
+
32
32
 
33
33
  ### Returns true if the HTML generated by the given +bluecloth+ object matches the
34
34
  ### expected HTML, comparing only the salient document structures.
@@ -37,7 +37,7 @@ module BlueCloth::Matchers
37
37
  @output_html = bluecloth.to_html.gsub( /\n\n\n/, "\n\n" )
38
38
  return @output_html.strip == @html.strip
39
39
  end
40
-
40
+
41
41
  ### Build a failure message for the matching case.
42
42
  def failure_message
43
43
  if self.should_output_html?
@@ -57,14 +57,14 @@ module BlueCloth::Matchers
57
57
  " %p\n\nDiffs:\n\n%s") % [ @output_html, @html, patch ]
58
58
  end
59
59
  end
60
-
60
+
61
61
  ### Build a failure message for the non-matching case.
62
62
  def negative_failure_message
63
63
  return "Expected the generated html:\n\n %p\n\nnot to be the same as:\n\n %p\n\n" %
64
64
  [ @output_html, @html ]
65
65
  end
66
-
67
-
66
+
67
+
68
68
  ### Returns true if it appears HTML output should be used instead of plain-text. This
69
69
  ### will be true if running from TextMate or if the HTML_LOGGING environment variable
70
70
  ### is set.
@@ -73,8 +73,8 @@ module BlueCloth::Matchers
73
73
  # return ENV['HTML_LOGGING'] ||
74
74
  # (ENV['TM_FILENAME'] && ENV['TM_FILENAME'] =~ /_spec\.rb/)
75
75
  end
76
-
77
-
76
+
77
+
78
78
  ### Compute a patch between the given +expected+ output and the +actual+ output
79
79
  ### and return it as a string.
80
80
  def make_patch( expected, actual )
@@ -99,7 +99,7 @@ module BlueCloth::Matchers
99
99
  end.join("\n")
100
100
  end.join("\n---\n")
101
101
  end
102
-
102
+
103
103
  ### Compute a patch similar to #make_patch, but output HTML instead of plain text.
104
104
  def make_html_patch( expected, actual )
105
105
  diffs = Diff::LCS.sdiff( expected.split("\n"), actual.split("\n"),
@@ -126,9 +126,9 @@ module BlueCloth::Matchers
126
126
  end.join( "</tbody><tbody>" )
127
127
  patch << %{</tbody></table>\n}
128
128
  end
129
-
129
+
130
130
  end
131
-
131
+
132
132
  ### Variant of the regular TransformMatcher that normalizes the two strings using the 'tidy'
133
133
  ### library before comparing.
134
134
  class TidyTransformMatcher < TransformMatcher
@@ -144,17 +144,17 @@ module BlueCloth::Matchers
144
144
  Tidy.path = "libtidy.#{soext}"
145
145
  @tidy = Tidy.new( TIDY_OPTIONS )
146
146
  end
147
-
147
+
148
148
  return @tidy
149
149
  end
150
-
150
+
151
151
 
152
152
  ### Set the matcher's expected output to a tidied version of the input +html+.
153
153
  def initialize( html )
154
154
  @html = self.class.tidy_object.clean( html )
155
155
  end
156
-
157
-
156
+
157
+
158
158
  ### Returns true if the HTML generated by the given +bluecloth+ object matches the
159
159
  ### expected HTML after normalizing them both with 'tidy'.
160
160
  def matches?( bluecloth )
@@ -162,17 +162,17 @@ module BlueCloth::Matchers
162
162
  @output_html = self.class.tidy_object.clean( bluecloth.to_html )
163
163
  return @output_html == @html
164
164
  end
165
-
165
+
166
166
  end
167
167
 
168
168
 
169
169
  class TransformRegexpMatcher
170
-
170
+
171
171
  ### Create a new matcher for the given +regexp+
172
172
  def initialize( regexp )
173
173
  @regexp = regexp
174
174
  end
175
-
175
+
176
176
  ### Returns true if the regexp associated with this matcher matches the output generated
177
177
  ### by the specified +bluecloth+ object.
178
178
  def matches?( bluecloth )
@@ -180,21 +180,21 @@ module BlueCloth::Matchers
180
180
  @output_html = bluecloth.to_html
181
181
  return @output_html =~ @regexp
182
182
  end
183
-
183
+
184
184
  ### Build a failure message for the matching case.
185
185
  def failure_message
186
186
  return "Expected the generated html:\n\n %pto match the regexp:\n\n%p\n\n" %
187
187
  [ @output_html, @regexp ]
188
188
  end
189
-
190
-
189
+
190
+
191
191
  ### Build a failure message for the negative matching case.
192
192
  def negative_failure_message
193
193
  return "Expected the generated html:\n\n %pnot to match the regexp:\n\n%p\n\n" %
194
194
  [ @output_html, @regexp ]
195
195
  end
196
196
  end
197
-
197
+
198
198
 
199
199
  ### Create a new BlueCloth object out of the given +string+ and +options+ and
200
200
  ### return it.
@@ -202,7 +202,7 @@ module BlueCloth::Matchers
202
202
  return BlueCloth.new( string, *options )
203
203
  end
204
204
 
205
-
205
+
206
206
  ### Strip indentation from the given +string+, create a new BlueCloth object
207
207
  ### out of the result and any +options+, and return it.
208
208
  def the_indented_markdown( string, *options )
@@ -211,25 +211,25 @@ module BlueCloth::Matchers
211
211
  $stderr.puts "Source indent is: %p" % [ indent ] if $DEBUG
212
212
  string.gsub!( /^#{indent}/m, '' )
213
213
  end
214
-
214
+
215
215
  return BlueCloth.new( string, *options )
216
216
  end
217
217
 
218
-
218
+
219
219
  ### Generate a matcher that expects to equal the given +html+.
220
220
  def be_transformed_into( html )
221
221
  return BlueCloth::Matchers::TransformMatcher.new( html )
222
222
  end
223
-
223
+
224
224
  ### Generate a matcher that expects to match a normalized version of the specified +html+.
225
225
  def be_transformed_into_normalized_html( html )
226
226
  return BlueCloth::Matchers::TidyTransformMatcher.new( html )
227
227
  end
228
-
228
+
229
229
  ### Generate a matcher that expects to match the given +regexp+.
230
230
  def be_transformed_into_html_matching( regexp )
231
231
  return BlueCloth::Matchers::TransformMatcher.new( regexp )
232
232
  end
233
-
233
+
234
234
  end # module BlueCloth::Matchers
235
235
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bluecloth
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Granger
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-14 00:00:00 -07:00
12
+ date: 2009-06-29 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -132,11 +132,7 @@ dependencies:
132
132
  - !ruby/object:Gem::Version
133
133
  version: 0.7.0.0
134
134
  version:
135
- description: |-
136
- BlueCloth is a Ruby implementation of [Markdown][1], a text-to-HTML conversion
137
- tool for web writers. To quote from the project page: Markdown allows you to
138
- write using an easy-to-read, easy-to-write plain text format, then convert it to
139
- structurally valid XHTML (or HTML).
135
+ description: "BlueCloth is a Ruby implementation of [Markdown][1], a text-to-HTML conversion tool for web writers. To quote from the project page: Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML)."
140
136
  email: ged@FaerieMUD.org
141
137
  executables:
142
138
  - bluecloth
@@ -168,6 +164,7 @@ files:
168
164
  - spec/bluecloth_spec.rb
169
165
  - spec/bugfix_spec.rb
170
166
  - spec/contributions_spec.rb
167
+ - spec/discount_spec.rb
171
168
  - spec/markdowntest_spec.rb
172
169
  - spec/lib/constants.rb
173
170
  - spec/lib/helpers.rb
@@ -288,7 +285,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
288
285
  requirements: []
289
286
 
290
287
  rubyforge_project: bluecloth
291
- rubygems_version: 1.3.4
288
+ rubygems_version: 1.3.1
292
289
  signing_key:
293
290
  specification_version: 3
294
291
  summary: BlueCloth is a Ruby implementation of Markdown
@@ -309,6 +306,7 @@ test_files:
309
306
  - spec/bluecloth_spec.rb
310
307
  - spec/bugfix_spec.rb
311
308
  - spec/contributions_spec.rb
309
+ - spec/discount_spec.rb
312
310
  - spec/markdowntest_spec.rb
313
311
  - spec/lib/constants.rb
314
312
  - spec/lib/helpers.rb