Use Unicode::Normalize
authorMarius Gavrilescu <marius@ieval.ro>
Thu, 29 Jan 2015 07:57:01 +0000 (09:57 +0200)
committerMarius Gavrilescu <marius@ieval.ro>
Thu, 29 Jan 2015 07:57:01 +0000 (09:57 +0200)
lib/POE/Component/IRC/Plugin/Hello.pm
t/POE-Component-IRC-Plugin-Hello.t

index 75e2f5b3829bc0a43581451c4233600e2b0fc764..f559fd2e7be9fe000f9dc2b59789ca07d6611423 100644 (file)
@@ -5,6 +5,7 @@ use strict;
 use warnings;
 use utf8;
 use Encode qw/encode decode/;
+use Unicode::Normalize qw/NFC/;
 
 our $VERSION = '0.001002';
 
@@ -43,7 +44,7 @@ sub S_public{
        my ($self, $irc, $rfullname, $rchannels, $rmessage) = @_;
        my $nick = parse_user $$rfullname;
        my $mynick = $irc->nick_name;
-       my $message = decode 'UTF-8', $$rmessage;
+       my $message = NFC decode 'UTF-8', $$rmessage;
        my @hello = @{$self->{greetings}};
 
        my $match = first { $message =~ /^\s*(?:$mynick(?:)[:,])?\s*$_\s*[.!]?\s*$/i } @hello;
index 526f0bf27cd4b363ba339759b4c5a3bf2b6d4fb2..edd071ead136c44b39ff8708cb4f690fb9b69b94 100644 (file)
@@ -3,7 +3,7 @@ use v5.14;
 use strict;
 use warnings;
 
-use Test::More tests => 18;
+use Test::More tests => 19;
 use Test::MockObject;
 
 BEGIN { use_ok('POE::Component::IRC::Plugin::Hello') };
@@ -34,6 +34,7 @@ runtest 'ahoy', 1, 'ahoy';
 runtest 'namaste', 1, 'namaste';
 runtest 'neaţa', 1, 'neaţa (UTF-8 test)';
 runtest 'こんにちは', 1, 'こんにちは (another UTF-8 test)';
+runtest 'neața', 1, 'neața (UTF-8 with combining comma below)';
 
 runtest 'salu', 0, 'salu (misspelling)';
 runtest 'hii', 0, 'hii (misspelling)';
This page took 0.011616 seconds and 4 git commands to generate.