When an attribute occurs use the first one in 'attr' instead of
the last one. This is apparently what MSIE and Mozilla do.
https://rt.cpan.org/Ticket/Display.html?id=5472
gisle
20 years ago
0 | |
/* $Id: hparser.c,v 2.93 2003/10/03 13:09:05 gisle Exp $
|
|
0 |
/* $Id: hparser.c,v 2.94 2004/04/01 11:47:27 gisle Exp $
|
1 | 1 |
*
|
2 | 2 |
* Copyright 1999-2002, Gisle Aas
|
3 | 3 |
* Copyright 1999-2000, Michael A. Chase
|
|
413 | 413 |
sv_lower(aTHX_ attrname);
|
414 | 414 |
|
415 | 415 |
if (argcode == ARG_ATTR) {
|
416 | |
if (!hv_store_ent(hv, attrname, attrval, 0)) {
|
|
416 |
if (hv_exists_ent(hv, attrname, 0) ||
|
|
417 |
!hv_store_ent(hv, attrname, attrval, 0)) {
|
417 | 418 |
SvREFCNT_dec(attrval);
|
418 | 419 |
}
|
419 | 420 |
SvREFCNT_dec(attrname);
|
29 | 29 |
<tAg aRg="Value" arg="other value"></tAg>
|
30 | 30 |
EOT
|
31 | 31 |
my $cs = 'S[tAg aRg=Value arg=other value Order: aRg arg]E[tAg]';
|
32 | |
my $ci = 'S[tag arg=other value Order: arg arg]E[tag]';
|
|
32 |
my $ci = 'S[tag arg=Value Order: arg arg]E[tag]';
|
33 | 33 |
|
34 | 34 |
$p->parse($html)->eof;
|
35 | 35 |
print "not " unless $text eq $cs; print "ok 1\n";
|
|
56 | 56 |
EOT
|
57 | 57 |
$p->ignore_tags('ignore');
|
58 | 58 |
$cs = 'S[tAg aRg=Value arg=other value Order: aRg arg]E[tAg]S[iGnOrE]';
|
59 | |
$ci = 'S[tag arg=other value Order: arg arg]E[tag]';
|
|
59 |
$ci = 'S[tag arg=Value Order: arg arg]E[tag]';
|
60 | 60 |
|
61 | 61 |
$text = "";
|
62 | 62 |
$p->case_sensitive(0);
|