#!/usr/local/bin/perl
package X;
use Class::MakeMethods::Emulator::MethodMaker
abstract => [ qw / a b / ],
abstract => 'c';
sub new { bless {}, shift; }
package Y;
use vars '@ISA';
@ISA = qw ( X );
package main;
BEGIN { unshift @INC, ( $0 =~ /\A(.*?)[\w\.]+\z/ )[0] }
use Test;
my $o = new Y;
TEST { 1 };
TEST {
eval { $o->a } ;
$@ =~ /\QCan't locate abstract method "a" declared in "X" via "Y"./ or
$@ =~ /\QCan't locate abstract method "a" declared in "X", called from "Y"./;
};
exit 0;
syntax highlighted by Code2HTML, v. 0.9.1