@@ -374,6 +374,33 @@ def test_get_nonoauth_parameters(self):
374374 req = oauth .Request ("GET" , "http://example.com" , params )
375375 self .assertEquals (other_params , req .get_nonoauth_parameters ())
376376
377+ def test_to_url_nonascii (self ):
378+ url = "http://sp.example.com/"
379+
380+ params = {
381+ 'nonasciithing' : u'q\xbf u\xe9 ,aasp u?..a.s' ,
382+ 'oauth_version' : "1.0" ,
383+ 'oauth_nonce' : "4572616e48616d6d65724c61686176" ,
384+ 'oauth_timestamp' : "137131200" ,
385+ 'oauth_consumer_key' : "0685bd9184jfhq22" ,
386+ 'oauth_signature_method' : "HMAC-SHA1" ,
387+ 'oauth_token' : "ad180jjd733klru7" ,
388+ 'oauth_signature' : "wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D" ,
389+ }
390+
391+ req = oauth .Request ("GET" , url , params )
392+ res = urlparse .urlparse (req .to_url ())
393+
394+ params ['nonasciithing' ] = params ['nonasciithing' ].encode ('utf-8' )
395+ exp = urlparse .urlparse ("%s?%s" % (url , urllib .urlencode (params )))
396+
397+ self .assertEquals (exp .netloc , res .netloc )
398+ self .assertEquals (exp .path , res .path )
399+
400+ a = parse_qs (exp .query )
401+ b = parse_qs (res .query )
402+ self .assertEquals (a , b )
403+
377404 def test_to_url_works_with_non_ascii_parameters (self ):
378405
379406 oauth_params = {
0 commit comments