#!/usr/bin/env perl
use strict;
use warnings;
use Test::More;
use Test::Fatal;
{
package Foo;
use Moose;
use Bread::Board::Declare;
::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 bar2 => (
is => 'ro',
isa => 'Str',
builder => '_build_bar2',
value => 'FOO',
);
}, qr/builder is not valid when Bread::Board service options are set/,
"can't set a builder 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");
::like(::exception {
has quux2 => (
is => 'ro',
isa => 'Str',
lazy => 1,
builder => '_build_quux2',
value => 'FOO',
);
}, qr/builder is not valid when Bread::Board service options are set/,
"can't set a builder when creating a service");
::like(::exception {
has quux3 => (
is => 'ro',
isa => 'Str',
lazy_build => 1,
value => 'FOO',
);
}, qr/builder is not valid when Bread::Board service options are set/,
"can't set lazy_build when creating a service");
}
done_testing;