/** * Tests PFXUtils::emptyBadScriptTags(). */ public function testEmptyBadScriptTags() { $html = <<<EOF <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en"> <head> <base href="http://www.mylespaul.com/forums/" /><!--[if IE]></base><![endif]--> \t<link rel="canonical" href="http://www.mylespaul.com/forums/other-single-cuts/340107-commissioning-replica-build-2015-whos-there.html" /> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <meta name="generator" content="vBulletin 3.8.7" /> <script type="text/javascript" src="http://www.mylespaul.com/forums/clientscript/yui/yahoo-dom-event/yahoo-dom-event.js?v=387"></script> <script type="text/javascript" src="http://www.mylespaul.com/forums/clientscript/yui/connection/connection-min.js?v=387"></script> <script type="text/javascript"> <!-- var SESSIONURL = ""; var SECURITYTOKEN = "1433955396-8bc9b759ee4e63ae3496e274566a20ffe571fadd"; var IMGDIR_MISC = "images/misc"; var vb_disable_ajax = parseInt("0", 10); // --> </script> <script type="text/javascript" src="http://www.mylespaul.com/forums/clientscript/vbulletin_global.js?v=387"></script> <script type="text/javascript" src="http://www.mylespaul.com/forums/clientscript/vbulletin_menu.js?v=387"></script> <script type="text/javascript" src="http://partner.googleadservices.com/gampad/google_service.js"> </script> <script type="text/javascript"> GS_googleAddAdSenseService("ca-pub-3910297843321261"); GS_googleEnableAllServices(); </script> <script type="text/javascript"> GA_googleAddSlot("ca-pub-3910297843321261", "MyLesPaul_468x60"); </script> <script type="text/javascript"> GA_googleFetchAds(); </script> </head> <body> <script> document.write('<div>foo</div>'); </script> <div align="right"> <a href="http://www.mylespaul.com">Homepage</a> - <a href="http://www.mylespaul.com/forums/sponsor-classifieds/">Sponsors</a> - <a href="http://www.mylespaul.com/forums/payments.php">Subscription</a> - <a href="http://www.mylespaul.com/auction">Auctions</a> - <a href="http://www.mylespaul.com/advertise">Advertise</a> - <a href="http://www.mylespaul.com/forums/spy.php">Spy</a> </div> </body> </html> EOF; $expected = <<<EOF <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en"> <head> <base href="http://www.mylespaul.com/forums/" /><!--[if IE]></base><![endif]--> \t<link rel="canonical" href="http://www.mylespaul.com/forums/other-single-cuts/340107-commissioning-replica-build-2015-whos-there.html" /> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <meta name="generator" content="vBulletin 3.8.7" /> <script type="text/javascript" src="http://www.mylespaul.com/forums/clientscript/yui/yahoo-dom-event/yahoo-dom-event.js?v=387"></script> <script type="text/javascript" src="http://www.mylespaul.com/forums/clientscript/yui/connection/connection-min.js?v=387"></script> <script type="text/javascript">"removed";</script> <script type="text/javascript" src="http://www.mylespaul.com/forums/clientscript/vbulletin_global.js?v=387"></script> <script type="text/javascript" src="http://www.mylespaul.com/forums/clientscript/vbulletin_menu.js?v=387"></script> <script type="text/javascript" src="http://partner.googleadservices.com/gampad/google_service.js"> </script> <script type="text/javascript"> GS_googleAddAdSenseService("ca-pub-3910297843321261"); GS_googleEnableAllServices(); </script> <script type="text/javascript"> GA_googleAddSlot("ca-pub-3910297843321261", "MyLesPaul_468x60"); </script> <script type="text/javascript"> GA_googleFetchAds(); </script> </head> <body> <script>"removed";</script> <div align="right"> <a href="http://www.mylespaul.com">Homepage</a> - <a href="http://www.mylespaul.com/forums/sponsor-classifieds/">Sponsors</a> - <a href="http://www.mylespaul.com/forums/payments.php">Subscription</a> - <a href="http://www.mylespaul.com/auction">Auctions</a> - <a href="http://www.mylespaul.com/advertise">Advertise</a> - <a href="http://www.mylespaul.com/forums/spy.php">Spy</a> </div> </body> </html> EOF; $this->assertEquals($expected, PFXUtils::emptyBadScriptTags($html)); $html = <<<EOF <!DOCTYPE html> <html class="no-js"> <head> <title>22" Sonor Bass Drum Resonant</title> <meta name="robots" content="NOARCHIVE,NOFOLLOW"> \t<link rel="canonical" href="http://chicago.craigslist.org/wcl/msg/5060382546.html"> \t<meta name="description" content="22 Sonor drum head by remo in good condition, black ebony with white writing."> \t<meta name="twitter:card" content="preview"> \t<meta property="og:description" content="22 Sonor drum head by remo in good condition, black ebony with white writing."> \t<meta property="og:image" content="http://images.craigslist.org/01313_cQu3kNofYfN_600x450.jpg"> \t<meta property="og:site_name" content="craigslist"> \t<meta property="og:title" content="22 Sonor Bass Drum Resonant"> \t<meta property="og:type" content="article"> \t<meta property="og:url" content="http://chicago.craigslist.org/wcl/msg/5060382546.html"> <meta name="viewport" content="initial-scale=1.0, user-scalable=1"> <link type="text/css" rel="stylesheet" media="all" href="//www.craigslist.org/styles/cl.css?v=7f3bc5bed8cde572b9862753ab355fe4"> <!--[if lt IE 9]> <script src="//www.craigslist.org/js/html5shiv.min.js?v=096822b653643ed1af3136947e4ea79a" type="text/javascript" ></script> <![endif]--> <!--[if lte IE 7]> <script src="//www.craigslist.org/js/json2.min.js?v=178d4ad319e0e0b4a451b15e49b71bec" type="text/javascript" ></script> <![endif]--> </head> <body class="posting"> <article id="pagecontainer"> <div class="bglogo"></div> <header class="bchead"> <form id="breadcrumbform" method="get" action="" data-action=""> <nav class="contents closed"> <div class="breadbox"> <ul class="breadcrumbs"> <li class="crumb cl"><a href="/">CL</a></li><li class="crumb area"><a href="/">chicago</a> ></li><li class="crumb subarea"><a href="/wcl/">west chicagoland</a> ></li><li class="crumb section"><a href="/wcl/sss">for sale</a> ></li><li class="crumb category"><a href="/wcl/msg">musical instruments - by owner</a> <span class="no-js"> <input type="submit" value="go"></span></li> </ul> <ul class="userlinks"> <li class="user post"><a href="https://post.craigslist.org/c/chi?lang=en">post</a></li> <li class="user account"><em>[ </em><a href="https://accounts.craigslist.org/login/home">account</a><em> ]</em></li> <li class="user fav"><div class="favorites"> <a href="#" class="favlink"><span class="n">0</span><span class="no-mobile"> favorites</span></a> </div></li> <li><div class="menu-button">— — —</div></li> </ul> </div> <div class="clearfix"></div> </nav> </form> </header> <section class="body"> <section class="dateReplyBar"> <script type="text/javascript"> var isPreview = ""; var bestOf = ""; var buttonPostingID = "5060382546"; </script> <button class="reply_button js-only">reply <span class="envelope">✉</span> <span class="phone">☎</span></button> <span class="replylink"><a id="replylink" href="/reply/chi/msg/5060382546">reply</a></span> <div class="returnemail js-only"></div> <aside class="flags"> <a class="flaglink" data-flag="28" href="https://post.craigslist.org/flag?flagCode=28&postingID=5060382546&subareaid=3&areaid=11&cat=msg&area=chi" title="flag as prohibited / spam / miscategorized"><span class="flag">x</span> <span class="flagtext">prohibited</span></a><sup>[<a href="http://www.craigslist.org/about/prohibited">?</a>]</sup> </aside> <p id="display-date" class="postinginfo reveal">Posted: <time datetime="2015-06-05T18:17:13-0500">2015-06-05 6:17pm</time></p> <div class="prevnext js-only"> <a class="prevnext prev">◀ prev </a> <a class="backup" title="back to search">▲</a> <a class="prevnext next"> next ▶ </a> </div> <a href="#" id="printme">print</a> </section> <h2 class="postingtitle"> <span class="star"></span> <span class="postingtitletext">22" Sonor Bass Drum Resonant - <span class="price">$30</span><small> (Bellwood)</small></span> </h2> <section class="userbody"> <figure class="iw"> <div class="slidernav"> <span class="sliderback"><</span> <span class="sliderinfo"></span> <span class="sliderforward">></span> </div> <div class="carousel oneimage"> <div class="tray"><div id="1_image_cQu3kNofYfN" data-imgid="cQu3kNofYfN" class="slide first visible"><img src="http://images.craigslist.org/01313_cQu3kNofYfN_600x450.jpg" title="image 1" alt="image 1"></div></div> </div> <script type="text/javascript"> var imgList = [{"shortid":"cQu3kNofYfN","url":"http://images.craigslist.org/01313_cQu3kNofYfN_600x450.jpg","thumb":"http://images.craigslist.org/01313_cQu3kNofYfN_50x50c.jpg","imgid":"0:01313_cQu3kNofYfN"}]; var imageText = "image"; </script> </figure> <div class="mapAndAttrs"> <div class="no-mobile"> <aside class="tsb"> <ul> <li><a href="//www.craigslist.org/about/safety">safety tips</a> <li><a href="//www.craigslist.org/about/prohibited">prohibited items</a> <li><a href="//www.craigslist.org/about/recalled_items">product recalls</a> <li><a href="//www.craigslist.org/about/scams">avoiding scams</a> </ul> </aside> <div id="printcontact"></div><p> <div id="qrcode"></div> </div> </div> <section id="postingbody"> 22" Sonor drum head by remo in good condition, black ebony with white writing. </section> <ul class="notices"><li>do NOT contact me with unsolicited services or offers</li></ul> <div class="postinginfos"> <p class="postinginfo">post id: 5060382546</p> <p class="postinginfo reveal">posted: <time datetime="2015-06-05T18:17:13-0500">2015-06-05 6:17pm</time></p> <p class="postinginfo reveal">updated: <time datetime="2015-06-10T11:47:42-0500">2015-06-10 11:47am</time></p> <p class="postinginfo"><a href="https://accounts.craigslist.org/eaf?postingID=5060382546&token=U2FsdGVkX18zODM2MzgzNntdoZkgC2ew4_vLxjKNzADf92XPkdM_MsL3EMa9gOHV99ZUEo9PyQqxHTDueaB9B6QGoQNbEnDu" class="tsb">email to friend</a></p> <p class="postinginfo"><a class="bestoflink" data-flag="9" href="https://post.craigslist.org/flag?flagCode=9&postingID=5060382546&" title="nominate for best-of-CL"><span class="bestof">♥ </span><span class="bestoftext">best of</span></a> <sup>[<a href="http://www.craigslist.org/about/best-of-craigslist">?</a>]</sup> </p> </div> <div id="printpics"></div> </section> <div class="no-mobile"> <aside class="tsb"> <p><a href="//www.craigslist.org/about/scams">Avoid scams, deal locally</a> <em>Beware wiring (e.g. Western Union), cashier checks, money orders, shipping.</em> <br> </aside> </div> <div class="mobile-only"> <aside class="tsb"> <ul> <li><a href="//www.craigslist.org/about/safety">safety tips</a> <li><a href="//www.craigslist.org/about/prohibited">prohibited items</a> <li><a href="//www.craigslist.org/about/recalled_items">product recalls</a> <li><a href="//www.craigslist.org/about/scams">avoiding scams</a> </ul> </aside> </div> </section> <footer> <ul class="clfooter"> <li>© 2015 <span class="desktop">craigslist</span><span class="mobile">CL</span></li> <li><a href="//www.craigslist.org/about/help/">help</a></li> <li><a href="//www.craigslist.org/about/scams">safety</a></li> <li class="desktop"><a href="//www.craigslist.org/about/privacy.policy">privacy</a></li> <li class="desktop"><a href="https://forums.craigslist.org/?forumID=8">feedback</a></li> <li class="desktop"><a href="//www.craigslist.org/about/craigslist_is_hiring">cl jobs</a></li> <li><a href="//www.craigslist.org/about/terms.of.use">terms</a></li> <li><a href="//www.craigslist.org/about/">about</a></li> <li class="fsel desktop linklike" data-mode="mobile">mobile</li> <li class="fsel mobile linklike" data-mode="regular">desktop</li> </ul> </footer> </article> <script type="text/javascript"> var countOfTotalText = "{count} of {total}"; var pID = "5060382546"; </script> <script src="//www.craigslist.org/js/general-concat.min.js?v=dae4b3254666fd8bf88c511841a8ce94" type="text/javascript" ></script> <script type="text/javascript"> var iframe = document.createElement('iframe'); iframe.style.display = 'none'; iframe.src = '//www.' + CL.url.baseDomain + '/static/localstorage.html?v=51a29e41f8e978141e4085ed4a77d170'; document.body.insertBefore(iframe, null); </script> <script src="//www.craigslist.org/js/postings-concat.min.js?v=048e9182f83dd72bae32bcfa351511d9" type="text/javascript" ></script> </body> </html> EOF; $this->assertEquals($html, PFXUtils::emptyBadScriptTags($html)); }