mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	Wordle has recently become a thing and it uses green, yellow and white (or black in dark mode) large square unicode characters to let people share their gameplay. Zulip converts the white and black large square unicode characters to emojis, but not the green and yellow ones. This causes the Wordle grid to be misaligned when shared on Zulip. This commit adds green and yellow large square emojis to our emoji list to fix the problem.
		
			
				
	
	
		
			63 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
 | 
						|
const {strict: assert} = require("assert");
 | 
						|
 | 
						|
const _ = require("lodash");
 | 
						|
 | 
						|
const {zrequire} = require("../zjsunit/namespace");
 | 
						|
const {run_test} = require("../zjsunit/test");
 | 
						|
 | 
						|
const emoji = zrequire("../shared/js/emoji");
 | 
						|
const emoji_picker = zrequire("emoji_picker");
 | 
						|
 | 
						|
const emoji_codes = zrequire("../generated/emoji/emoji_codes.json");
 | 
						|
 | 
						|
run_test("initialize", () => {
 | 
						|
    emoji.initialize({
 | 
						|
        realm_emoji: {},
 | 
						|
        emoji_codes,
 | 
						|
    });
 | 
						|
    emoji_picker.initialize();
 | 
						|
 | 
						|
    const complete_emoji_catalog = _.sortBy(emoji_picker.complete_emoji_catalog, "name");
 | 
						|
    assert.equal(complete_emoji_catalog.length, 11);
 | 
						|
    assert.equal(emoji.emojis_by_name.size, 1052);
 | 
						|
 | 
						|
    let total_emoji_in_categories = 0;
 | 
						|
 | 
						|
    function assert_emoji_category(ele, icon, num) {
 | 
						|
        assert.equal(ele.icon, icon);
 | 
						|
        assert.equal(ele.emojis.length, num);
 | 
						|
        function check_emojis(val) {
 | 
						|
            for (const this_emoji of ele.emojis) {
 | 
						|
                assert.equal(this_emoji.is_realm_emoji, val);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        if (ele.name === "Custom") {
 | 
						|
            check_emojis(true);
 | 
						|
        } else {
 | 
						|
            check_emojis(false);
 | 
						|
            total_emoji_in_categories += ele.emojis.length;
 | 
						|
        }
 | 
						|
    }
 | 
						|
    const popular_emoji_count = 6;
 | 
						|
    const zulip_emoji_count = 1;
 | 
						|
    assert_emoji_category(complete_emoji_catalog.pop(), "fa-car", 170);
 | 
						|
    assert_emoji_category(complete_emoji_catalog.pop(), "fa-hashtag", 197);
 | 
						|
    assert_emoji_category(complete_emoji_catalog.pop(), "fa-smile-o", 129);
 | 
						|
    assert_emoji_category(complete_emoji_catalog.pop(), "fa-star-o", popular_emoji_count);
 | 
						|
    assert_emoji_category(complete_emoji_catalog.pop(), "fa-thumbs-o-up", 102);
 | 
						|
    assert_emoji_category(complete_emoji_catalog.pop(), "fa-lightbulb-o", 189);
 | 
						|
    assert_emoji_category(complete_emoji_catalog.pop(), "fa-cutlery", 92);
 | 
						|
    assert_emoji_category(complete_emoji_catalog.pop(), "fa-flag", 5);
 | 
						|
    assert_emoji_category(complete_emoji_catalog.pop(), "fa-cog", 1);
 | 
						|
    assert_emoji_category(complete_emoji_catalog.pop(), "fa-leaf", 104);
 | 
						|
    assert_emoji_category(complete_emoji_catalog.pop(), "fa-soccer-ball-o", 63);
 | 
						|
 | 
						|
    // The popular emoji appear twice in the picker, and the zulip emoji is special
 | 
						|
    assert.equal(
 | 
						|
        emoji.emojis_by_name.size,
 | 
						|
        total_emoji_in_categories - popular_emoji_count + zulip_emoji_count,
 | 
						|
    );
 | 
						|
});
 |