Show
Ignore:
Timestamp:
04/08/08 11:09:38 (6 years ago)
Author:
mattn
Message:

lang/perl/RPC-XML-Parser-Lite/trunk/t/RPC-XML-Parser-Lite.t,
lang/perl/RPC-XML-Parser-Lite/trunk/lib/RPC/XML/Parser/Lite.pm:

  • RPC-XML-Parser-LibXML の変更に追従
Location:
lang/perl/RPC-XML-Parser-Lite/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/RPC-XML-Parser-Lite/trunk/lib/RPC/XML/Parser/Lite.pm

    r7495 r9114  
    2626    my $xml = shift; 
    2727 
    28         utf8::decode($xml) if utf8::is_utf8($xml); 
    29         my $x = XML::Parser::Lite::Tree::instance(); 
     28    utf8::decode($xml) if utf8::is_utf8($xml); 
     29    my $x = XML::Parser::Lite::Tree::instance(); 
    3030    my $tree = XML::Parser::Lite::Tree::XPath->new( $x->parse( $xml ) ); 
    3131 
     
    8080        $t .= $n->{content} if defined($n->{content}); 
    8181    } 
    82     $t; 
     82    my %map = ('&amp;' => '&', '&quot;' => '"', '&lt;' => '<', '&gt;' => '>', '&apos;' => '\'', '&nbsp;' => ' '); 
     83    my $re = join('|', keys %map); 
     84    $t =~ s#($re)#$map{$1}#gi if ($t =~ /\&/); 
     85        $t; 
    8386} 
    8487 
  • lang/perl/RPC-XML-Parser-Lite/trunk/t/RPC-XML-Parser-Lite.t

    r7489 r9114  
    66# change 'tests => 1' to 'tests => last_test_to_print'; 
    77 
    8 use Test::More tests => 19; 
     8use Test::More tests => 21; 
    99BEGIN { use_ok('RPC::XML::Parser::Lite') }; 
    1010 
     
    305305  'methodResponse w/ [(3, "る")::fault]'; 
    306306 
     307_is_deeply parse_rpc_xml(qq{ 
     308    <methodCall> 
     309      <methodName>foo.bar</methodName> 
     310      <params> 
     311        <param><value><struct> 
     312                        <member><name>foo</name><value><string>bar</string></value></member> 
     313                        <member><name>bar</name> 
     314                          <value><string>baz</string></value></member> 
     315                      </struct></value></param> 
     316      </params> 
     317    </methodCall> 
     318  }), RPC::XML::request->new( 
     319      'foo.bar', 
     320      RPC::XML::struct->new({ 
     321          'foo' => RPC::XML::string->new('bar'), 
     322          'bar' => RPC::XML::string->new('baz'), 
     323      })), 
     324  'methodCall w/ [struct], no newlines'; 
     325 
     326_is_deeply parse_rpc_xml(qq{<?xml version="1.0" encoding="utf-8"?> 
     327<methodCall> 
     328 <methodName>metaWeblog.newPost</methodName> 
     329 <params> 
     330  <param> 
     331   <value> 
     332    <string>3</string> 
     333   </value> 
     334  </param> 
     335  <param> 
     336   <value> 
     337    <string>foo</string> 
     338   </value> 
     339  </param> 
     340  <param> 
     341   <value> 
     342    <struct> 
     343     <member> 
     344      <name>title</name> 
     345      <value> 
     346       <string>testing excerpt</string> 
     347      </value> 
     348     </member> 
     349     <member> 
     350      <name>description</name> 
     351      <value> 
     352       <string>&lt;p&gt;testing xxx&lt;/p&gt;</string> 
     353      </value> 
     354     </member> 
     355     <member> 
     356      <name>dateCreated</name> 
     357      <value> 
     358       <dateTime.iso8601>20080403T22:11:33</dateTime.iso8601> 
     359      </value> 
     360     </member> 
     361    </struct> 
     362   </value> 
     363  </param> 
     364 </params> 
     365</methodCall> 
     366}), RPC::XML::request->new( 
     367    'metaWeblog.newPost', 
     368    RPC::XML::string->new('3'), 
     369    RPC::XML::string->new('foo'), 
     370    RPC::XML::struct->new({ 
     371        title => RPC::XML::string->new('testing excerpt'), 
     372        description => RPC::XML::string->new('<p>testing xxx</p>'), 
     373        dateCreated => RPC::XML::datetime_iso8601->new('20080403T22:11:33'), 
     374    }), 
     375  ), 
     376  'Windows Live Write style newlines'; 
     377 
     378 
     379