test/options_test.rb in asciidoctor-0.1.2 vs test/options_test.rb in asciidoctor-0.1.3
- old
+ new
@@ -18,13 +18,13 @@
end
end
test 'should return error code 1 when option has invalid argument' do
redirect_streams do |stdout, stderr|
- exitval = Asciidoctor::Cli::Options.parse!(%w(-b foo input.ad))
+ exitval = Asciidoctor::Cli::Options.parse!(%w(-d chapter input.ad)) # had to change for #320
assert_equal 1, exitval
- assert_equal 'asciidoctor: invalid argument: -b foo', stderr.string.chomp
+ assert_equal 'asciidoctor: invalid argument: -d chapter', stderr.string.chomp
end
end
test 'should return error code 1 when option is missing required argument' do
redirect_streams do |stdout, stderr|
@@ -61,8 +61,35 @@
test 'multiple attribute arguments' do
options = Asciidoctor::Cli::Options.parse!(%w(-a imagesdir=images -a icons test/fixtures/sample.asciidoc))
assert_equal 'images', options[:attributes]['imagesdir']
assert_equal '', options[:attributes]['icons']
+ end
+
+ test 'should only split attribute key/value pairs on first equal sign' do
+ options = Asciidoctor::Cli::Options.parse!(%w(-a name=value=value test/fixtures/sample.asciidoc))
+
+ assert_equal 'value=value', options[:attributes]['name']
+ end
+
+ test 'should allow any backend to be specified' do
+ options = Asciidoctor::Cli::Options.parse!(%w(-b my_custom_backend test/fixtures/sample.asciidoc))
+
+ assert_equal 'my_custom_backend', options[:attributes]['backend']
+ end
+
+ test 'article doctype assignment' do
+ options = Asciidoctor::Cli::Options.parse!(%w(-d article test/fixtures/sample.asciidoc))
+ assert_equal 'article', options[:attributes]['doctype']
+ end
+
+ test 'book doctype assignment' do
+ options = Asciidoctor::Cli::Options.parse!(%w(-d book test/fixtures/sample.asciidoc))
+ assert_equal 'book', options[:attributes]['doctype']
+ end
+
+ test 'inline doctype assignment' do
+ options = Asciidoctor::Cli::Options.parse!(%w(-d inline test/fixtures/sample.asciidoc))
+ assert_equal 'inline', options[:attributes]['doctype']
end
end