Sha256: 2c4a42b201b9d6069151d867703ddd3543634c9fe64e5f9c33c8c2ef17ace1b2

Contents?: true

Size: 841 Bytes

Versions: 35

Compression:

Stored size: 841 Bytes

Contents

# frozen_string_literal: true

require 'spec_helper'
describe I18n do
  it 'has a translation in every other locale for every key in the nl locale' do
    errors = []
    (I18n.config.available_locales - [:nl]).each do |locale|
      each_key_path(I18n.t('.', locale: :nl)) do |key_path|
        result = begin
          I18n.t('.', locale: locale).dig(*key_path)
        rescue
          nil
        end
        errors << "#{key_path.inspect} is missing from locale :#{locale}" if result.nil?
      end
    end

    expect(errors).to eq([])
  end

  # yields for each leaf key `[:path, :to, :leaf]`
  def each_key_path(hash, base_key = [], &block)
    hash.each do |k, v|
      current_key = base_key + [k]
      if v.is_a? Hash
        each_key_path(v, current_key, &block)
      else
        yield current_key
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
quby-5.6.7 spec/quby/i18n_spec.rb
quby-5.6.6 spec/quby/i18n_spec.rb
quby-5.6.5 spec/quby/i18n_spec.rb
quby-5.6.3 spec/quby/i18n_spec.rb
quby-5.6.2 spec/quby/i18n_spec.rb
quby-5.6.1 spec/quby/i18n_spec.rb
quby-5.6.0 spec/quby/i18n_spec.rb
quby-5.5.0 spec/quby/i18n_spec.rb
quby-5.4.0 spec/quby/i18n_spec.rb
quby-5.3.1 spec/quby/i18n_spec.rb
quby-5.3.0 spec/quby/i18n_spec.rb
quby-5.2.0 spec/quby/i18n_spec.rb
quby-5.1.3 spec/quby/i18n_spec.rb
quby-5.1.2 spec/quby/i18n_spec.rb
quby-5.1.1 spec/quby/i18n_spec.rb
quby-5.1.0 spec/quby/i18n_spec.rb
quby-5.0.5 spec/quby/i18n_spec.rb
quby-5.0.4 spec/quby/i18n_spec.rb
quby-5.0.3 spec/quby/i18n_spec.rb
quby-5.0.2 spec/quby/i18n_spec.rb