We only need local $? if we inline calls to DEMOLISH
[gitmo/Moose.git] / t / test_moose / with_immutable.t
CommitLineData
f2ca7ada 1#!/usr/bin/perl
2
3use strict;
4use warnings;
5
a28e50e4 6use Test::Builder::Tester;
f2ca7ada 7use Test::More;
8
28fdde7f 9use Test::Moose;
f2ca7ada 10
11{
12 package Foo;
13 use Moose;
14}
15
92c04d5e 16{
17 package Bar;
18 use Moose;
19}
20
f2ca7ada 21package main;
22
23test_out("ok 1", "not ok 2");
24test_fail(+2);
92c04d5e 25my $ret = with_immutable {
f2ca7ada 26 ok(Foo->meta->is_mutable);
27} qw(Foo);
92c04d5e 28test_test('with_immutable failure');
29ok(!$ret, "one of our tests failed");
f2ca7ada 30
92c04d5e 31test_out("ok 1", "ok 2");
32$ret = with_immutable {
33 ok(Bar->meta->find_method_by_name('new'));
34} qw(Bar);
35test_test('with_immutable success');
36ok($ret, "all tests succeeded");
a28e50e4 37
38done_testing;