| 1 |
root |
1.3 |
use common::sense; |
| 2 |
|
|
use Test::More; |
| 3 |
|
|
|
| 4 |
root |
1.4 |
# Modules that need only the mandatory distribution dependencies. |
| 5 |
|
|
# Optional components such as Worker::IMAP have their own tests. |
| 6 |
|
|
for my $module (qw( |
| 7 |
|
|
AnyEvent::MCP |
| 8 |
|
|
AnyEvent::MCP::Client |
| 9 |
|
|
AnyEvent::MCP::Client::HTTP |
| 10 |
|
|
AnyEvent::MCP::Client::JSONL |
| 11 |
|
|
AnyEvent::MCP::Client::Request |
| 12 |
|
|
AnyEvent::MCP::Config |
| 13 |
|
|
AnyEvent::MCP::Extension |
| 14 |
|
|
AnyEvent::MCP::Helper |
| 15 |
|
|
AnyEvent::MCP::Permissions::Ask |
| 16 |
|
|
AnyEvent::MCP::Server |
| 17 |
|
|
AnyEvent::MCP::Server::Connect |
| 18 |
|
|
AnyEvent::MCP::Server::HTTP |
| 19 |
|
|
AnyEvent::MCP::Server::JSONL |
| 20 |
|
|
AnyEvent::MCP::Server::Permissions |
| 21 |
|
|
AnyEvent::MCP::Server::Request |
| 22 |
|
|
AnyEvent::MCP::Server::Simple |
| 23 |
|
|
AnyEvent::MCP::Server::Toolset |
| 24 |
|
|
AnyEvent::MCP::Workdirs |
| 25 |
|
|
)) { |
| 26 |
root |
1.3 |
require_ok $module; |
| 27 |
|
|
} |
| 28 |
root |
1.2 |
|
| 29 |
|
|
my $text = "\x{e4}\x{1f642}"; |
| 30 |
|
|
my $bytes = AnyEvent::MCP::utf8enc $text; |
| 31 |
root |
1.3 |
is $bytes, "\xc3\xa4\xf0\x9f\x99\x82", "encode UTF-8"; |
| 32 |
|
|
is AnyEvent::MCP::utf8dec ($bytes), $text, "decode UTF-8"; |
| 33 |
|
|
is $text, "\x{e4}\x{1f642}", "source is unchanged"; |
| 34 |
root |
1.2 |
eval { AnyEvent::MCP::utf8dec ("\xff") }; |
| 35 |
root |
1.3 |
ok $@, "reject invalid UTF-8"; |
| 36 |
|
|
|
| 37 |
|
|
done_testing; |