このコミットが含まれているのは:
@@ -67,20 +67,18 @@ RSpec.describe Locale, type: :model do
|
||||
primary_flg: true, auto_generated: false)
|
||||
end
|
||||
|
||||
it 'creates a primary name when the language has only an alias' do
|
||||
prepare_ainu_reference!
|
||||
tag = create(:tag, primary_name: 'alias_only_tag')
|
||||
alias_name = create(:tag_name, :alias, name: 'alias_en',
|
||||
tag:,
|
||||
language_code: 'ain', script_code: 'Kana')
|
||||
it 'adds the new language primary while preserving existing names and aliases' do
|
||||
tag = create(:tag, primary_name: 'named_tag')
|
||||
create(:tag_name, :alias, name: 'existing_alias', tag:,
|
||||
language_code: 'ja', script_code: 'Jpan')
|
||||
original_names = tag.tag_names.order(:id).map(&:attributes)
|
||||
|
||||
create_ainu_locale!
|
||||
|
||||
expect(alias_name.reload).to have_attributes(
|
||||
tag_id: tag.id,
|
||||
language_code: 'ain', script_code: 'Kana', primary_flg: false)
|
||||
expect(tag.tag_names.where(language_code: 'ja').order(:id).map(&:attributes))
|
||||
.to eq(original_names)
|
||||
generated = TagName.find_by!(tag_id: tag.id, language_code: 'ain', primary_flg: true)
|
||||
expect(generated).to have_attributes(tag_id: tag.id, language_code: 'ain',
|
||||
expect(generated).to have_attributes(name: 'named_tag', tag_id: tag.id, language_code: 'ain',
|
||||
script_code: 'Kana', primary_flg: true,
|
||||
auto_generated: true)
|
||||
expect(TagName.where(tag_id: tag.id, language_code: 'ain', primary_flg: true).count).to eq(1)
|
||||
|
||||
@@ -113,6 +113,8 @@ RSpec.describe TagNameSanitisationRule, type: :model do
|
||||
it 'renames without merging tags or deleting either language identity' do
|
||||
locale
|
||||
nipponese = create(:tag, primary_name: 'foobar')
|
||||
primary_tag_name_for(nipponese, 'ain').update!(
|
||||
name: 'different_ainu_name', auto_generated: false)
|
||||
ainu_name = create(:tag_name, name: 'temporary',
|
||||
language_code: 'ain', script_code: 'Kana')
|
||||
ainu = create(:tag, primary_tag_name: ainu_name)
|
||||
|
||||
@@ -66,7 +66,7 @@ RSpec.describe Tag, type: :model do
|
||||
it 'canonicalises aliases in the supplied language only' do
|
||||
prepare_ainu_reference!
|
||||
nipponese = create(:tag, primary_name: 'nipponese_canonical')
|
||||
ainu_name = create(:tag_name, name: 'ainu_canonical',
|
||||
ainu_name = build(:tag_name, tag: nil, name: 'ainu_canonical',
|
||||
language_code: 'ain', script_code: 'Kana')
|
||||
ainu = create(:tag, primary_tag_name: ainu_name)
|
||||
primary_tag_name_for(ainu, 'ja').update!(
|
||||
@@ -265,7 +265,7 @@ RSpec.describe Tag, type: :model do
|
||||
expect(tag.category).to eq('character')
|
||||
end
|
||||
|
||||
it 'uses a Japanese fallback for an Ainu-origin tag without reverse transcription' do
|
||||
it 'copies an Ainu-origin name to Japanese without reverse transcription' do
|
||||
locale
|
||||
allow(TagName).to receive(:generate_name).and_call_original
|
||||
|
||||
@@ -277,9 +277,9 @@ RSpec.describe Tag, type: :model do
|
||||
name: 'ainu_origin', auto_generated: false))
|
||||
expect(TagName.where(tag:, language_code: 'ja', primary_flg: true))
|
||||
.to contain_exactly(have_attributes(
|
||||
name: "Tag_##{ tag.id }", auto_generated: true))
|
||||
name: 'ainu_origin', auto_generated: true))
|
||||
expect(TagName).to have_received(:generate_name)
|
||||
.with(Locale.nipponese, tag, nil)
|
||||
.with(Locale.nipponese, tag, tag.tag_name('ain'))
|
||||
end
|
||||
|
||||
it 'gives a new tag one primary name for every active language' do
|
||||
|
||||
新しいイシューから参照
ユーザーをブロックする