test/test_rbst.rb in RbST-0.4.0 vs test/test_rbst.rb in RbST-0.5.1
- old
+ new
@@ -9,25 +9,33 @@
instance_variable_set(
:"@#{f}_file",
File.join(File.dirname(__FILE__), 'files', "test.#{f}")
)
end
- @rst2parts_path = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib', 'rst2parts'))
+ @rst2parts_path = File.expand_path(
+ File.join(File.dirname(__FILE__), '..', 'lib', 'rst2parts')
+ )
end
should "call bare rest2parts when passed no options" do
converter = RbST.new(@rst_file)
- converter.expects(:execute).with("python #{@rst2parts_path}/rst2html.py").returns(true)
+ converter \
+ .expects(:execute) \
+ .with("python #{@rst2parts_path}/rst2html.py") \
+ .returns(true)
assert converter.convert
end
should "convert with custom executable" do
executables = {:html => "/some/path/2html.py"}
default_executables = RbST.executables
RbST.executables = executables
converter = RbST.new(@file)
- converter.expects(:execute).with("python #{executables[:html]}").returns(true)
+ converter \
+ .expects(:execute) \
+ .with("python #{executables[:html]}") \
+ .returns(true)
assert converter.to_html
RbST.executables = default_executables
end
should "raise error when passed bad executable key" do
@@ -40,48 +48,143 @@
end
end
should "convert ReST to html" do
html = RbST.new(@rst_file).to_html
- assert_equal html, File.read(@html_file)
+ assert_equal(
+ File.read(@html_file),
+ html
+ )
end
should "convert ReST to LaTeX" do
latex = RbST.new(@rst_file).to_latex
- assert_equal latex, File.read(@latex_file)
+ assert_equal(
+ File.read(@latex_file),
+ latex
+ )
end
[:html, :latex].each do |f|
should "accept options on #to_#{f}" do
converter = RbST.new(@rst_file)
- converter.expects(:execute).with("python #{@rst2parts_path}/rst2#{f}.py --raw-enabled").returns(true)
+ converter \
+ .expects(:execute) \
+ .with("python #{@rst2parts_path}/rst2#{f}.py --raw-enabled") \
+ .returns(true)
assert converter.send("to_#{f}", :raw_enabled)
end
end
should "recognize strip_comments option" do
html_with_comment = RbST.convert(".. comment")
- assert_equal html_with_comment, %Q{<div class=\"document\">\n<!-- comment -->\n</div>\n}
+ assert_equal(
+ html_with_comment,
+ %Q{<div class=\"document\">\n<!-- comment -->\n</div>\n}
+ )
html_without_comment = RbST.convert(".. comment", 'strip-comments')
- assert_equal html_without_comment, %Q{<div class=\"document\">\n</div>\n}
+ assert_equal(
+ html_without_comment,
+ %Q{<div class=\"document\">\n</div>\n}
+ )
end
should "recognize cloak_email_addresses option" do
html_with_uncloaked_email = RbST.convert("steve@mac.com")
- assert_equal %Q{<div class=\"document\">\n<p><a class=\"reference external\" href=\"mailto:steve@mac.com\">steve@mac.com</a></p>\n</div>\n}, html_with_uncloaked_email
+ assert_equal(
+ %Q{<div class=\"document\">\n<p><a class=\"reference external\" href=\"mailto:steve@mac.com\">steve@mac.com</a></p>\n</div>\n},
+ html_with_uncloaked_email
+ )
html_with_cloaked_email = RbST.convert("steve@mac.com", 'cloak-email-addresses')
- assert_equal %Q{<div class=\"document\">\n<p><a class=\"reference external\" href=\"mailto:steve%40mac.com\">steve<span>@</span>mac<span>.</span>com</a></p>\n</div>\n}, html_with_cloaked_email
+ assert_equal(
+ %Q{<div class=\"document\">\n<p><a class=\"reference external\" href=\"mailto:steve%40mac.com\">steve<span>@</span>mac<span>.</span>com</a></p>\n</div>\n},
+ html_with_cloaked_email
+ )
end
should "recognize part option" do
html_body = RbST.convert("hello world", :part => :html_body)
- assert_equal %Q{<div class=\"document\">\n<p>hello world</p>\n</div>\n}, html_body
+ assert_equal(
+ %Q{<div class=\"document\">\n<p>hello world</p>\n</div>\n},
+ html_body
+ )
fragment = RbST.convert("hello world", :part => :fragment)
- assert_equal %Q{<p>hello world</p>\n}, fragment
+ assert_equal(
+ %Q{<p>hello world</p>\n},
+ fragment
+ )
end
- should "convert unicode" do
- output = RbST.convert("Hello ☃", :part => :fragment)
- assert_equal %Q{<p>Hello ☃</p>\n}, output
+ should "convert to html with unicode" do
+ test_string = "Hello ☃".force_encoding("utf-8")
+ output = RbST.new(test_string).to_html(:part => :fragment)
+ assert_equal(
+ %Q{<p>#{test_string}</p>\n},
+ output
+ )
+ end
+
+ should "convert to latex with unicode" do
+ test_string = "Hello ☃".force_encoding("utf-8")
+ output = RbST.new(test_string).to_latex(:part => :body)
+ assert_equal(
+ %Q{\n#{test_string}\n},
+ output
+ )
+ end
+
+ should "execute with custom python path" do
+ RbST.python_path = "/usr/bin/env python3"
+ converter = RbST.new(@rst_file)
+ converter \
+ .expects(:execute) \
+ .with("/usr/bin/env python3 #{@rst2parts_path}/rst2html.py") \
+ .returns(true)
+ assert converter.convert
+ RbST.python_path = "python"
+ end
+
+ should "convert to html with python3" do
+ RbST.python_path = "/usr/bin/env python3"
+ test_string = "Hello ☃".force_encoding("utf-8")
+ output = RbST.new(test_string).to_html(:part => :fragment)
+ assert_equal(
+ %Q{<p>#{test_string}</p>\n},
+ output
+ )
+ RbST.python_path = "python"
+ end
+
+ should "convert to latex with python3" do
+ RbST.python_path = "/usr/bin/env python3"
+ test_string = "Hello ☃".force_encoding("utf-8")
+ output = RbST.new(test_string).to_latex(:part => :body)
+ assert_equal(
+ %Q{\n#{test_string}\n},
+ output
+ )
+ RbST.python_path = "python"
+ end
+
+ should "convert to html with python2" do
+ RbST.python_path = "/usr/bin/env python2"
+ test_string = "Hello ☃".force_encoding("utf-8")
+ output = RbST.new(test_string).to_html(:part => :fragment)
+ assert_equal(
+ %Q{<p>#{test_string}</p>\n},
+ output
+ )
+ RbST.python_path = "python"
+ end
+
+ should "convert to latex with python2" do
+ RbST.python_path = "/usr/bin/env python2"
+ test_string = "Hello ☃".force_encoding("utf-8")
+ output = RbST.new(test_string).to_latex(:part => :body)
+ assert_equal(
+ %Q{\n#{test_string}\n},
+ output
+ )
+ RbST.python_path = "python"
end
end