summaryrefslogtreecommitdiff
path: root/spec/ruby/core/encoding/names_spec.rb
blob: 9ded043bbbb6e6f65eb453e3fd29871f019238ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
require_relative '../../spec_helper'

describe "Encoding#names" do
  it "returns an Array" do
    Encoding.name_list.each do |name|
      e = Encoding.find(name) or next
      e.names.should be_an_instance_of(Array)
    end
  end

  it "returns names as Strings" do
    Encoding.name_list.each do |name|
      e = Encoding.find(name) or next
      e.names.each do |this_name|
        this_name.should be_an_instance_of(String)
      end
    end
  end

  it "returns #name as the first value" do
    Encoding.name_list.each do |name|
      e = Encoding.find(name) or next
      e.names.first.should == e.name
    end
  end

  it "includes any aliases the encoding has" do
    Encoding.name_list.each do |name|
      e = Encoding.find(name) or next
      aliases = Encoding.aliases.select{|a,n| n == name}.keys
      names = e.names
      aliases.each {|a| names.include?(a).should be_true}
    end
  end
end