From 209100060d31fc0ac64676dea89adb6b8b0c1fb5 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 21 Feb 2011 01:18:10 -0600 Subject: die if a default is set in a service attribute --- t/32-defaults.t | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 t/32-defaults.t (limited to 't/32-defaults.t') diff --git a/t/32-defaults.t b/t/32-defaults.t new file mode 100644 index 0000000..d3f1485 --- /dev/null +++ b/t/32-defaults.t @@ -0,0 +1,55 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; +use Test::Fatal; + +{ + package Foo; + use Moose; + use MooseX::Bread::Board; + + ::like(::exception { + has foo => ( + is => 'ro', + isa => 'Str', + default => 'OOF', + value => 'FOO', + ); + }, qr/default is not valid when Bread::Board service options are set/, + "can't set a default when creating a service"); + + ::like(::exception { + has bar => ( + is => 'ro', + isa => 'Str', + default => sub { 'OOF' }, + value => 'FOO', + ); + }, qr/default is not valid when Bread::Board service options are set/, + "can't set a default when creating a service"); + + ::like(::exception { + has baz => ( + is => 'ro', + isa => 'Str', + lazy => 1, + default => 'OOF', + value => 'FOO', + ); + }, qr/default is not valid when Bread::Board service options are set/, + "can't set a default when creating a service"); + + ::like(::exception { + has quux => ( + is => 'ro', + isa => 'Str', + lazy => 1, + default => sub { 'OOF' }, + value => 'FOO', + ); + }, qr/default is not valid when Bread::Board service options are set/, + "can't set a default when creating a service"); +} + +done_testing; -- cgit v1.2.3