diff options
Diffstat (limited to 't/release/servers')
-rw-r--r-- | t/release/servers/01-basic.pl | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/t/release/servers/01-basic.pl b/t/release/servers/01-basic.pl new file mode 100644 index 0000000..086e213 --- /dev/null +++ b/t/release/servers/01-basic.pl @@ -0,0 +1,62 @@ +use strict; +use warnings; +use JSON::Meth; +use 5.020; +use POE qw(Component::Server::IRC); + +$|++; + +my ($Port) = @ARGV; + +my %config = ( + servername => 'simple.poco.server.irc', + nicklen => 15, + network => 'SimpleNET' +); + +my $pocosi = POE::Component::Server::IRC->spawn( config => \%config ); + +POE::Session->create( + package_states => [ + 'main' => [qw(_start _default)], + ], + heap => { ircd => $pocosi }, +); + +$poe_kernel->run(); + +sub _start { + my ($kernel, $heap) = @_[KERNEL, HEAP]; + + $heap->{ircd}->yield('register', 'all'); + $heap->{ircd}->add_auth(mask => '*@*'); + $heap->{ircd}->add_listener(port => $Port); + $heap->{ircd}->add_operator({ + username => 'moo', + password => 'fishdont', + }); +} + +sub _default { + my ($event, @args) = @_[ARG0 .. $#_]; + say { + event => $event, + args => \@args, + }->$j; + + + # print "$event: "; + # for my $arg (@args) { + # if (ref($arg) eq 'ARRAY') { + # print "[", join ( ", ", @$arg ), "] "; + # } + # elsif (ref($arg) eq 'HASH') { + # print "{", join ( ", ", %$arg ), "} "; + # } + # else { + # print "'$arg' "; + # } + # } + # + # print "\n"; + } |