Sha256: 4cbc0bebf941fcca6a07be1dccf0261ae9616d39cf5a8d132f1b506e0e469efc
Contents?: true
Size: 1.9 KB
Versions: 8
Compression:
Stored size: 1.9 KB
Contents
# encoding: binary require 'helper' class TestEncoding < Minitest::Test include AST::Sexp def recognize(string) Parser::Source::Buffer.recognize_encoding(string) end if defined?(Encoding) require 'parser/all' def test_default assert_nil recognize('foobar') end def test_bom assert_equal Encoding::UTF_8, recognize("\xef\xbb\xbf\nfoobar") assert_equal Encoding::UTF_8, recognize("\xef\xbb\xbf# coding:koi8-r\nfoobar") end def test_magic_comment assert_equal Encoding::KOI8_R, recognize("# coding:koi8-r\nfoobar") end def test_shebang assert_equal Encoding::KOI8_R, recognize("#!/bin/foo\n# coding:koi8-r\nfoobar") end def test_case assert_equal Encoding::KOI8_R, recognize("# coding:KoI8-r\nfoobar") end def test_space assert_equal Encoding::KOI8_R, recognize("# coding : koi8-r\nfoobar") end def test_empty assert_nil recognize('') end def test_no_comment assert_nil recognize(%{require 'cane/encoding_aware_iterator'}) end def test_adjacent assert_nil recognize('# codingkoi8-r') assert_nil recognize('# coding koi8-r') end def test_utf8_mac assert_equal Encoding::UTF8_MAC, recognize('# coding: utf8-mac') end def test_suffix assert_equal Encoding::UTF_8, recognize('# coding: utf-8-dos') assert_equal Encoding::UTF_8, recognize('# coding: utf-8-unix') assert_equal Encoding::UTF_8, recognize('# coding: utf-8-mac') assert_raises(ArgumentError) do assert_nil recognize('# coding: utf-8-dicks') end end def test_parse_18_invalid_enc ast = Parser::Ruby18.parse("# encoding:feynman-diagram\n1") assert_equal ast, s(:int, 1) end def test_parse_19_invalid_enc assert_raises(ArgumentError) do Parser::Ruby19.parse("# encoding:feynman-diagram\n1") end end end end
Version data entries
8 entries across 8 versions & 2 rubygems