#!/usr/bin/env perl use strict; use warnings; use Test::Simple tests => 8; use Mock::CommandRegistry; use Plugin::Thanks; my @expected_commands = qw/thanks thanks. thanks! thanks?/; my $cr = new Mock::CommandRegistry; my $register = sub { $cr->register(@_); }; Plugin::Thanks->configure($register, undef, undef, undef); for my $cmd (@expected_commands) { my $is_registered = $cr->is_registered_to_owner("Plugin::Thanks", $cmd); ok($is_registered, "registered command $cmd"); } my $thanker = "somelad"; my %ctx = ( irc => undef, logger => undef, who => "$thanker!who\@example.com", where => undef, ided => undef, rest => undef, no_reenter => undef, args => undef ); my $expected = "$thanker: pong"; for my $cmd (@expected_commands) { my $response = $cr->run_owned("Plugin::Thanks", $cmd, %ctx); ok($response =~ m/^\Q$thanker\E: /, "response addressed to thanker"); }