Sha256: 4109e4a547e3c6f6918dfa87e244ef71cd34fd1574ef925cdb9149245cbd8e92

Contents?: true

Size: 1.59 KB

Versions: 8

Compression:

Stored size: 1.59 KB

Contents

require File.expand_path("../utils.rb", __FILE__)

class TestIconv::Partial < TestIconv
  def test_partial_ascii
    c = Iconv.open(ASCII, ASCII)
    ref = '[ruby-core:17092]'
  rescue
    return
  else
    assert_equal("abc", c.iconv("abc"))
    assert_equal("c",   c.iconv("abc", 2),     "#{ref}: with start")
    assert_equal("c",   c.iconv("abc", 2, 1),  "#{ref}: with start, length")
    assert_equal("c",   c.iconv("abc", 2, 5),  "#{ref}: with start, longer length")
    assert_equal("bc",  c.iconv("abc", -2),    "#{ref}: with nagative start")
    assert_equal("b",   c.iconv("abc", -2, 1), "#{ref}: with nagative start, length")
    assert_equal("bc",  c.iconv("abc", -2, 5), "#{ref}: with nagative start, longer length")
    assert_equal("",    c.iconv("abc", 5),     "#{ref}: with OOB")
    assert_equal("",    c.iconv("abc", 5, 2),  "#{ref}: with OOB, length")
  ensure
    c.close if c
  end

  def test_partial_euc2sjis
    c = Iconv.open('SHIFT_JIS', 'EUC-JP')
  rescue
    return
  else
    assert_equal(SJIS_STR[0, 2],   c.iconv(EUCJ_STR, 0, 2))
    assert_equal(SJIS_STR,         c.iconv(EUCJ_STR, 0, 20))
    assert_equal(SJIS_STR[2..-1],  c.iconv(EUCJ_STR, 2))
    assert_equal(SJIS_STR[2, 2],   c.iconv(EUCJ_STR, 2, 2))
    assert_equal(SJIS_STR[2..-1],  c.iconv(EUCJ_STR, 2, 20))
    assert_equal(SJIS_STR[-4..-1], c.iconv(EUCJ_STR, -4))
    assert_equal(SJIS_STR[-4, 2],  c.iconv(EUCJ_STR, -4, 2))
    assert_equal(SJIS_STR[-4..-1], c.iconv(EUCJ_STR, -4, 20))
    assert_equal("",               c.iconv(EUCJ_STR, 20))
    assert_equal("",               c.iconv(EUCJ_STR, 20, 2))
  ensure
    c.close
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
iconv-1.1.0 test/test_partial.rb
iconv-1.0.8 test/test_partial.rb
iconv-1.0.7 test/test_partial.rb
iconv-1.0.6 test/test_partial.rb
iconv-1.0.5 test/test_partial.rb
iconv-1.0.4 test/test_partial.rb
iconv-1.0.3 test/test_partial.rb
iconv-1.0.2 test/test_partial.rb