Sha256: cee977cec45b7e468f58cea6295981f8386db740a2420e503667faaadc5db217

Contents?: true

Size: 1.96 KB

Versions: 13

Compression:

Stored size: 1.96 KB

Contents

current_folder = File.dirname(__FILE__)
require File.join(current_folder,'..','..','spec_helper')

require 'activerecord'
require 'fast_gettext/translation_repository/db'
include FastGettext::TranslationRepository::Db.require_models

describe FastGettext::TranslationRepository::Db do
  before :all do
    ActiveRecord::Base.establish_connection({
      :adapter => "sqlite3",
      :database => ":memory:"
    })

    #create model table
    #TODO surpress output ?
    ActiveRecord::Schema.define(:version => 1) do
      create_table :translation_keys do |t|
        t.string :key, :unique=>true, :null=>false
        t.timestamps
      end
      create_table :translation_texts do |t|
        t.string :text, :locale
        t.integer :translation_key_id, :null=>false
        t.timestamps
      end
    end
  end

  before do
    TranslationKey.delete_all
    TranslationText.delete_all
    FastGettext.locale = 'de'
    @rep = FastGettext::TranslationRepository::Db.new('x', :model=>TranslationKey)
  end

  def create_translation(key, text)
    translation_key = TranslationKey.create!(:key=>key)
    TranslationText.create!(:translation_key_id=>translation_key.id, :text=>text, :locale=>'de')
  end
  
  it "reads locales from the db" do
    locales = ['de','en','es']
    locales.reverse.each do |locale|
      TranslationText.create!(:translation_key_id=>1, :text=>'asdasd', :locale=>locale)
    end
    @rep.available_locales.should == locales
  end

  it "has no pluralisation_rule by default" do
    @rep.pluralisation_rule.should == nil
  end

  it "cannot translate when no models are present" do
    @rep['car'].should == nil
  end

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

  it "cannot pluralize when no model is present" do
    @rep.plural('Axis','Axis').should == []
  end

  it "can pluralize" do
    create_translation 'Axis||||Axis', 'Achse||||Achsen'
    @rep.plural('Axis','Axis').should == ['Achse','Achsen']
  end
end

Version data entries

13 entries across 13 versions & 2 rubygems

Version Path
grosser-fast_gettext-0.4.10 spec/fast_gettext/translation_repository/db_spec.rb
grosser-fast_gettext-0.4.11 spec/fast_gettext/translation_repository/db_spec.rb
grosser-fast_gettext-0.4.12 spec/fast_gettext/translation_repository/db_spec.rb
grosser-fast_gettext-0.4.13 spec/fast_gettext/translation_repository/db_spec.rb
grosser-fast_gettext-0.4.14 spec/fast_gettext/translation_repository/db_spec.rb
grosser-fast_gettext-0.4.15 spec/fast_gettext/translation_repository/db_spec.rb
grosser-fast_gettext-0.4.16 spec/fast_gettext/translation_repository/db_spec.rb
grosser-fast_gettext-0.4.5 spec/fast_gettext/translation_repository/db_spec.rb
grosser-fast_gettext-0.4.7 spec/fast_gettext/translation_repository/db_spec.rb
grosser-fast_gettext-0.4.8 spec/fast_gettext/translation_repository/db_spec.rb
grosser-fast_gettext-0.4.9 spec/fast_gettext/translation_repository/db_spec.rb
fast_gettext-0.4.17 spec/fast_gettext/translation_repository/db_spec.rb
fast_gettext-0.4.16 spec/fast_gettext/translation_repository/db_spec.rb