Sha256: 22e13636804caf9b3fd18e7c6a103046d0413e2fef2fac348a8987fa948cad9f

Contents?: true

Size: 1.16 KB

Versions: 6

Compression:

Stored size: 1.16 KB

Contents

# encoding: utf-8

require "test_helper"

require "sup/util"

describe "Sup's String extension" do
  describe "#display_length" do
    let :data do
      [
        ['some words', 10,],
        ['中文', 4,],
        ['ä', 1,],
      ]
    end

    it "calculates display length of a string" do
      data.each do |(str, length)|
        str.display_length.must_equal length
      end
    end
  end

  describe "#slice_by_display_length(len)" do
    let :data do
      [
        ['some words', 6, 'some w'],
        ['中文', 2, '中'],
        ['älpha', 3, 'älp'],
      ]
    end

    it "slices string by display length" do
      data.each do |(str, length, sliced)|
        str.slice_by_display_length(length).must_equal sliced
      end
    end
  end

  describe "#wrap" do
    let :data do
      [
        ['some words', 6, ['some', 'words']],
        ['some words', 80, ['some words']],
        ['中文', 2, ['中', '文']],
        ['中文', 5, ['中文']],
        ['älpha', 3, ['älp', 'ha']],
      ]
    end

    it "wraps string by display length" do
      data.each do |(str, length, wrapped)|
        str.wrap(length).must_equal wrapped
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
sup-0.22.1 test/unit/util/test_string.rb
sup-0.22.0 test/unit/util/test_string.rb
sup-0.21.0 test/unit/util/test_string.rb
sup-0.20.0 test/unit/util/test_string.rb
sup-0.19.0 test/unit/util/test_string.rb
sup-0.18.0 test/unit/util/test_string.rb