diff options
author | Thibaut Girka <thib@sitedethib.com> | 2019-07-30 12:22:33 +0200 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2019-07-30 12:22:33 +0200 |
commit | 24968d20a07d483cd36b4747bd1db8bd512002c2 (patch) | |
tree | d306d08bc32edba292cf9aa85c3be8ba009c1b1c /spec/models | |
parent | f48c7689d230b915ed740a4774736bd5998cbc66 (diff) | |
parent | b31b232edfcc7f04acf828bf6829ab716b290692 (diff) |
Merge branch 'master' into glitch-soc/merge-upstream
Conflicts: - app/controllers/directories_controller.rb - package.json - yarn.lock
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/domain_allow_spec.rb | 5 | ||||
-rw-r--r-- | spec/models/tag_spec.rb | 34 |
2 files changed, 39 insertions, 0 deletions
diff --git a/spec/models/domain_allow_spec.rb b/spec/models/domain_allow_spec.rb new file mode 100644 index 000000000..e65435127 --- /dev/null +++ b/spec/models/domain_allow_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe DomainAllow, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/tag_spec.rb b/spec/models/tag_spec.rb index 9a30ceaa5..5f07fd618 100644 --- a/spec/models/tag_spec.rb +++ b/spec/models/tag_spec.rb @@ -82,6 +82,40 @@ RSpec.describe Tag, type: :model do end end + describe '.find_normalized' do + it 'returns tag for a multibyte case-insensitive name' do + upcase_string = 'abcABCabcABCやゆよ' + downcase_string = 'abcabcabcabcやゆよ'; + + tag = Fabricate(:tag, name: downcase_string) + expect(Tag.find_normalized(upcase_string)).to eq tag + end + end + + describe '.matching_name' do + it 'returns tags for multibyte case-insensitive names' do + upcase_string = 'abcABCabcABCやゆよ' + downcase_string = 'abcabcabcabcやゆよ'; + + tag = Fabricate(:tag, name: downcase_string) + expect(Tag.matching_name(upcase_string)).to eq [tag] + end + end + + describe '.find_or_create_by_names' do + it 'runs a passed block once per tag regardless of duplicates' do + upcase_string = 'abcABCabcABCやゆよ' + downcase_string = 'abcabcabcabcやゆよ'; + count = 0 + + Tag.find_or_create_by_names([upcase_string, downcase_string]) do |tag| + count += 1 + end + + expect(count).to eq 1 + end + end + describe '.search_for' do it 'finds tag records with matching names' do tag = Fabricate(:tag, name: "match") |