File Coverage

blib/lib/Mojo/Webqq/Message/Emoji.pm
Criterion Covered Total %
statement 0 17 0.0
branch 0 8 0.0
condition n/a
subroutine 0 1 0.0
pod 0 1 0.0
total 0 27 0.0


line stmt bran cond sub pod time code
1             my %EMOJI_MAP = qw(
2             :100: 100分
3             :1234: 1234
4             :grinning: 笑嘻嘻
5             :joy: 高兴
6             :smiley: 微笑
7             :emoji: 失望
8             :smirk: 假笑
9             :pensive: 沉思
10             :grin: 露齿而笑
11             :wink: 眨眼
12             :scream: 尖叫
13             :confounded: 糊涂
14             :kissing_closed_eyes: 闭上眼睛亲吻
15             :stuck_out_tongue_closed_eyes: 闭眼吐舌头
16             :relieved: 放心
17             :fearful: 担心
18             :mask: 戴口罩
19             :flushed: 脸红
20             :unamused: 无趣
21             :cold_sweat: 冒冷汗
22             :astonished: 吃惊
23             :sob: 流泪
24             :stuck_out_tongue_winking_eye: 眨眼吐舌头
25             :kissing_heart: 飞吻
26             :rage: 愤怒
27             :muscle: 秀肌肉
28             :punch: 拳头猛击
29             :thumbsup: 竖起大拇指
30             :point_up: 竖起中指
31             :clap: 鼓掌
32             :v: 胜利
33             :thumbsdown: 大拇指向下
34             :pray: 祈祷
35             :ok_hand: OK
36             :point_left: 向左指
37             :point_right: 向右指
38             :point_up_2: 向上指
39             :point_down: 向下指
40             :eyes: 大眼珠
41             :nose: 鼻子
42             :lips: 嘴唇
43             :ear: 耳朵
44             :rice: 米饭
45             :spaghetti: 意大利面
46             :ramen: 拉面
47             :rice_ball: 饭团
48             :shaved_ice: 冰沙
49             :sushi: 熟食
50             :birthday: 生日蛋糕
51             :bread: 面包
52             :hamburger: 汉堡包
53             :egg: 煎鸡蛋
54             :fries: 薯条
55             :beer: 一杯啤酒
56             :beers: 啤酒
57             :cocktail: 鸡尾酒
58             :coffee: 咖啡
59             :apple: 苹果
60             :tangerine: 蜜橘
61             :strawberry: 草莓
62             :watermelon: 西瓜
63             :pill: 胶囊
64             :smoking: 抽烟
65             :christmas_tree: 圣诞树
66             :rose: 玫瑰
67             :tada: 回头见
68             :palm_tree: 椰子树
69             :gift_heart: 心形礼物
70             :ribbon: 丝带
71             :balloon: 气球
72             :shell: 贝壳
73             :ring: 钻戒
74             :bomb: 炸弹
75             :crown: 皇冠
76             :bell: 铃铛
77             :star: 星星
78             :sparkles: 闪耀
79             :dash: 冲刺
80             :sweat_drops: 汗滴
81             :fire: 火焰
82             :trophy: 奖杯
83             :moneybag: 金钱袋
84             :zzz: 睡觉
85             :zap: 闪电
86             :feet: 脚印
87             :shit: 大便
88             :syringe: 注射器
89             :hotsprings: 温泉
90             :mailbox: 邮箱
91             :key: 钥匙
92             :lock: 锁
93             :airplane: 飞机
94             :bullettrain_side: 子弹头列车
95             :red_car: 红色小汽车
96             :speedboat: 快艇
97             :bike: 自行车
98             :racehorse: 赛马
99             :rocket: 火箭
100             :bus: 公交车
101             :boat: 帆船
102             :woman: 女人
103             :man: 男人
104             :girl: 女孩
105             :boy: 男孩
106             :monkey_face: 猴子脸
107             :octopus: 章鱼
108             :pig: 猪
109             :baby_chick: 小鸡
110             :koala: 考拉
111             :cow: 奶牛
112             :chicken: 鸡
113             :frog: 青蛙
114             :ghost: 鬼魂
115             :skull: 骷髅
116             :bug: 毛毛虫
117             :tropical_fish: 热带鱼
118             :dog: 狗狗
119             :tiger: 老虎
120             :angel: 天生
121             :penguin: 海豚
122             :whale: 鲸鱼
123             :mouse: 老鼠
124             :womans_hat: 女士帽子
125             :dress: 礼服
126             :lipstick: 唇膏
127             :high_heel: 高跟鞋
128             :boot: 长筒靴
129             :closed_umbrella: 雨伞
130             :handbag: 手提袋
131             :bikini: 比基尼
132             :shirt: 衬衫
133             :shoe: 鞋子
134             :cloud: 多云
135             :sunny: 晴天
136             :umbrella: 下雨
137             :moon: 弯月
138             :snowman: 雪人
139             :o: 圈
140             :x: 叉
141             :grey_question: 灰色问号
142             :grey_exclamation: 灰色感叹号
143             :telephone: 电话
144             :camera: 相机
145             :iphone: 手机
146             :fax: 传真机
147             :computer: 电脑
148             :movie_camera: 摄像机
149             :microphone: 麦克风
150             :gun: 手枪
151             :cd: 光盘
152             :heartbeat: 心动
153             :clubs: 梅花
154             :mahjong: 麻将牌
155             :part_alternation_mark: 衣架
156             :slot_machine: 投币机
157             :traffic_light: 红绿灯
158             :construction: 施工
159             :guitar: 吉他
160             :barber: 理发店
161             :bath: 浴缸
162             :toilet: 坐便器
163             :house: 房子
164             :church: 教堂
165             :bank: 银行
166             :hospital: 医院
167             :hotel: 旅店
168             :atm: ATM
169             :convenience_store: 便利店
170             :mens: 男洗手间
171             :womens: 女洗手间
172             );
173              
174             sub Mojo::Webqq::emoji_parse{
175 0     0 0   my $self = shift;
176 0           my $data = shift;
177 0           my @result;
178 0           my $index = 0;
179 0           my $last_emoji_start = undef;
180 0           my $last_emoji_end = undef;
181 0           while($data=~/:[a-z0-9_]+:/g){
182 0 0         if(exists $EMOJI_MAP{$&}){
183 0           $last_emoji_start = $-[0];
184 0           $last_emoji_end = $+[0]-1;
185 0 0         push @result,{content=>substr($data,$index,$-[0]-$index),type=>"txt"} if $-[0]-$index >0;
186 0           push @result,{content=>"[$EMOJI_MAP{$&}]",id=>$&,type=>"emoji"};
187 0           $index = $+[0];
188             }
189             }
190 0 0         if(defined $last_emoji_end){
191 0 0         push @result,{content=>substr($data,$last_emoji_end+1),type=>"txt"} if $last_emoji_end+1 < length($data);
192             }
193             else{
194 0           push @result,{content=>$data,type=>"txt"};
195             }
196 0           return \@result;
197             }