Sha256: 98637bee8bab150ac981aaa9d79c47f895e1754a5dd5fc08be5e1b692b10ae39

Contents?: true

Size: 1.15 KB

Versions: 6

Compression:

Stored size: 1.15 KB

Contents

# encoding: UTF-8

require 'spec_helper'

describe ICU::CharDet::Detector do

  let(:detector) { ICU::CharDet::Detector.new }

  it "should recognize UTF-8" do
    m = detector.detect("æåø")
    m.name.should == "UTF-8"
    m.language.should be_kind_of(String)
  end

  it "has a list of detectable charsets" do
    cs = detector.detectable_charsets
    cs.should be_kind_of(Array)
    cs.should_not be_empty

    cs.first.should be_kind_of(String)
  end

  it "should disable / enable the input filter" do
    detector.input_filter_enabled?.should be_false
    detector.input_filter_enabled = true
    detector.input_filter_enabled?.should be_true
  end

  it "should should set declared encoding" do
    detector.declared_encoding = "UTF-8"
  end

  it "should detect several matching encodings" do
    detector.detect_all("foo bar").should be_instance_of(Array)
  end

  it "should support null bytes" do
    # Create a utf-16 string and then force it to binary (ascii) to mimic data from net/http
    string = "foo".encode("UTF-16").force_encoding("binary")
    m = detector.detect(string)
    m.name.should == "UTF-16BE"
    m.language.should be_kind_of(String)
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ffi-icu-0.2.0 spec/chardet_spec.rb
ffi-icu-0.1.10 spec/chardet_spec.rb
ffi-icu-0.1.9 spec/chardet_spec.rb
ffi-icu-0.1.8 spec/chardet_spec.rb
ffi-icu-0.1.7 spec/chardet_spec.rb
ffi-icu-0.1.6 spec/chardet_spec.rb