#!/usr/bin/perl use warnings; use strict; use lib qw(./lib); use Test::More tests => 13; use Bot::BasicBot::Pluggable; use Bot::BasicBot::Pluggable::Module; our $store; no warnings 'redefine'; sub Bot::BasicBot::Pluggable::Module::store { $store ||= Bot::BasicBot::Pluggable::Store->new; } ok( my $base = Bot::BasicBot::Pluggable::Module->new(), "created base module" ); ok( $base->var( 'test', 'value' ), "set variable" ); ok( $base->var('test') eq 'value', 'got variable' ); ok( $base = Bot::BasicBot::Pluggable::Module->new(), "created new base module" ); ok( $base->var('test') eq 'value', 'got old variable' ); ok( $base->unset('test'), 'unset variable' ); ok( !defined( $base->var('test') ), "it's gone" ); # very hard to do anything but check existence of these methods ok( $base->can($_), "'$_' exists" ) for (qw(said connected tick emoted init)); ok( $base->help, "help returns something" );