ASP4

 view release on metacpan or  search on metacpan

t/010-basic/050-useragent.t  view on Meta::CPAN

#!/usr/bin/perl -w

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

use ASP4::ConfigLoader;
my $config; BEGIN { $config = ASP4::ConfigLoader->load }

use HTML::Form;

use_ok('ASP4::UserAgent');

my $ua = ASP4::UserAgent->new();

TEST1: {
  my $res = $ua->get('/useragent/hello-world.asp');
  is( $res->content, "Hello, World!\n"x5 . "\n", "hello-word.asp is correct" );
};

TEST2: {
  my $res = $ua->get('/useragent/simple-args.asp?color=red');
  is( $res->content, "Your favorite color is red!\n", "simple-args.asp is correct" );
};

TEST3: {
  my $res = $ua->post('/useragent/simple-args.asp?color=red');
  is( $res->content, "Your favorite color is red!\n", "simple-args.asp is correct" );
};

TEST4: {
  my $res = $ua->post('/useragent/simple-args.asp', {
    color => 'red'
  });
  is( $res->content, "Your favorite color is red!\n", "simple-args.asp is correct" );
};

TEST5: {
  my $res = $ua->post('/useragent/simple-args.asp', [
    color => 'red'
  ]);
  is( $res->content, "Your favorite color is red!\n", "simple-args.asp is correct" );
};

TEST6: {
  my $res = $ua->get('/useragent/simple-form.asp');
  my ($form) = HTML::Form->parse( $res->content, '/' );
  ok( $form, 'found form' );
  $form->find_input('color')->value('Red');
  $form->find_input('pet_name')->value('Fluffy');
  $res = $ua->submit_form( $form );
  ($form) = HTML::Form->parse( $res->content, '/' );
  ok( $form, 'found form again!' );
  is( $form->find_input('color')->value => 'Red', 'color is Red' );
  is( $form->find_input('pet_name')->value => 'Fluffy', 'pet_name is Fluffy' );
};

TEST7: {
  my $res = $ua->get('/useragent/upload-form.asp');
  my ($form) = HTML::Form->parse( $res->content, '/' );
  ok( $form, 'found form' );
  
  my $filename = ( $ENV{TEMP} || $ENV{TMP} || '/tmp' ) . '/' . rand() . '.txt';
  open my $ofh, '>', $filename
    or die "Cannot open '$filename' for writing: $!";



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