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