Sha256: cdf288968f3917e441a8fd54cc4443c7733f9b48d68d69f3ae0f11e447309441

Contents?: true

Size: 1.7 KB

Versions: 5

Compression:

Stored size: 1.7 KB

Contents

require 'spec/spec_helper'

describe 'FastGettext::TranslationRepository::Yaml' do
  before do
    @rep = FastGettext::TranslationRepository.build('test', :path => File.join('spec', 'locale', 'yaml'), :type => :yaml)
    @rep.is_a?(FastGettext::TranslationRepository::Yaml).should be_true
    FastGettext.locale = 'de'
  end

  it "can be built" do
    @rep.available_locales.sort.should == ['de', 'en']
  end

  it "translates nothing when locale is unsupported" do
    FastGettext.locale = 'xx'
    @rep['simple'].should == nil
  end

  it "does not translated categories" do
    @rep['cars'].should == nil
  end

  it "can translate simple" do
    @rep['simple'].should == 'einfach'
  end

  it "can translate nested" do
    @rep['cars.car'].should == 'Auto'
  end

  it "can pluralize" do
    @rep.plural('cars.axis').should == ['Achse', 'Achsen', nil, nil]
  end

  it "handles unfound plurals with nil" do
    @rep.plural('cars.xxx').should == [nil, nil, nil, nil]
  end

  it "can be used to translate plural forms" do
    FastGettext.stub!(:current_repository).and_return @rep
    FastGettext.n_('cars.axis','cars.axis',2).should == 'Achsen'
    FastGettext.n_('cars.axis',2).should == 'Achsen'
    FastGettext.n_('cars.axis',1).should == 'Achse'
  end

  it "can be used to do wanky pluralisation rules" do
    FastGettext.stub!(:current_repository).and_return @rep
    4.times do |i|
      @rep.stub!(:pluralisation_rule).and_return lambda{i}
      FastGettext.n_('cars.silly',1).should == i.to_s
    end
  end

  it "can use custom pluraliztion rules" do
    FastGettext.locale = 'en'
    {0 => 0, 1 => 1, 2 => 2, 3 => 0}.each do |input, expected|
      @rep.pluralisation_rule.call(input).should == expected
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
fast_gettext-0.5.6 spec/fast_gettext/translation_repository/yaml_spec.rb
fast_gettext-0.5.5 spec/fast_gettext/translation_repository/yaml_spec.rb
fast_gettext-0.5.4 spec/fast_gettext/translation_repository/yaml_spec.rb
fast_gettext-0.5.3 spec/fast_gettext/translation_repository/yaml_spec.rb
fast_gettext-0.5.2 spec/fast_gettext/translation_repository/yaml_spec.rb