

var isNode=(typeof module!=='undefined'&&module.exports);if(isNode){var SanityTest=require("devtools/toolkit/jsbeautify/sanitytest");}
var Urlencoded={detect:function(str){
if(str.indexOf(' ')==-1){if(str.indexOf('%2')!=-1)return true;if(str.replace(/[^%]+/g,'').length>3)return true;}
return false;},unpack:function(str){if(Urlencoded.detect(str)){if(str.indexOf('%2B')!=-1||str.indexOf('%2b')!=-1){return unescape(str.replace(/\+/g,'%20'));}else{return unescape(str);}}
return str;},run_tests:function(sanity_test){var t=sanity_test||new SanityTest();t.test_function(Urlencoded.detect,"Urlencoded.detect");t.expect('',false);t.expect('var a = b',false);t.expect('var%20a+=+b',true);t.expect('var%20a=b',true);t.expect('var%20%21%22',true);t.expect('javascript:(function(){var%20whatever={init:function(){alert(%22a%22+%22b%22)}};whatever.init()})();',true);t.test_function(Urlencoded.unpack,'Urlencoded.unpack');t.expect('javascript:(function(){var%20whatever={init:function(){alert(%22a%22+%22b%22)}};whatever.init()})();','javascript:(function(){var whatever={init:function(){alert("a"+"b")}};whatever.init()})();');t.expect('','');t.expect('abcd','abcd');t.expect('var a = b','var a = b');t.expect('var%20a=b','var a=b');t.expect('var%20a=b+1','var a=b+1');t.expect('var%20a=b%2b1','var a=b+1');return t;}};if(isNode){module.exports=Urlencoded;}