test/albino_test.rb in albino-1.3.0 vs test/albino_test.rb in albino-1.3.2
- old
+ new
@@ -1,5 +1,7 @@
+# coding: utf-8
+
require 'rubygems'
require 'albino'
require 'test/unit'
require 'tempfile'
require 'mocha'
@@ -21,25 +23,66 @@
def test_accepts_non_alpha_options
assert_equal '', @syntaxer.colorize(:f => 'html+c#-dump')
end
+ def test_markdown_compatible
+ code = Albino.colorize('1+2', :ruby)
+ assert_no_match %r{</pre></div>\Z}, code
+ end
+
def test_works_with_strings
syntaxer = Albino.new("class New\nend", :ruby)
assert_match %r(highlight), code=syntaxer.colorize
assert_match %(<span class="nc">New</span>\n), code
end
+ def test_works_with_utf8_strings
+ code = Albino.new("# é", :bash).colorize
+ assert_match %r(highlight), code
+ assert_match %(<span class="c"># é</span>), code
+ end
+
def test_works_with_files
contents = "class New\nend"
syntaxer = Albino.new(contents, :ruby)
file_output = syntaxer.colorize
Tempfile.open 'albino-test' do |tmp|
tmp << contents
tmp.flush
syntaxer = Albino.new(File.new(tmp.path), :ruby)
assert_equal file_output, syntaxer.colorize
+ end
+ end
+
+ def test_default_encoding
+ assert_equal Albino.default_encoding, 'utf-8'
+ end
+
+ def test_change_encoding
+ before = Albino.default_encoding
+
+ assert_equal Albino.default_encoding, 'utf-8'
+ Albino.default_encoding = 'ascii'
+ assert_equal Albino.default_encoding, 'ascii'
+ ensure
+ Albino.default_encoding = before
+ end
+
+ def test_invalid_encoding
+ before = Albino.default_encoding
+ Albino.default_encoding = 'binary'
+
+ assert_equal Albino.colorize('class Baño; end', :ruby), ''
+ ensure
+ Albino.default_encoding = before
+ end
+
+ def test_custom_encoding
+ code = Albino.new('1+2', :ruby, :html, 'ascii').colorize
+ if code.respond_to?(:encoding)
+ assert_equal code.encoding.to_s, 'US-ASCII'
end
end
def test_aliases_to_s
syntaxer = Albino.new(File.new(__FILE__), :ruby)