Sha256: a993e24cc113aa4cf597114e0557ee45d35ae525919215e8bf52e01daf43f857

Contents?: true

Size: 1.16 KB

Versions: 6

Compression:

Stored size: 1.16 KB

Contents

# encoding: binary

require 'helper'

class TestEncoding < Minitest::Test
  def recognize(string)
    Parser::Source::Buffer.recognize_encoding(string)
  end

  if defined?(Encoding)
    def test_default
      assert_equal 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_equal nil, recognize('')
    end

    def test_no_comment
      assert_equal nil, recognize(%{require 'cane/encoding_aware_iterator'})
    end

    def test_adjacent
      assert_equal nil, recognize('# codingkoi8-r')
      assert_equal nil, recognize('# coding koi8-r')
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
parser-2.0.0.pre2 test/test_encoding.rb
parser-2.0.0.pre1 test/test_encoding.rb
parser-2.0.0.beta10 test/test_encoding.rb
parser-2.0.0.beta9 test/test_encoding.rb
parser-2.0.0.beta8 test/test_encoding.rb
parser-2.0.0.beta7 test/test_encoding.rb