diff --git a/emoji/002A.png b/emoji/002A.png new file mode 100644 index 000000000..9396efc78 Binary files /dev/null and b/emoji/002A.png differ diff --git a/emoji/1F394.png b/emoji/1F394.png new file mode 100644 index 000000000..8d2e2e635 Binary files /dev/null and b/emoji/1F394.png differ diff --git a/emoji/1F7D5.png b/emoji/1F7D5.png new file mode 100644 index 000000000..649ee3316 Binary files /dev/null and b/emoji/1F7D5.png differ diff --git a/emoji/20E3.png b/emoji/20E3.png new file mode 100644 index 000000000..f3415be0a Binary files /dev/null and b/emoji/20E3.png differ diff --git a/emoji/2388.png b/emoji/2388.png new file mode 100644 index 000000000..19ab44c8e Binary files /dev/null and b/emoji/2388.png differ diff --git a/emoji/2607.png b/emoji/2607.png new file mode 100644 index 000000000..5244ea431 Binary files /dev/null and b/emoji/2607.png differ diff --git a/emoji/261A.png b/emoji/261A.png new file mode 100644 index 000000000..991da46a1 Binary files /dev/null and b/emoji/261A.png differ diff --git a/emoji/2680.png b/emoji/2680.png new file mode 100644 index 000000000..7ada6e1ad Binary files /dev/null and b/emoji/2680.png differ diff --git a/emoji/26A2.png b/emoji/26A2.png new file mode 100644 index 000000000..167e10dd5 Binary files /dev/null and b/emoji/26A2.png differ diff --git a/emoji/26B3.png b/emoji/26B3.png new file mode 100644 index 000000000..28ff2d0d9 Binary files /dev/null and b/emoji/26B3.png differ diff --git a/emoji/26E2.png b/emoji/26E2.png new file mode 100644 index 000000000..ad2a7b891 Binary files /dev/null and b/emoji/26E2.png differ diff --git a/emoji/26E8.png b/emoji/26E8.png new file mode 100644 index 000000000..815674746 Binary files /dev/null and b/emoji/26E8.png differ diff --git a/emoji/2700.png b/emoji/2700.png new file mode 100644 index 000000000..0012f48b7 Binary files /dev/null and b/emoji/2700.png differ diff --git a/emoji/default_emoji.json b/emoji/default_emoji.json index 59a231cfc..d4818af2e 100644 --- a/emoji/default_emoji.json +++ b/emoji/default_emoji.json @@ -23,6 +23,8 @@ "atomsymbol": "269B", "autorickshaw": "1F6FA", "babyangel": "1F47C", + "demon": "1F47F", + "devil": "1F47F", "backhandindexpointingup": "1F446", "badminton": "1F3F8", "badger": "1F9A1", @@ -121,14 +123,12 @@ "desktopcomputer": "1F5A5", "diamond": "2666", "dieface1": "2680", - "digitzero": "0030", "dinosaur": "1F995", "dismay": "1F623", "divingmask": "1F93F", "dizzyface": "1F635", "dog": "1F415", "dogface": "1F436", - "dominotilehorizontalback": "1F030", "donut": "1F369", "doublecurlyloop": "27BF", "doubledfemalesign": "26A2", @@ -141,7 +141,6 @@ "ear": "1F442", "earwithhearingaid": "1F9BB", "eat": "1F37D", - "eight": "0038", "eightspokedasterisk": "2733", "ejectbutton": "23CF", "elephant": "1F418", @@ -163,14 +162,12 @@ "filmframes": "1F39E", "filmprojector": "1F4FD", "finish": "1F3C1", - "five": "0035", "flexedbiceps": "1F4AA", "floppydisk": "1F4BE", "football": "26BD", "football2": "1F3C9", "forkandknifewithplate": "1F37D", "fountain": "26F2", - "four": "0034", "framedpicture": "1F5BC", "frogface": "1F438", "frown": "1F626", @@ -192,6 +189,8 @@ "guidedog": "1F9AE", "halloween": "1F383", "wrench": "1F527", + "handgun": "1F52B", + "pistol": "1F52B", "spanner": "1F527", "hammer": "1F528", "hammerandpick": "2692", @@ -207,7 +206,6 @@ "heartanarchy2": "heartanarchy2", "heartexclamation": "2763", "hearttipleft": "1F394", - "heavycircle": "26E3", "hedgehog": "1F994", "helmsymbol": "2388", "hen": "1F414", @@ -232,6 +230,7 @@ "keyboard": "2328", "keyboard2": "1F3B9", "kickscooter": "1F6F4", + "diamondblue": "1F48E", "kiss": "1F48F", "kissing": "1F617", "kissingface": "1F617", @@ -247,7 +246,6 @@ "laughingcat": "1F639", "leafygreen": "1F96C", "leftarrow": "2B05", - "lefthandtelephonereceiver": "1F57B", "leftrightarrow": "2194", "leftspeechbubble": "1F5E8", "leg": "1F9B5", @@ -264,7 +262,6 @@ "loveletter": "1F48C", "loveyougesture": "1F91F", "mahjongreddragon": "1F004", - "mahjongtileeastwind": "1F000", "male": "2642", "mandancing": "1F57A", "maninsuitlevitating": "1F574", @@ -282,15 +279,10 @@ "music": "1F3B5", "nailpolish": "1F485", "network": "E249", - "neuter": "26B2", - "neutralchessking": "1FA00", "noentry": "26D4", - "none": "0039", - "numbersign": "0023", "obutton(bloodtype)": "1F17E", "octopus": "1F419", "om": "1F549", - "one": "0031", "oneo\u2019clock": "1F550", "onion": "1F9C5", "ophiuchus": "26CE", @@ -298,7 +290,6 @@ "orangecircle": "1F7E0", "orca": "1F433", "orthodoxcross": "2626", - "outlinedwhitestar": "269D", "owl": "1F989", "partalternationmark": "303D", "partyingface": "1F973", @@ -350,7 +341,6 @@ "radioactive": "2622", "rainbow": "1F308", "raisedfist": "270A", - "raisedmrsign": "1F16C", "rat": "1F400", "recycle": "267B", "recycling": "267B", @@ -360,18 +350,15 @@ "registered": "00AE", "rescueworkershelmet": "26D1", "reversebutton": "25C0", - "reversedrotatedfloralheartbullet": "2619", "ribbon": "1F380", "rightangerbubble": "1F5EF", "rightarrow": "27A1", "rightarrowcurvingleft": "21A9", "rightarrowcurvingup": "2934", - "rightspeaker": "1F568", "ringedplanet": "1FA90", "robot": "1F916", "rocket": "1F680", "rose": "1F339", - "roundedsymbolforfu": "1F260", "rugby": "1F3C8", "sad": "1F614", "sadcat": "1F63F", @@ -386,7 +373,6 @@ "scissors": "2702", "secret": "1F92B", "selfie": "1F933", - "seven": "0037", "shamrock": "2618", "shark": "1F988", "sheep": "1F411", @@ -397,7 +383,6 @@ "sick": "1F915", "signofthehorns": "1F918", "silly": "1F92A", - "six": "0036", "skate": "1F3BF", "skateboard": "1F6F9", "skier": "26F7", @@ -430,13 +415,11 @@ "stopsign": "1F6D1", "strawberry": "1F353", "studiomicrophone": "1F399", - "stupa": "1F6D3", "sun": "2600", "sunbehindsmallcloud": "1F324", "superhero": "1F9B8", "swim": "1F3CA", "tabletennis": "1F3D3", - "tagspace": "E0020", "tea": "1F372", "telephone": "260E", "tennisball": "1F3BE", @@ -455,13 +438,9 @@ "turtle": "1F422", "twitter": "E040", "birdsite": "E040", - "two": "0032", "umbrellawithraindrops": "2614", "unamusedface": "1F612", - "universalrecyclingsymbol": "2672", - "upperbladescissors": "2701", "upsidedownface": "1F643", - "variationselector16": "FE0F", "victoryhand": "270C", "videocamera": "1F4F9", "violin": "1F3BB", @@ -471,32 +450,23 @@ "waveman": "1F64B-1F3FE-200D-2642-FE0F", "wavewoman": "1F64B-1F3FE-200D-2640-FE0F", "wavydash": "3030", - "westsyriaccross": "2670", "wheelchairsymbol": "267F", "wheelchair": "1F9BD", "wheelofdharma": "2638", "whitecircle": "26AA", - "whitedraughtsman": "26C0", - "whiteflag": "2690", "whiteheart": "1F90D", - "whitelatincross": "1F546", "whitemediumsmallsquare": "25FD", "whitemediumsquare": "25FB", - "whitepennant": "1F3F1", - "whiteshogipiece": "2616", "wiltedflower": "1F940", "wine": "1F377", "winkingfacewithtongue": "1F61C", "worldmap": "1F5FA", "worried": "1F627", "worriedface": "1F61F", - "xiangqiredgeneral": "1FA60", "yawn": "1F971", "yawningface": "1F971", "yoyo": "1FA80", "zebra": "1F993", - "zero": "0030", - "zerowidthjoiner": "200D", "zippermouthface": "1F910", "ghost": "1F47B", "spaceinvader": "1F47E", @@ -759,6 +729,8 @@ "snake": "2695", "battle": "2694", "crown": "1F451", + "shirt": "1F454", + "tshirt": "1F455", "sunflower": "1F33B", "honey": "1F36F", "bee": "1F41D", @@ -766,7 +738,6 @@ "ladybug": "1F41E", "fish": "1F41F", "mobilityscooter": "1F9BC", - "sad": "sad", "globe": "1F30D", "world": "1F30E", "planet": "1F30D", diff --git a/tests.py b/tests.py index 26c8bff6b..baf92a34c 100644 --- a/tests.py +++ b/tests.py @@ -3400,9 +3400,24 @@ def testCamelCaseSplit(): assert camelCaseSplit(testStr) == 'Notcamelcase test' +def testEmojiImages(): + print('testEmojiImages') + emojiFilename = 'emoji/default_emoji.json' + assert os.path.isfile(emojiFilename) + emojiJson = loadJson(emojiFilename) + assert emojiJson + for emojiName, emojiImage in emojiJson.items(): + emojiImageFilename = 'emoji/' + emojiImage + '.png' + if not os.path.isfile(emojiImageFilename): + print('Missing emoji image ' + emojiName + ' ' + + emojiImage + '.png') + assert os.path.isfile(emojiImageFilename) + + def runAllTests(): print('Running tests...') testFunctions() + testEmojiImages() testCamelCaseSplit() testSpeakerReplaceLinks() testExtractTextFieldsInPOST()