ASP4x-Linker

 view release on metacpan or  search on metacpan

t/010-basic/040-links.t  view on Meta::CPAN

#!/usr/bin/perl -w

use strict;
use warnings 'all';
use Test::More 'no_plan';
use ASP4::API;

my $api; BEGIN { $api = ASP4::API->new }

use_ok('ASP4x::Linker');
use_ok('Router::Generic');

NO_VARS: {
  $api->ua->get('/');

  my $linker = ASP4x::Linker->new();

  $linker->add_widget(
    name  => "widgetA",
    attrs => [qw/ page_number page_size sort_dir sort_col /]
  );

  $linker->add_widget(
    name  => "widgetB",
    attrs => [qw/ page_number page_size sort_dir sort_col /]
  );

  $linker->add_widget(
    name  => "widgetC",
    attrs => [qw/ size type color /]
  );

  $linker->add_widget(
    name  => "widgetD",
    attrs => [qw/ size type color /]
  );
  


  is( $linker->uri() => '/', "/" );

  is(
    $linker->uri({
      widgetA => { page_number => 2 }
    }) => '/?widgetA.page_number=2'
  );

  is(
    $linker->uri({
      widgetA => {
        page_number => 2,
        page_size   => 20,
        sort_col    => 'name',
        sort_dir    => 'ASC'
      }
    }) => '/?widgetA.page_number=2&widgetA.page_size=20&widgetA.sort_col=name&widgetA.sort_dir=ASC'
  );
};



WITH_VARS: {
  $api->ua->get('/?widgetA.page_number=24&widgetB.page_size=100&widgetC.color=blue&widgetD.type=hat');

  my $linker = ASP4x::Linker->new();



( run in 0.976 second using v1.01-cache-2.11-cpan-39bf76dae61 )