package Test::Shared::Fixture::Data::InfoBox::Items; use base qw(Data::InfoBox); use strict; use warnings; use Data::Icon; use Data::InfoBox::Item 0.03; use Data::Text::Simple; use Unicode::UTF8 qw(decode_utf8); our $VERSION = 0.06; sub new { my $class = shift; my @params = ( 'items' => [ Data::InfoBox::Item->new( 'icon' => Data::Icon->new( 'color' => 'green', 'char' => decode_utf8('✓'), ), 'text' => Data::Text::Simple->new( 'lang' => 'en', 'text' => 'Create project', ), ), Data::InfoBox::Item->new( 'text' => Data::Text::Simple->new( 'lang' => 'en', 'text' => 'Present project', ), ), Data::InfoBox::Item->new( 'icon' => Data::Icon->new( 'color' => 'red', 'char' => decode_utf8('✗'), ), 'text' => Data::Text::Simple->new( 'lang' => 'en', 'text' => 'Add money to project', ), ), Data::InfoBox::Item->new( 'text' => Data::Text::Simple->new( 'lang' => 'en', 'text' => 'Finish project', ), ), ], ); my $self = $class->SUPER::new(@params); return $self; } 1; __END__ =pod =encoding utf8 =head1 NAME Test::Shared::Fixture::Data::InfoBox::Items - Items info box fixture. =head1 SYNOPSIS use Test::Shared::Fixture::Data::InfoBox::Items; my $obj = Test::Shared::Fixture::Data::InfoBox::Items->new; my $items_ar = $obj->items; =head1 METHODS =head2 C<new> my $obj = Test::Shared::Fixture::Data::InfoBox::Items->new; Constructor. Returns instance of object. =head2 C<items> my $items_ar = $obj->items; Get list of items in info box. Returns reference to array with L<Data::InfoBox::Item> objects. =head1 EXAMPLE =for comment filename=create_items_fixture_object_and_print.pl use strict; use warnings; use Term::ANSIColor; use Test::Shared::Fixture::Data::InfoBox::Items; use Unicode::UTF8 qw(encode_utf8); my $obj = Test::Shared::Fixture::Data::InfoBox::Items->new; # Print out. my $num = 0; foreach my $item (@{$obj->items}) { $num++; my $icon_char = defined $item->icon ? color($item->icon->color).encode_utf8($item->icon->char).color('reset') : ' '; print $icon_char.' '.encode_utf8($item->text->text)."\n"; } # Output (real output is colored): # ✓ Create project # Present project # ✗ Add money to project # Finish project =head1 DEPENDENCIES L<Data::Icon>, L<Data::InfoBox>, L<Data::InfoBox::Item>, L<Data::Text::Simple>, L<Unicode::UTF8>. =head1 REPOSITORY L<https://github.com/michal-josef-spacek/Data-InfoBox> =head1 AUTHOR Michal Josef Å paÄek L<mailto:skim@cpan.org> L<http://skim.cz> =head1 LICENSE AND COPYRIGHT © 2024-2025 Michal Josef Å paÄek BSD 2-Clause License =head1 VERSION 0.06 =cut