diff options
author | Valery Sizov <valery@gitlab.com> | 2016-04-14 19:38:17 +0300 |
---|---|---|
committer | Valery Sizov <valery@gitlab.com> | 2016-04-14 20:45:55 +0300 |
commit | 6ae2680ce7159eedd37e89c7aa99688949139f11 (patch) | |
tree | c7f155cd5bb51b7e069839595fc819ac500f6fdc | |
parent | dd9ced0af9514c0cf511c8f0f10d19c014fa4d19 (diff) | |
download | gitlab-ce-6ae2680ce7159eedd37e89c7aa99688949139f11.tar.gz |
Emoji categories fix
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | lib/award_emoji.rb | 16 | ||||
-rw-r--r-- | spec/lib/award_emoji_spec.rb | 7 |
3 files changed, 21 insertions, 3 deletions
diff --git a/CHANGELOG b/CHANGELOG index 9aa40fae18e..4a9a5c1bc36 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -66,6 +66,7 @@ v 8.7.0 (unreleased) - Improved markdown forms - Diffs load at the correct point when linking from from number - Selected diff rows highlight + - Fix emoji catgories in the emoji picker v 8.6.6 - Fix error on language detection when repository has no HEAD (e.g., master branch). !3654 (Jeroen Bobbeldijk) diff --git a/lib/award_emoji.rb b/lib/award_emoji.rb index 4fc3443ac68..5f8ff01b0a9 100644 --- a/lib/award_emoji.rb +++ b/lib/award_emoji.rb @@ -14,19 +14,29 @@ class AwardEmoji food_drink: "Food" }.with_indifferent_access + CATEGORY_ALIASES = { + symbols: "objects_symbols", + foods: "food_drink", + travel: "travel_places" + }.with_indifferent_access + def self.normilize_emoji_name(name) aliases[name] || name end def self.emoji_by_category unless @emoji_by_category - @emoji_by_category = {} + @emoji_by_category = Hash.new { |h, key| h[key] = [] } emojis.each do |emoji_name, data| data["name"] = emoji_name - @emoji_by_category[data["category"]] ||= [] - @emoji_by_category[data["category"]] << data + # Skip Fitzpatrick(tone) modifiers + next if data["category"] == "modifier" + + category = CATEGORY_ALIASES[data["category"]] || data["category"] + + @emoji_by_category[category] << data end @emoji_by_category = @emoji_by_category.sort.to_h diff --git a/spec/lib/award_emoji_spec.rb b/spec/lib/award_emoji_spec.rb index 330678f7f16..88c22912950 100644 --- a/spec/lib/award_emoji_spec.rb +++ b/spec/lib/award_emoji_spec.rb @@ -16,4 +16,11 @@ describe AwardEmoji do end end end + + describe '.emoji_by_category' do + it "only contains known categories" do + undefined_categories = AwardEmoji.emoji_by_category.keys - AwardEmoji::CATEGORIES.keys + expect(undefined_categories).to be_empty + end + end end |