summaryrefslogtreecommitdiffstats
path: root/t/attrs.t
diff options
context:
space:
mode:
Diffstat (limited to 't/attrs.t')
-rw-r--r--t/attrs.t38
1 files changed, 38 insertions, 0 deletions
diff --git a/t/attrs.t b/t/attrs.t
new file mode 100644
index 0000000..7451ddc
--- /dev/null
+++ b/t/attrs.t
@@ -0,0 +1,38 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+
+package Foo;
+
+sub new {
+ my $class = shift;
+ bless { @_ }, $class;
+}
+
+sub foo {
+ my $self = shift;
+ return $self->{foo} unless @_;
+ $self->{foo} = shift;
+}
+
+package Foo::Moose;
+use Moose;
+use MooseX::NonMoose;
+extends 'Foo';
+
+has bar => (
+ is => 'rw',
+);
+
+package main;
+
+my $foo_moose = Foo::Moose->new(foo => 'FOO', bar => 'BAR');
+is($foo_moose->foo, 'FOO', 'foo set in constructor');
+is($foo_moose->bar, 'BAR', 'bar set in constructor');
+$foo_moose->foo('BAZ');
+$foo_moose->bar('QUUX');
+is($foo_moose->foo, 'BAZ', 'foo set by accessor');
+is($foo_moose->bar, 'QUUX', 'bar set by accessor');
+
+done_testing;