1use strict;
2use warnings;
3
4use Test::More tests => 7;
5
6use HTML::FormFu;
7
8{
9    my $form = HTML::FormFu->new;
10
11    my $e1 = $form->element('Text')->name('foo');
12    my $e2 = $form->element('Hidden')->name('foo');
13
14    my $e3 = $e1->clone;
15
16    $form->insert_after( $e3, $e1 );
17
18    my $elems = $form->get_elements;
19
20    is( scalar(@$elems), 3 );
21
22    ok( $elems->[0] == $e1 );
23    ok( $elems->[1] == $e3 );
24    ok( $elems->[2] == $e2 );
25}
26
27# ensure elements only occur once
28
29{
30    my $form = HTML::FormFu->new;
31
32    my $e1 = $form->element( { name => 'foo' } );
33    my $e2 = $form->element( { name => 'bar' } );
34
35    $form->insert_after( $e1, $e2 );
36
37    my $elems = $form->get_elements;
38
39    is( scalar(@$elems), 2 );
40
41    ok( $elems->[0] == $e2 );
42    ok( $elems->[1] == $e1 );
43}
44