Add i18n-tasks with adapted config from CodeHarbor

This commit is contained in:
Sebastian Serth
2024-04-14 00:52:28 +02:00
committed by Sebastian Serth
parent 09fe592714
commit f6041af4c3
7 changed files with 275 additions and 1 deletions

41
spec/i18n_spec.rb Normal file
View File

@ -0,0 +1,41 @@
# frozen_string_literal: true
require 'i18n/tasks'
RSpec.describe I18n do
let(:i18n) { I18n::Tasks::BaseTask.new }
let(:missing_keys) { i18n.missing_keys }
let(:unused_keys) { i18n.unused_keys }
let(:inconsistent_interpolations) { i18n.inconsistent_interpolations }
it 'does not have missing keys' do
expect(missing_keys).to be_empty,
"Missing #{missing_keys.leaves.count} I18n keys, " \
'run `i18n-tasks missing` to show them. ' \
'If this is a false positive, you can add exceptions for translation keys ' \
"in `config/i18n_tasks.yml` under 'ignore'. See https://github.com/glebm/i18n-tasks#configuration " \
'for more details.'
end
it 'does not have unused keys' do
expect(unused_keys).to be_empty,
"#{unused_keys.leaves.count} unused I18n keys, run `i18n-tasks unused` to show them. " \
'If this is a false positive, you can add exceptions for translation keys ' \
"in `config/i18n_tasks.yml` under 'ignore_unused'. See https://github.com/glebm/i18n-tasks#configuration " \
'for more details.'
end
it 'files are normalized' do
non_normalized = i18n.non_normalized_paths
error_message = "The following files need to be normalized:\n" \
"#{non_normalized.map {|path| " #{path}" }.join("\n")}\n" \
'Please run `i18n-tasks normalize` to fix these.'
expect(non_normalized).to be_empty, error_message
end
it 'does not have inconsistent interpolations' do
error_message = "#{inconsistent_interpolations.leaves.count} i18n keys have inconsistent interpolations.\n" \
'Run `i18n-tasks check-consistent-interpolations` to show them.'
expect(inconsistent_interpolations).to be_empty, error_message
end
end