view release on metacpan or search on metacpan
lib/CGI/Widget/DBI/TEST/Browse.pm view on Meta::CPAN
[ 'continent=North%20America[^<>]+id="categoryNavLink-North America".*', 'North America' ],
[ 'continent=South%20America[^<>]+id="categoryNavLink-South America".*', 'South America' ],
[ 'td', 'tr' ],
);
$self->assert_equals('', $self->{wb}->category_title());
$self->assert_display_does_not_contain([ 'input type="hidden' ]);
$self->assert_display_does_not_contain([ 'At first page', 'At last page' ]);
$self->assert_display_does_not_contain([ 'Sort by', 'sortby_columns_popup' ]);
$self->assert_display_does_not_contain([ 'Sort field' ]);
$self->assert_equals('continent', $self->{wb}->is_browsing());
$self->assert(! $self->{wb}->parent_category_column());
$self->assert_deep_equals([], [$self->{wb}->ancestor_category_columns()]);
}
sub test_display__top_level__works_with_stray_sortby_param
{
my $self = shift;
lib/CGI/Widget/DBI/TEST/Browse.pm view on Meta::CPAN
$self->assert_display_contains(
[ 'input type="hidden" name="continent" value="South America' ],
[ 'tr', 'td' ],
[ 'continent=South%20America&nation=Argentina[^<>]+id="categoryNavLink-Argentina".*', 'Argentina' ],
[ 'continent=South%20America&nation=Brazil[^<>]+id="categoryNavLink-Brazil".*', 'Brazil' ],
[ 'td', 'tr' ],
);
$self->assert_equals('South America', $wb->category_title());
$self->assert_display_does_not_contain([ 'At first page', 'At last page' ]);
$self->assert_display_does_not_contain([ 'Sort by', 'sortby_columns_popup' ]);
$self->assert_display_does_not_contain([ 'Sort field' ]);
}
sub test_display__second_level__uses_href_extra_vars_for_category_nav_links
{
my $self = shift;
$self->{wb}->{q}->param('href_testvar', 'foo');
$self->{wb}->{ws}->{-href_extra_vars} = { href_testvar => undef };
$self->{wb}->{q}->param('continent', 'South America');
lib/CGI/Widget/DBI/TEST/Browse.pm view on Meta::CPAN
$self->assert_display_contains(
[ 'input type="hidden" name="continent" value="Asia' ],
[ 'input type="hidden" name="nation" value="Japan' ],
[ 'tr', 'td' ],
[ 'continent=Asia&nation=Japan&state_or_province=Kanto[^<>]+id="categoryNavLink-Kanto".*', 'Kanto, Japan' ],
[ 'td', 'tr' ],
);
$self->assert_equals('Asia > Japan', $wb->category_title());
$self->assert_display_does_not_contain([ 'At first page', 'At last page' ]);
$self->assert_display_does_not_contain([ 'Sort by', 'sortby_columns_popup' ]);
$self->assert_display_does_not_contain([ 'Sort field' ]);
}
sub test_display__third_level__uses_href_extra_vars_for_category_nav_links
{
my $self = shift;
$self->{wb}->{q}->param('href_testvar', 'foo');
$self->{wb}->{ws}->{-href_extra_vars} = { href_testvar => undef };
$self->{wb}->{q}->param('continent', 'Asia');
lib/CGI/Widget/DBI/TEST/Browse.pm view on Meta::CPAN
[ 'tr', 'td' ],
[ 'continent=Africa[^<>]+id="categoryNavLink-Africa".*', 'Africa' ],
[ 'continent=Asia[^<>]+id="categoryNavLink-Asia".*', 'Asia' ],
[ 'continent=Australia[^<>]+id="categoryNavLink-Australia".*', 'Australia' ],
[ 'td', 'tr' ],
[ 'At first page', 'search_startat=1', 'Next >' ],
);
$self->assert_display_does_not_contain([ 'continent=Europe[^<>]+id="categoryNavLink-Europe".*', 'Europe' ]);
$self->assert_display_does_not_contain([ 'continent=North%20America[^<>]+id="categoryNavLink-North America".*', 'North America' ]);
$self->assert_display_does_not_contain([ 'continent=South%20America[^<>]+id="categoryNavLink-South America".*', 'South America' ]);
$self->assert_display_does_not_contain([ 'Sort by', 'sortby_columns_popup' ]);
$self->assert_display_does_not_contain([ 'Sort field' ]);
$self->init_test_object();
$wb = $self->{wb};
$wb->{-max_category_results_per_page} = 3;
$wb->{q}->param('search_startat', 1);
$self->assert_display_contains(
[ 'search_startat=0', 'lt; Previous', '3', 'results displayed', '4 - 6', 'of', '6', 'At last page', ],
lib/CGI/Widget/DBI/TEST/Browse.pm view on Meta::CPAN
$wb->{q}->param('continent', 'North America');
$wb->{q}->param('nation', 'United States');
$wb->{-skip_to_results} = 1;
$self->assert(! $wb->is_browsing());
$self->assert_equals('state_or_province', $wb->parent_category_column());
$self->assert_deep_equals([qw/continent nation state_or_province/], [$self->{wb}->ancestor_category_columns()]);
$self->assert_display_contains(
[ 'input type="hidden" name="continent" value="North America' ],
[ 'input type="hidden" name="nation" value="United States' ],
[ 'Sort by', 'sortby_columns_popup', 'Sort field' ],
[ 'sortby=city_no', 'continent=North%20America', 'city_no' ],
[ 'sortby=name', 'nation=United%20States', 'name' ],
[ 'sortby=population', 'continent=North%20America', 'population' ],
[ 'At first page', 'At last page' ],
[ 'tr', 'td' ],
[ 'New York', 'Financial capital of the world', 20_420_000 ],
[ 'Ithaca', 'Ithaca is Gorges', 100_018 ],
[ 'Portland', 'Microbrew capital of the world', 1_583_138 ],
[ 'td', 'tr' ],
[ 'At first page', 'At last page' ],
lib/CGI/Widget/DBI/TEST/Browse.pm view on Meta::CPAN
$wb->{q}->param('continent', 'Asia');
$wb->{q}->param('_browse_skip_to_results_', 1);
$self->assert(! $wb->is_browsing());
$self->assert_equals('state_or_province', $wb->parent_category_column());
$self->assert_deep_equals([qw/continent nation state_or_province/], [$self->{wb}->ancestor_category_columns()]);
$self->assert_display_contains(
# test for hidden _browse_skip_to_results_: required for persistent results where subclasses submit form
[ 'input type="hidden" name="_browse_skip_to_results_" value="1' ],
[ 'input type="hidden" name="continent" value="Asia' ],
[ 'Sort by', 'sortby_columns_popup', 'Sort field' ],
[ 'sortby=city_no', 'continent=Asia', 'city_no' ],
[ 'sortby=name', 'continent=Asia', 'name' ],
[ 'sortby=population', 'continent=Asia', 'population' ],
[ 'At first page', 'At last page' ],
[ 'tr', 'td' ],
[ 'Tokyo', 'Largest city in the world', 34_450_000 ],
[ 'Mumbai', 'Largest city in India, capital of western state of Maharashtra', 19_380_000 ],
[ 'Bangkok', 'City with the longest full name in the world', 8_190_000 ],
[ 'td', 'tr' ],
[ 'At first page', 'At last page' ],
lib/CGI/Widget/DBI/TEST/Browse.pm view on Meta::CPAN
$wb->{-auto_skip_to_results} = 1; # enable auto_skip_to_results feature
$wb->{q}->param('continent', 'Antarctica');
$self->assert_equals('nation', $wb->is_browsing());
$self->assert_equals('continent', $wb->parent_category_column());
$self->assert_deep_equals([qw/continent/], [$self->{wb}->ancestor_category_columns()]);
$self->assert_display_contains(
[ 'input type="hidden" name="continent" value="Antarctica' ],
[ 'Sort by', 'sortby_columns_popup', 'Sort field' ],
[ 'sortby=city_no', 'continent=Antarctica', 'city_no' ],
[ 'sortby=name', 'continent=Antarctica', 'name' ],
[ 'sortby=description', 'continent=Antarctica', 'description' ],
[ 'sortby=population', 'continent=Antarctica', 'population' ],
[ 'sortby=state_or_province', 'continent=Antarctica', 'state_or_province' ],
[ 'sortby=nation', 'continent=Antarctica', 'nation' ],
[ 'At first page', 'At last page' ],
[ 'tr', 'td' ],
lib/CGI/Widget/DBI/TEST/Browse.pm view on Meta::CPAN
$wb->{-auto_skip_to_results} = 1; # enable auto_skip_to_results feature
$wb->{q}->param('continent', 'Pacific Ocean');
$self->assert_equals('nation', $wb->is_browsing());
$self->assert_equals('continent', $wb->parent_category_column());
$self->assert_deep_equals([qw/continent/], [$self->{wb}->ancestor_category_columns()]);
$self->assert_display_contains(
[ 'input type="hidden" name="continent" value="Pacific Ocean' ],
[ 'Sort by', 'sortby_columns_popup', 'Sort field' ],
[ 'sortby=city_no', 'continent=Pacific%20Ocean', 'city_no' ],
[ 'sortby=name', 'continent=Pacific%20Ocean', 'name' ],
[ 'sortby=description', 'continent=Pacific%20Ocean', 'description' ],
[ 'sortby=population', 'continent=Pacific%20Ocean', 'population' ],
[ 'sortby=state_or_province', 'continent=Pacific%20Ocean', 'state_or_province' ],
[ 'sortby=nation', 'continent=Pacific%20Ocean', 'nation' ],
[ 'At first page', 'At last page' ],
[ 'tr', 'td' ],
lib/CGI/Widget/DBI/TEST/Browse.pm view on Meta::CPAN
$wb->{-auto_skip_to_results} = 1; # enable auto_skip_to_results feature
$wb->{q}->param('continent', 'Atlantic Ocean');
$self->assert_equals('nation', $wb->is_browsing());
$self->assert_equals('continent', $wb->parent_category_column());
$self->assert_deep_equals([qw/continent/], [$self->{wb}->ancestor_category_columns()]);
$self->assert_display_contains(
[ 'input type="hidden" name="continent" value="Atlantic Ocean' ],
[ 'Sort by', 'sortby_columns_popup', 'Sort field' ],
[ 'sortby=city_no', 'continent=Atlantic%20Ocean', 'city_no' ],
[ 'sortby=name', 'continent=Atlantic%20Ocean', 'name' ],
[ 'sortby=description', 'continent=Atlantic%20Ocean', 'description' ],
[ 'sortby=population', 'continent=Atlantic%20Ocean', 'population' ],
[ 'sortby=state_or_province', 'continent=Atlantic%20Ocean', 'state_or_province' ],
[ 'sortby=nation', 'continent=Atlantic%20Ocean', 'nation' ],
[ 'At first page', 'At last page' ],
[ 'tr', 'td' ],
lib/CGI/Widget/DBI/TEST/Browse.pm view on Meta::CPAN
$wb->{q}->param('nation', 'United States');
$wb->{q}->param('state_or_province', 'Oregon');
$self->assert(! $wb->is_browsing());
$self->assert_equals('state_or_province', $wb->parent_category_column());
$self->assert_deep_equals([qw/continent nation state_or_province/], [$self->{wb}->ancestor_category_columns()]);
$self->assert_display_contains(
[ 'input type="hidden" name="continent" value="North America' ],
[ 'input type="hidden" name="nation" value="United States' ],
[ 'input type="hidden" name="state_or_province" value="Oregon' ],
[ 'Sort by', 'sortby_columns_popup', 'Sort field' ],
[ 'sortby=city_no', 'state_or_province=Oregon', 'city_no' ],
[ 'sortby=name', 'nation=United%20States', 'name' ],
[ 'sortby=population', 'continent=North%20America', 'population' ],
[ 'At first page', 'At last page' ],
[ 'tr', 'td' ],
[ 'Portland', 'Microbrew capital of the world', 1_583_138 ],
[ 'td', 'tr' ],
[ 'At first page', 'At last page' ],
);
$self->assert_equals('North America > United States > Oregon (results)', $wb->category_title());
lib/CGI/Widget/DBI/TEST/Browse.pm view on Meta::CPAN
$wb->{q}->param('nation', 'United States');
$wb->{q}->param('state_or_province', 'New York');
$self->assert(! $wb->is_browsing());
$self->assert_equals('state_or_province', $wb->parent_category_column());
$self->assert_deep_equals([qw/continent nation state_or_province/], [$self->{wb}->ancestor_category_columns()]);
$self->assert_display_contains(
[ 'input type="hidden" name="continent" value="North America' ],
[ 'input type="hidden" name="nation" value="United States' ],
[ 'input type="hidden" name="state_or_province" value="New York' ],
[ 'Sort by', 'sortby_columns_popup', 'Sort field' ],
[ 'sortby=city_no', 'state_or_province=New%20York', 'city_no' ],
[ 'sortby=name', 'nation=United%20States', 'name' ],
[ 'sortby=population', 'continent=North%20America', 'population' ],
[ 'At first page', 'At last page' ],
[ 'tr', 'td' ],
[ 'New York', 'Financial capital of the world', 20_420_000 ],
[ 'Ithaca', 'Ithaca is Gorges', 100_018 ],
[ 'td', 'tr' ],
[ 'At first page', 'At last page' ],
);
lib/CGI/Widget/DBI/TEST/Browse.pm view on Meta::CPAN
$wb->{q}->param('nation', 'India');
$wb->{q}->param('state_or_province', 'Maharashtra');
$self->assert(! $wb->is_browsing());
$self->assert_equals('state_or_province', $wb->parent_category_column());
$self->assert_deep_equals([qw/continent nation state_or_province/], [$self->{wb}->ancestor_category_columns()]);
$self->assert_display_contains(
[ 'input type="hidden" name="continent" value="Asia' ],
[ 'input type="hidden" name="nation" value="India' ],
[ 'input type="hidden" name="state_or_province" value="Maharashtra' ],
[ 'Sort by', 'sortby_columns_popup', 'Sort field' ],
[ 'sortby=city_no', 'continent=Asia', 'city_no' ],
[ 'sortby=name', 'nation=India', 'name' ],
[ 'sortby=population', 'state_or_province=Maharashtra', 'population' ],
[ 'At first page', 'At last page' ],
[ 'tr', 'td' ],
[ 'Mumbai', 'Largest city in India, capital of western state of Maharashtra', 19_380_000 ],
[ 'td', 'tr' ],
[ 'At first page', 'At last page' ],
);
$self->assert_equals('Asia > India > Maharashtra (results)', $wb->category_title());
lib/CGI/Widget/DBI/TEST/Browse.pm view on Meta::CPAN
$wb->{q}->param('nation', 'Japan');
$wb->{q}->param('state_or_province', 'Kanto');
$self->assert(! $wb->is_browsing());
$self->assert_equals('state_or_province', $wb->parent_category_column());
$self->assert_deep_equals([qw/continent nation state_or_province/], [$self->{wb}->ancestor_category_columns()]);
$self->assert_display_contains(
[ 'input type="hidden" name="continent" value="Asia' ],
[ 'input type="hidden" name="nation" value="Japan' ],
[ 'input type="hidden" name="state_or_province" value="Kanto' ],
[ 'Sort by', 'sortby_columns_popup', 'Sort field' ],
[ 'sortby=city_no', 'state_or_province=Kanto', 'city_no' ],
[ 'sortby=name', 'state_or_province=Kanto', 'name' ],
[ 'sortby=population', 'state_or_province=Kanto', 'population' ],
[ 'At first page', 'At last page' ],
[ 'tr', 'td' ],
[ 'Tokyo', 'Largest city in the world', 34_450_000 ],
[ 'td', 'tr' ],
[ 'At first page', 'At last page' ],
);
$self->assert_equals('Asia > Japan > Kanto (results)', $wb->category_title());
lib/CGI/Widget/DBI/TEST/Browse.pm view on Meta::CPAN
my $wb = $self->{wb};
$wb->{q}->param('continent', 'North America');
$wb->{q}->param('nation', 'United States');
$wb->{q}->param('state_or_province', 'New York');
$self->assert_display_contains(
[ 'href="?"[^<>]+class="breadcrumbNavLink', 'Top', 'gt' ],
[ 'continent=North%20America', 'class="breadcrumbNavLink', 'North America', 'gt' ],
[ 'continent=North%20America', 'nation=United%20States', 'class="breadcrumbNavLink', 'United States', 'gt' ],
[ 'continent=North%20America', 'nation=United%20States', 'state_or_province=New%20York', 'class="breadcrumbNavLink', 'New York' ],
[ 'Sort by', 'sortby_columns_popup', 'Sort field' ],
[ 'At first page', 'At last page' ],
[ 'tr', 'td' ],
[ 'New York', 'Financial capital of the world', 20_420_000 ],
[ 'Ithaca', 'Ithaca is Gorges', 100_018 ],
[ 'td', 'tr' ],
[ 'At first page', 'At last page' ],
);
$self->assert_deep_equals(['Top', 'North America', 'United States', 'New York'], $wb->{'breadcrumbs'});
$self->assert_matches(
$self->word_sequence_regex_for_rows([ 'href="\?"[^<>]+class="breadcrumbNavLink', 'Top' ]),