aboutsummaryrefslogtreecommitdiffstats
path: root/spec/rubyspec/core/encoding/names_spec.rb
blob: 3cd741e513cbcd3a5db74fa8194be553500769f4 (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
36
37
require File.expand_path('../../../spec_helper', __FILE__)

with_feature :encoding do
  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
end