REXML is dead. Long live Nokogiri.
Modify Maruku to use Nokogiri instead of REXML. Produces a 3-fold speedup in the #to_html method.
This commit is contained in:
parent
46da1f3aaf
commit
13a522525c
369 changed files with 1703 additions and 16342 deletions
52
vendor/plugins/maruku/spec/block_spec.rb
vendored
Normal file
52
vendor/plugins/maruku/spec/block_spec.rb
vendored
Normal file
|
@ -0,0 +1,52 @@
|
|||
#!/usr/bin/env ruby -w
|
||||
# encoding: UTF-8
|
||||
Encoding.default_external=('UTF-8') if ''.respond_to?(:force_encoding)
|
||||
require File.dirname(__FILE__) + "/spec_helper"
|
||||
|
||||
METHODS = [:to_html, :to_latex, :to_md, :to_s]
|
||||
|
||||
describe "A Maruku document" do
|
||||
before(:all) do
|
||||
@old_stderr = $stderr
|
||||
$stderr = StringIO.new
|
||||
end
|
||||
|
||||
after(:all) do
|
||||
$stderr = @old_stderr
|
||||
end
|
||||
|
||||
Dir[File.dirname(__FILE__) + "/block_docs/**/*.md"].each do |md|
|
||||
describe " for the #{md} file" do
|
||||
input = File.read(md).split(/\n\*{3}[^*\n]+\*{3}\n/m)
|
||||
input = ["Write a comment here", "{}", input.first] if input.size == 1
|
||||
comment = input.shift
|
||||
params = eval(input.shift)
|
||||
markdown = input.shift
|
||||
ast = input.shift
|
||||
|
||||
before(:each) do
|
||||
pending if md =~ Regexp.new("^" + Regexp.quote(File.dirname(__FILE__) + "/block_docs/red_tests"))
|
||||
|
||||
$already_warned_itex2mml = false
|
||||
@doc = Maruku.new(markdown, params)
|
||||
@expected = METHODS.zip(input).inject({}) {|h, (k, v)| h[k] = v ? v.strip : '' ; h}
|
||||
end
|
||||
|
||||
it "should read in the output of #inspect as the same document" do
|
||||
Maruku.new.instance_eval(@doc.inspect).should == @doc
|
||||
end
|
||||
|
||||
it "should read in the given AST as the same document" do
|
||||
Maruku.new.instance_eval(ast).should == @doc
|
||||
end
|
||||
|
||||
METHODS.each do |m|
|
||||
it "should have the expected ##{m} output" do
|
||||
res = @doc.send(m).strip
|
||||
pending "install itex2mml" if m == :to_html && $already_warned_itex2mml
|
||||
res.should == @expected[m]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue