lib/text2svg/cli_test.rb in text2svg-0.0.1 vs lib/text2svg/cli_test.rb in text2svg-0.0.2
- old
+ new
@@ -1,18 +1,47 @@
require 'text2svg/cli'
module Text2svgCLITest
def test_start(t)
- ARGV[0] = 'abc'
- ARGV[1] = '--font=/Library/Fonts/Times New Roman.ttf'
- out = capture do
- Text2svg::CLI.start
+ %w(left right center).each do |text_align|
+ ARGV[0] = "Hello,\nWorld!"
+ ARGV[1] = '--font=/Library/Fonts/Times New Roman.ttf'
+ ARGV[2] = "--text-align=#{text_align}"
+ out = capture do
+ Text2svg::CLI.start
+ end
+ unless String === out
+ t.error 'return value was break'
+ end
+ unless 0 < out.length
+ t.error 'unsupported font?'
+ end
+ if out.strip[0,4] != "<svg"
+ t.error 'output format was break'
+ end
end
- unless String === out
- t.error 'return value was break'
- end
- unless 0 < out.length
- t.error 'unsupported font?'
+ end
+
+ def test_encoding(t)
+ [
+ ['utf-8', "\xEF\x82\x9B".force_encoding(Encoding::ASCII_8BIT)],
+ ['utf-32', "\x00\x00\xFE\xFF\x00\x00\xF0\x9B".force_encoding(Encoding::ASCII_8BIT)]
+ ].each do |(encoding, text)|
+ ARGV[0] = text
+ ARGV[1] = '--font=~/Library/Fonts/fontawesome-webfont.ttf'
+ ARGV[2] = "--encoding=#{encoding}"
+ out = capture do
+ Text2svg::CLI.start
+ end
+ unless String === out
+ t.error 'return value was break'
+ end
+ unless 0 < out.length
+ t.error 'unsupported font?'
+ end
+ if out.strip[0,4] != "<svg"
+ t.error 'output format was break'
+ end
end
end
def capture
out = StringIO.new