Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • Synzvato/decentraleyes
  • gkrishnaks/decentraleyes
  • ExE-Boss/decentraleyes
  • whtsky/decentraleyes
  • grtgarrett/decentraleyes
  • An_dz/decentraleyes
  • Alaska/decentraleyes
  • finn/decentraleyes
  • klippy/decentraleyes
9 results
Show changes
static/favicon.ico

1.12 KiB

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="71.949539mm"
height="72.011383mm"
viewBox="0 0 254.93931 255.15844"
id="svg4398"
version="1.1"
inkscape:version="0.91 r"
sodipodi:docname="logo.svg">
<defs
id="defs4400" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.35"
inkscape:cx="-258.95892"
inkscape:cy="-146.70649"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1680"
inkscape:window-height="973"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata4403">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Laag 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-126.81606,-130.49727)">
<path
sodipodi:nodetypes="ssssssssssssssssssss"
inkscape:connector-curvature="0"
id="path4367-8"
d="m 245.28566,385.4935 c -1.155,-0.13972 -4.395,-0.53641 -7.2,-0.88151 -45.42,-5.58812 -85.0709,-36.18847 -102.1831,-78.8592 -6.3622,-15.8648 -9.0865,-30.16611 -9.0865,-47.70001 0,-35.89696 13.6558,-67.60728 39.9284,-92.71842 17.0912,-16.33567 38.7083,-27.64584 61.7412,-32.30337 16.7067,-3.37829 34.8933,-3.37829 51.6,0 41.3507,8.36157 76.8014,37.96866 92.5831,77.32178 6.3623,15.8648 9.0866,30.16612 9.0866,47.70001 0,17.5339 -2.7243,31.83521 -9.0866,47.70001 -6.0425,15.06754 -14.4277,28.08462 -25.6647,39.84127 -20.588,21.5403 -45.1364,34.33474 -74.4184,38.78637 -5.9247,0.90071 -23.2249,1.60607 -27.3,1.11307 z m 17.6857,-53.06751 c 45.3037,-5.1897 75.6169,-49.07321 64.43,-93.27321 -9.0595,-35.79399 -43.254,-59.73888 -80.1657,-56.13635 -18.159,1.77231 -33.6382,9.0219 -46.3013,21.68499 -15.9043,15.90429 -23.8313,37.80979 -21.6756,59.89801 1.8202,18.64919 9.095,33.85844 22.5088,47.05837 15.872,15.61881 38.6583,23.35086 61.2038,20.76819 z"
style="fill:#69ab90" />
<path
sodipodi:nodetypes="csscssscssccssssssssssss"
inkscape:connector-curvature="0"
id="path4365-3"
d="m 244.08566,343.24287 c -19.8325,-2.76339 -36.9253,-11.17984 -50.4668,-24.84967 -12.1714,-12.28673 -19.6945,-26.27696 -23.4133,-43.54041 -1.9429,-9.01918 -1.9477,-24.56717 -0.01,-33.53235 7.4726,-34.57995 32.7782,-59.88556 67.3581,-67.35817 8.9652,-1.93735 24.5132,-1.93255 33.5324,0.0103 34.4652,7.42443 59.8726,32.85642 67.2826,67.34783 1.9242,8.95661 1.9194,24.52204 -0.01,33.53235 -2.5902,12.09416 -6.332,20.97932 -13.0785,31.05622 -12.4216,18.55349 -31.699,31.47412 -53.8938,36.12229 -6.8627,1.43722 -21.1347,2.07061 -27.3,1.21157 z m 26.4,-11.68384 c 14.5651,-3.28527 26.4945,-9.90141 37.2468,-20.65735 14.7131,-14.71817 22.1494,-32.56191 22.1494,-53.1489 0,-20.53675 -7.476,-38.47761 -22.1473,-53.1489 -14.7557,-14.75566 -32.5941,-22.14727 -53.4489,-22.14727 -15.5114,0 -29.4518,4.23481 -42.8277,13.01025 -5.4935,3.60404 -16.1541,14.26466 -19.7582,19.75814 -8.7115,13.27858 -13.0102,27.33021 -13.0102,42.52778 0,15.27041 4.227,29.14829 12.9053,42.37003 3.736,5.69189 14.327,16.28353 20.017,20.01827 8.7585,5.74873 19.4469,10.12598 29.1738,11.94763 6.4179,1.20193 23.3628,0.89973 29.7,-0.52968 z"
style="fill:#4a856d" />
<path
inkscape:connector-curvature="0"
id="path4502-8"
d="m 254.22586,182.23229 c -15.5114,0 -29.4503,4.23432 -42.8262,13.00976 -5.4935,3.60404 -16.1556,14.26628 -19.7597,19.75977 -8.7115,13.27858 -13.0098,27.32978 -13.0098,42.52734 0,15.27041 4.228,29.1474 12.9063,42.36914 3.736,5.69189 14.3256,16.28479 20.0156,20.01953 8.7585,5.74873 19.4469,10.12562 29.1738,11.94727 6.4179,1.20193 23.364,0.90011 29.7012,-0.5293 14.5651,-3.28527 26.4938,-9.90226 37.2461,-20.6582 14.7131,-14.71817 22.1504,-32.56145 22.1504,-53.14844 0,-20.53674 -7.4772,-38.47714 -22.1485,-53.14844 -14.7557,-14.75566 -32.5944,-22.14843 -53.4492,-22.14843 z"
style="opacity:1;fill:#d9ccb5;fill-opacity:1" />
<path
style="fill:#2a4c3d"
d="m 253.32756,308.56958 c -0.7291,-0.10994 -2.0081,-1.01076 -2.842,-2.00183 -1.487,-1.7672 -1.5162,-1.98991 -1.5162,-11.5511 l 0,-9.74916 -4.1304,-0.40699 c -5.0661,-0.4992 -12.7546,-2.30014 -18.1929,-4.26146 -2.2409,-0.80819 -4.294,-1.46942 -4.5623,-1.46942 -0.2682,0 -0.6564,0.84243 -0.8623,1.87207 -0.6968,3.48392 -4.226,9.7116 -7.2712,12.8307 -3.802,3.89418 -8.4051,6.27484 -12.9251,6.68471 -3.2341,0.29326 -3.5551,0.20092 -5.2728,-1.51669 -2.5896,-2.58958 -2.5847,-5.96539 0.012,-8.15026 1.0771,-0.90628 2.5789,-1.549 3.6197,-1.549 4.8004,0 9.3774,-5.21572 11.2352,-12.80312 0.3947,-1.61191 0.5018,-3.11345 0.2378,-3.33674 -0.2637,-0.2233 -2.2975,-1.67814 -4.5193,-3.23299 -2.2218,-1.55483 -5.7893,-4.5009 -7.9278,-6.5468 -3.5468,-3.39318 -3.8881,-3.93496 -3.8881,-6.16993 0,-3.27415 2.217,-5.60492 5.3315,-5.60492 1.8175,0 3.0132,0.69549 7.2478,4.21598 11.6253,9.66472 22.2411,14.79377 35.3384,17.07396 8.3007,1.44513 22.1289,0.91372 30.0404,-1.15442 11.1729,-2.92067 21.5705,-8.5272 30.5771,-16.48755 4.3014,-3.80174 6.5623,-4.53347 9.368,-3.03191 1.7447,0.93375 3.0959,3.97813 2.6554,5.98335 -0.445,2.02633 -5.5547,7.15181 -11.0967,11.13099 -2.1216,1.52335 -4.0845,2.97485 -4.3619,3.22555 -0.6373,0.5759 0.5815,6.69113 1.9709,9.88821 1.6465,3.78878 4.5666,6.75181 7.1053,7.20973 5.6962,1.02741 7.9829,4.37102 5.8329,8.52872 -2.5386,4.90902 -11.0252,3.6402 -17.4215,-2.60463 -3.4724,-3.39012 -7.1798,-10.11267 -7.8445,-14.22454 -0.2007,-1.24135 -0.5648,-2.38056 -0.8092,-2.53161 -0.2445,-0.15104 -2.1425,0.41541 -4.2181,1.25878 -4.9736,2.02096 -14.3283,4.30786 -19.6416,4.80168 l -4.2584,0.39577 0,9.74056 c 0,9.50554 -0.036,9.78324 -1.4892,11.51041 -1.513,1.79797 -3.1312,2.39416 -5.5208,2.0339 z"
id="path4536"
inkscape:connector-curvature="0" />
<path
style="fill:#e1eee9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 254.83556,140.64076 c -31.7387,-0.18974 -61.6179,11.99292 -84.3437,34.71875 -19.2305,19.23054 -30.7902,43.12871 -33.9512,70.19142 -1.3361,11.43953 -1.0183,16.42791 1.2832,20.15039 2.2945,3.71129 6.8295,6.27929 11.0898,6.27929 1.9686,0 3.8657,-0.52302 6.0723,-1.67578 2.3104,-1.20696 3.7038,-2.4749 4.9727,-4.52734 1.5844,-2.56277 1.8128,-3.59151 2.2695,-10.17383 0.9548,-13.76166 3.2241,-23.42756 7.9863,-34.02344 4.8964,-10.8945 10.57,-19.12664 18.9707,-27.52735 13.6023,-13.60222 30.1696,-22.21598 49.4278,-25.69727 6.8294,-1.23454 21.9644,-1.36292 29.8183,-0.25195 6.8652,0.97111 8.9703,0.67909 12.6582,-1.76367 5.1358,-3.40177 7.2074,-10.40147 4.6934,-15.85938 -2.6833,-5.82531 -6.3128,-7.71715 -17.2461,-8.99609 -4.5945,-0.53745 -9.1671,-0.81664 -13.7012,-0.84375 z m 97.3086,65.95313 c -7.2562,-0.0333 -13.2012,5.7786 -13.2012,12.90235 0,9.86673 9.6961,16.1965 18.4707,12.05859 3.5411,-1.66991 5.2779,-3.41593 6.6407,-6.67773 3.5811,-8.57084 -2.7182,-18.241 -11.9102,-18.28321 z m -13.2519,100.31836 c -3.6071,0.0573 -6.491,1.78845 -9.7852,5.61915 -8.142,9.46815 -10.1011,11.56562 -14.125,15.11718 -12.131,10.70715 -27.7116,18.23441 -44.5684,21.53125 -8.2715,1.61775 -25.5315,1.44981 -33.9003,-0.33008 -17.6062,-3.7445 -31.6977,-10.96635 -45.17,-23.14843 -6.9218,-6.25889 -9.1571,-7.51953 -13.33,-7.51953 -7.2826,0 -12.856,5.65134 -12.8868,13.06836 -0.023,5.60561 1.5592,8.00611 10.5684,16.02734 17.6591,15.72241 41.3698,26.30955 65.0195,29.03125 6.5438,0.75309 19.554,0.76976 26.2735,0.0352 21.3817,-2.33763 42.0386,-10.55235 59.1679,-23.5293 5.7153,-4.32992 17.4933,-15.95194 21.5508,-21.26563 4.9434,-6.47366 6.0115,-10.10564 4.5449,-15.46679 -0.9767,-3.57003 -5.5201,-7.73635 -9.4687,-8.6836 -1.4052,-0.3371 -2.6883,-0.50541 -3.8906,-0.48633 z"
id="path4557-9"
inkscape:connector-curvature="0" />
<path
style="fill:#ffffff;fill-opacity:1"
d="m 349.19286,302.00389 c -0.3807,-1.92589 -1.1877,-5.81051 -1.7931,-8.63249 -0.6055,-2.822 -0.9964,-5.23726 -0.8688,-5.36731 0.1275,-0.13004 1.0963,0.0708 2.1528,0.44623 2.3769,0.84471 2.5416,0.61955 3.8259,-5.22844 1.1941,-5.43611 2.5992,-7.42233 5.2511,-7.42233 4.0179,0 4.8567,3.49994 2.7212,11.35587 -0.6532,2.40314 -1.1876,4.48237 -1.1876,4.6205 0,0.13813 0.8686,0.56812 1.9301,0.95554 l 1.93,0.70436 -2.6725,2.45042 c -1.4697,1.34773 -4.4553,4.06338 -6.6344,6.03481 l -3.9622,3.58446 -0.6925,-3.50162 z m 7.6678,-36.42262 c -1.3075,-1.07937 -1.4012,-1.66991 -1.8424,-11.61651 -0.5284,-11.90635 -0.2036,-13.2788 3.1413,-13.2788 4.3811,0 5.1405,1.91127 5.6874,14.31444 l 0.3778,8.56307 -1.5475,1.5775 c -1.8251,1.86061 -3.9053,2.01808 -5.8166,0.4403 z m -22.197,-68.26345 c -1.6409,-1.87622 -4.7873,-5.40364 -6.9919,-7.83869 -4.4035,-4.86374 -5.0634,-7.04746 -2.8206,-9.33381 2.9462,-3.00374 5.9731,-1.15075 13.7679,8.42834 5.1777,6.36311 5.7965,8.41643 3.2668,10.83913 -2.2725,2.17651 -3.8995,1.7046 -7.2222,-2.09497 z m -24.0651,-22.6563 c -1.4699,-1.01539 -3.9345,-2.51343 -5.477,-3.32898 l -2.8046,-1.48281 -0.9428,1.85854 -0.9427,1.85853 -1.6168,-2.31075 c -4.1925,-5.99176 -8.4181,-12.30592 -8.2721,-12.36083 0.67,-0.25201 16.8456,-1.55024 17.0448,-1.36799 0.1401,0.12828 -0.1642,1.12916 -0.6766,2.22416 l -0.9311,1.9909 3.0518,1.63467 c 1.6784,0.89907 4.3879,2.66513 6.0209,3.92459 2.4695,1.90441 2.9996,2.65699 3.1495,4.47038 0.1462,1.76666 -0.1227,2.42342 -1.4161,3.4607 -2.1206,1.70046 -3.0192,1.61752 -6.1872,-0.57111 z"
id="path4676"
inkscape:connector-curvature="0" />
</g>
</svg>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Decentraleyes - What's New?</title>
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0">
<meta charset="UTF-8">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="icon" href="favicon.ico" type="image/x-icon">
<style>
body {
background-color: #eff4e2;
color: #4f4f4f;
padding: 25px 10px;
}
header {
position: relative;
width: 400px;
height: 128px;
}
h1, h2, h3, h4, h5, h6 {
font-family: "Trebuchet MS", Helvetica, sans-serif;
}
a {
color: #2e698c;
}
.container {
text-align: center;
}
.notice {
max-width: 750px;
margin-left: auto;
margin-right: auto;
text-align: left;
font-family: "Trebuchet MS", Helvetica, sans-serif;
}
.text-highlight {
font-weight: bold;
color: #4a856d;
}
.logo {
margin-left: auto;
margin-right: auto;
display: block;
height: 128px;
}
</style>
<body>
<img src="logo.svg" alt="Decentraleyes" class="logo"/>
<div class="container">
<h1>Decentraleyes <i>v1.2.2</i></h1>
<br><br>
<div class="notice">
<span class="text-highlight">NEW:</span> <strong>Get a first glimpse of what this add-on actually does for you!</strong> Navigate to the main menu and click <i>"Add-ons" > "Decentraleyes" > "Preferences"</i> to get familiar with the new <i>"local injections"</i> counter. <i>Please note: it's new and will start from <strong>zero</strong> (ignoring prior injections).</i>
<br><br>
<span class="text-highlight">NEW:</span> <strong>Support for Fennec (or Firefox for mobile).</strong> If you're running Firefox on your smartphone, then you might be happy to know that this is the very first release to be fully compatible with mobile versions of Firefox. Take this add-on with you to protect yourself on-the-go!
<br><br>
<span class="text-highlight">EXPERIMENTAL:</span> <strong>Whitelist specific domains to force Decentraleyes to ignore them.</strong> Navigate to the main menu and click <i>"Add-ons" > "Decentraleyes" > "Preferences"</i>. From there, you can add domains to the <i>"whitelist"</i> field. This might come in handy if you run into issues with a certain website.
<br><br><hr><br>
<span class="text-highlight">NOTE:</span> Decentraleyes works right out of the box and no manual configuration is required! You can check if you're properly protected by using the <strong><a href="https://decentraleyes.org/test" target="_blank">testing utility</a></strong>.
<br><br><hr>
</div>
<br>
<div class="notice">
<i>General information:</i>
<p>Decentraleyes is a very young project, so expect many improvements in the realms of clear, present, user feedback and ease-of-use as it matures. It does a lot to protect you, but is a tad shy about it.</p>
</div>
<br>
<div class="notice">
<i>Detailed changelog:</i>
<ul>
<li>Decentraleyes now supports Fennec (better known as Firefox for mobile).</li>
<li>Experimental support for whitelisting domains from preferences (Add-ons Manager).</li>
<li>Amount of injected resources shown in preferences (Add-ons Manager).</li>
<li>Fixed a rare bug where shorthand mapping notations broke specific websites.</li>
<li>Removed Pale Moon compatibility as it will receive separate, tailored, builds.</li>
<li>Took out rare resources to make room for more common candidates.</li>
<li>Added new AngularJS, Dojo, and jQuery UI scripts to the resource bundle.</li>
</ul>
</div>
<br>
<div class="notice">
<p>
<a href="https://github.com/Synzvato/decentraleyes" target="_blank">Github</a> / <a href="https://addons.mozilla.org/en-US/firefox/addon/decentraleyes" target="_blank">Add-on Listing</a>
</p>
</div>
</div>
</body>
</html>
/**
* Imports
*/
var dataHandler = require("../lib/data-handler");
/**
* Get Redirection URI Tests
*/
exports['test get redirection uri for existing file'] = function (assert) {
var result = dataHandler.getRedirectionURI(
'resources/jquery/2.1.4/jquery.min.js.dec', 'UTF-8', 'application/javascript'
);
assert.ok(typeof result === 'object', 'Existing file was handled succesfully.');
};
exports['test get redirection uri for non-existing file'] = function (assert) {
assert.throws(function () {
dataHandler.getRedirectionURI('resources/non-existing/0.5.7/non-existing.js.dec',
'UTF-8', 'application/javascript');
}, Error, 'Non-existing file was handled succesfully.');
};
/**
* Run Tests
*/
require("sdk/test").run(exports);
/**
* Imports
*/
var requestAnalyzer = require("../lib/request-analyzer");
/**
* Variables
*/
var localPaths = {
angular: 'resources/angularjs/1.2.19/angular.min.js.dec',
backbone: [
'resources/backbone.js/0.9.2/backbone-min.js.dec',
'resources/backbone.js/1.1.2/backbone-min.js.dec'
],
dojo: 'resources/dojo/1.8.3/dojo/dojo.js.dec',
ember: [
'resources/ember.js/1.1.0/ember.min.js.dec',
'resources/ember.js/2.1.0/ember.min.js.dec'
],
extCore: 'resources/ext-core/3.1.0/ext-core.js.dec',
jQuery: [
'resources/jquery/1.10.2/jquery.min.js.dec',
'resources/jquery/1.11.1/jquery.min.js.dec'
],
jQueryUI: 'resources/jqueryui/1.10.2/jquery-ui.min.js.dec',
modernizr: 'resources/modernizr/2.6.2/modernizr.min.js.dec',
mootools: 'resources/mootools/1.4.5/mootools-yui-compressed.js.dec',
prototypeJS: 'resources/prototype/1.6.1.0/prototype.js.dec',
scriptaculous: 'resources/scriptaculous/1.9.0/scriptaculous.js.dec',
swfobject: 'resources/swfobject/2.2/swfobject.js.dec',
underscore: [
'resources/underscore.js/1.3.3/underscore-min.js.dec',
'resources/underscore.js/1.4.4/underscore-min.js.dec',
'resources/underscore.js/1.6.0/underscore-min.js.dec'
],
webfont: [
'resources/webfont/1.0.19/webfont.js.dec',
'resources/webfont/1.5.18/webfont.js.dec'
]
};
/**
* Is Valid Candidate Tests
*/
exports['test get request to known cdn'] = function (assert) {
var result = requestAnalyzer.isValidCandidate({
requestMethod: 'GET', URI: { host: 'ajax.googleapis.com' }
});
assert.ok(result, 'Valid candidate was successfully identified.');
};
exports['test post request to known cdn'] = function (assert) {
var result = requestAnalyzer.isValidCandidate({
requestMethod: 'POST', URI: { host: 'ajax.googleapis.com' }
});
assert.equal(result, false, 'Invalid candidate was successfully identified.');
};
exports['test get request to unknown domain'] = function (assert) {
var result = requestAnalyzer.isValidCandidate({
requestMethod: 'GET', URI: { host: 'ajax.example.com' }
});
assert.equal(result, false, 'Invalid candidate was successfully identified.');
};
exports['test get request from whitelisted domain'] = function (assert) {
require('sdk/simple-prefs').prefs.domainWhitelist = 'example.com';
var result = requestAnalyzer.isValidCandidate({
requestMethod: 'GET', URI: { host: 'ajax.googleapis.com' },
referrer: { host: 'example.com' }, setRequestHeader: function () { return false; }
});
assert.equal(result, false, 'Whitelisted request was successfully ignored.');
};
/**
* Get Local Target Tests
*/
exports['test regular resource'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.googleapis.com', '/ajax/libs/jquery/2.1.4/jquery.js');
assert.equal(target.path, 'resources/jquery/2.1.4/jquery.min.js.dec', 'Target found for regular resource.');
};
exports['test minified resource'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('code.jquery.com', '/jquery-2.1.4.min.js');
assert.equal(target.path, 'resources/jquery/2.1.4/jquery.min.js.dec', 'Target found for minified resource.');
};
exports['test resource shorthand'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.googleapis.com', '/ajax/libs/jquery/1/jquery.js');
assert.equal(target.path, 'resources/jquery/1.11.1/jquery.min.js.dec', 'Target found for resource shorthand.');
};
exports['test precision of mapping expression'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('code.jquery.com', '/jquery-module-1.2.1.js');
assert.equal(target, false, 'Resource was not mistaken for similar one.');
};
exports['test ignoring jquery-ui stylesheet'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.googleapis.com', '/ajax/libs/jqueryui/1.0.0/jquery-ui.css');
assert.equal(target, false, 'jQuery UI\'s stylesheet was ignored.');
};
exports['test dojo uncompressed library'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.googleapis.com', '/ajax/libs/dojo/1.8.3/dojo/dojo.uncompressed.js');
assert.equal(target.path, localPaths.dojo, 'Target was determined.');
};
exports['test ext-core debug library'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.googleapis.com', '/ajax/libs/ext-core/3.1.0/ext-core-debug.js');
assert.equal(target.path, localPaths.extCore, 'Target was determined.');
};
exports['test webfont debug library'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('lib.sinaapp.com', '/js/webfont/1.0.19/webfont_debug.js');
assert.equal(target.path, localPaths.webfont[0], 'Target was determined.');
};
// Google Hosted Libraries
exports['test angular on google hosted libraries'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.googleapis.com', '/ajax/libs/angularjs/1.2.19/angular.min.js');
assert.equal(target.path, localPaths.angular, 'Target was determined.');
};
exports['test dojo on google hosted libraries'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.googleapis.com', '/ajax/libs/dojo/1.8.3/dojo/dojo.js');
assert.equal(target.path, localPaths.dojo, 'Target was determined.');
};
exports['test ext-core on google hosted libraries'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.googleapis.com', '/ajax/libs/ext-core/3.1.0/ext-core.js');
assert.equal(target.path, localPaths.extCore, 'Target was determined.');
};
exports['test jquery on google hosted libraries'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.googleapis.com', '/ajax/libs/jquery/1.11.1/jquery.min.js');
assert.equal(target.path, localPaths.jQuery[1], 'Target was determined.');
};
exports['test jquery-ui on google hosted libraries'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.googleapis.com', '/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js');
assert.equal(target.path, localPaths.jQueryUI, 'Target was determined.');
};
exports['test mootools on google hosted libraries'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.googleapis.com', '/ajax/libs/mootools/1.4.5/mootools-yui-compressed.js');
assert.equal(target.path, localPaths.mootools, 'Target was determined.');
};
exports['test prototype on google hosted libraries'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.googleapis.com', '/ajax/libs/prototype/1.6.1.0/prototype.js');
assert.equal(target.path, localPaths.prototypeJS, 'Target was determined.');
};
exports['test scriptaculous on google hosted libraries'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.googleapis.com', '/ajax/libs/scriptaculous/1.9.0/scriptaculous.js');
assert.equal(target.path, localPaths.scriptaculous, 'Target was determined.');
};
exports['test swfobject on google hosted libraries'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.googleapis.com', '/ajax/libs/swfobject/2.2/swfobject.js');
assert.equal(target.path, localPaths.swfobject, 'Target was determined.');
};
exports['test webfont on google hosted libraries'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.googleapis.com', '/ajax/libs/webfont/1.5.18/webfont.js');
assert.equal(target.path, localPaths.webfont[1], 'Target was determined.');
};
// Microsoft Ajax CDN
exports['test jquery on microsoft ajax cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.aspnetcdn.com', '/ajax/jQuery/jquery-1.11.1.min.js');
assert.equal(target.path, localPaths.jQuery[1], 'Target was determined.');
};
exports['test modernizr on microsoft ajax cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.aspnetcdn.com', '/ajax/modernizr/modernizr-2.6.2.js');
assert.equal(target.path, localPaths.modernizr, 'Target was determined.');
};
exports['test jquery on old microsoft ajax cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.microsoft.com', '/ajax/jQuery/jquery-1.11.1.min.js');
assert.equal(target.path, localPaths.jQuery[1], 'Target was determined.');
};
exports['test modernizr on old microsoft ajax cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('ajax.microsoft.com', '/ajax/modernizr/modernizr-2.6.2.js');
assert.equal(target.path, localPaths.modernizr, 'Target was determined.');
};
// CDNJS (Cloudflare)
exports['test angular on cdnjs'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdnjs.cloudflare.com', '/ajax/libs/angular.js/1.2.19/angular.min.js');
assert.equal(target.path, localPaths.angular, 'Target was determined.');
};
exports['test backbone on cdnjs'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdnjs.cloudflare.com', '/ajax/libs/backbone.js/0.9.2/backbone-min.js');
assert.equal(target.path, localPaths.backbone[0], 'Target was determined.');
};
exports['test dojo on cdnjs'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdnjs.cloudflare.com', '/ajax/libs/dojo/1.8.3/dojo.js');
assert.equal(target.path, localPaths.dojo, 'Target was determined.');
};
exports['test ember on cdnjs'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdnjs.cloudflare.com', '/ajax/libs/ember.js/2.1.0/ember.min.js');
assert.equal(target.path, localPaths.ember[1], 'Target was determined.');
};
exports['test ext-core on cdnjs'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdnjs.cloudflare.com', '/ajax/libs/ext-core/3.1.0/ext-core.min.js');
assert.equal(target.path, localPaths.extCore, 'Target was determined.');
};
exports['test jquery on cdnjs'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdnjs.cloudflare.com', '/ajax/libs/jquery/1.11.1/jquery.js');
assert.equal(target.path, localPaths.jQuery[1], 'Target was determined.');
};
exports['test jquery-ui on cdnjs'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdnjs.cloudflare.com', '/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js');
assert.equal(target.path, localPaths.jQueryUI, 'Target was determined.');
};
exports['test modernizr on cdnjs'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdnjs.cloudflare.com', '/ajax/libs/modernizr/2.6.2/modernizr.min.js');
assert.equal(target.path, localPaths.modernizr, 'Target was determined.');
};
exports['test mootools on cdnjs'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdnjs.cloudflare.com', '/ajax/libs/mootools/1.4.5/mootools-core-full-nocompat.js');
assert.equal(target.path, localPaths.mootools, 'Target was determined.');
};
exports['test scriptaculous on cdnjs'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdnjs.cloudflare.com', '/ajax/libs/scriptaculous/1.9.0/scriptaculous.min.js');
assert.equal(target.path, localPaths.scriptaculous, 'Target was determined.');
};
exports['test swfobject on cdnjs'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdnjs.cloudflare.com', '/ajax/libs/swfobject/2.2/swfobject.js');
assert.equal(target.path, localPaths.swfobject, 'Target was determined.');
};
exports['test underscore on cdnjs'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdnjs.cloudflare.com', '/ajax/libs/underscore.js/1.6.0/underscore-min.js');
assert.equal(target.path, localPaths.underscore[2], 'Target was determined.');
};
exports['test webfont on cdnjs'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdnjs.cloudflare.com', '/ajax/libs/webfont/1.5.18/webfontloader.js');
assert.equal(target.path, localPaths.webfont[1], 'Target was determined.');
};
// jQuery CDN (MaxCDN)
exports['test jquery on jquery cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('code.jquery.com', '/jquery-1.11.1.min.js');
assert.equal(target.path, localPaths.jQuery[1], 'Target was determined.');
};
exports['test jquery-ui on jquery cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('code.jquery.com', '/ui/1.10.2/jquery-ui.min.js');
assert.equal(target.path, localPaths.jQueryUI, 'Target was determined.');
};
// jsDelivr (MaxCDN)
exports['test angular on jsdelivr'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdn.jsdelivr.net', '/angularjs/1.2.19/angular.min.js');
assert.equal(target.path, localPaths.angular, 'Target was determined.');
};
exports['test backbone on jsdelivr'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdn.jsdelivr.net', '/backbonejs/1.1.2/backbone-min.js');
assert.equal(target.path, localPaths.backbone[1], 'Target was determined.');
};
exports['test dojo on jsdelivr'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdn.jsdelivr.net', '/dojo/1.8.3/dojo.js');
assert.equal(target.path, localPaths.dojo, 'Target was determined.');
};
exports['test ember on jsdelivr'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdn.jsdelivr.net', '/emberjs/2.1.0/ember.min.js');
assert.equal(target.path, localPaths.ember[1], 'Target was determined.');
};
exports['test jquery on jsdelivr'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdn.jsdelivr.net', '/jquery/1.11.1/jquery.js');
assert.equal(target.path, localPaths.jQuery[1], 'Target was determined.');
};
exports['test jquery-ui on jsdelivr'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdn.jsdelivr.net', '/jquery.ui/1.10.2/jquery-ui.min.js');
assert.equal(target.path, localPaths.jQueryUI, 'Target was determined.');
};
exports['test mootools on jsdelivr'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdn.jsdelivr.net', '/mootools/1.4.5/mootools-core-nocompat.min.js');
assert.equal(target.path, localPaths.mootools, 'Target was determined.');
};
exports['test swfobject on jsdelivr'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdn.jsdelivr.net', '/swfobject/2.2/swfobject.js');
assert.equal(target.path, localPaths.swfobject, 'Target was determined.');
};
exports['test underscore on jsdelivr'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdn.jsdelivr.net', '/underscorejs/1.6.0/underscore-min.js');
assert.equal(target.path, localPaths.underscore[2], 'Target was determined.');
};
exports['test webfont on jsdelivr'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('cdn.jsdelivr.net', '/webfontloader/1.5.18/webfontloader.js');
assert.equal(target.path, localPaths.webfont[1], 'Target was determined.');
};
// Yandex CDN
exports['test angular on yandex cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('yandex.st', '/angularjs/1.2.19/angular.min.js');
assert.equal(target.path, localPaths.angular, 'Target was determined.');
};
exports['test backbone on yandex cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('yandex.st', '/backbone/1.1.2/backbone-min.js');
assert.equal(target.path, localPaths.backbone[1], 'Target was determined.');
};
exports['test dojo on yandex cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('yandex.st', '/dojo/1.8.3/dojo/dojo.js');
assert.equal(target.path, localPaths.dojo, 'Target was determined.');
};
exports['test ext-core on yandex cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('yandex.st', '/ext-core/3.1.0/ext-core.min.js');
assert.equal(target.path, localPaths.extCore, 'Target was determined.');
};
exports['test jquery on yandex cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('yandex.st', '/jquery/1.11.1/jquery.js');
assert.equal(target.path, localPaths.jQuery[1], 'Target was determined.');
};
exports['test jquery-ui on yandex cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('yandex.st', '/jquery-ui/1.10.2/jquery-ui.min.js');
assert.equal(target.path, localPaths.jQueryUI, 'Target was determined.');
};
exports['test modernizr on yandex cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('yandex.st', '/modernizr/2.6.2/modernizr.min.js');
assert.equal(target.path, localPaths.modernizr, 'Target was determined.');
};
exports['test prototype on yandex cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('yandex.st', '/prototype/1.6.1.0/prototype.min.js');
assert.equal(target.path, localPaths.prototypeJS, 'Target was determined.');
};
exports['test scriptaculous on yandex cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('yandex.st', '/scriptaculous/1.9.0/scriptaculous.js');
assert.equal(target.path, localPaths.scriptaculous, 'Target was determined.');
};
exports['test swfobject on yandex cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('yandex.st', '/swfobject/2.2/swfobject.min.js');
assert.equal(target.path, localPaths.swfobject, 'Target was determined.');
};
exports['test underscore on yandex cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('yandex.st', '/underscore/1.6.0/underscore-min.js');
assert.equal(target.path, localPaths.underscore[2], 'Target was determined.');
};
// Baidu CDN
exports['test backbone on baidu cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('libs.baidu.com', '/backbone/0.9.2/backbone-min.js');
assert.equal(target.path, localPaths.backbone[0], 'Target was determined.');
};
exports['test dojo on baidu cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('libs.baidu.com', '/dojo/1.8.3/dojo.js');
assert.equal(target.path, localPaths.dojo, 'Target was determined.');
};
exports['test ext-core on baidu cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('libs.baidu.com', '/ext-core/3.1.0/ext-core.js');
assert.equal(target.path, localPaths.extCore, 'Target was determined.');
};
exports['test jquery on baidu cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('libs.baidu.com', '/jquery/1.11.1/jquery.js');
assert.equal(target.path, localPaths.jQuery[1], 'Target was determined.');
};
exports['test jquery-ui on baidu cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('libs.baidu.com', '/jqueryui/1.10.2/jquery-ui.min.js');
assert.equal(target.path, localPaths.jQueryUI, 'Target was determined.');
};
exports['test mootools on baidu cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('libs.baidu.com', '/mootools/1.4.5/mootools-yui-compressed.js');
assert.equal(target.path, localPaths.mootools, 'Target was determined.');
};
exports['test prototype on baidu cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('libs.baidu.com', '/prototype/1.6.1.0/prototype.js');
assert.equal(target.path, localPaths.prototypeJS, 'Target was determined.');
};
exports['test scriptaculous on baidu cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('libs.baidu.com', '/scriptaculous/1.9.0/scriptaculous.js');
assert.equal(target.path, localPaths.scriptaculous, 'Target was determined.');
};
exports['test swfobject on baidu cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('libs.baidu.com', '/swfobject/2.2/swfobject.js');
assert.equal(target.path, localPaths.swfobject, 'Target was determined.');
};
exports['test underscore on baidu cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('libs.baidu.com', '/underscore/1.3.3/underscore-min.js');
assert.equal(target.path, localPaths.underscore[0], 'Target was determined.');
};
exports['test webfont on baidu cdn'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('libs.baidu.com', '/webfont/1.0.19/webfont.js');
assert.equal(target.path, localPaths.webfont[0], 'Target was determined.');
};
// Sina Public Resources
exports['test angular on sina public resources'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('lib.sinaapp.com', '/js/angular.js/angular-1.2.19/angular.min.js');
assert.equal(target.path, localPaths.angular, 'Target was determined.');
};
exports['test backbone on sina public resources'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('lib.sinaapp.com', '/js/backbone/0.9.2/backbone.min.js');
assert.equal(target.path, localPaths.backbone[0], 'Target was determined.');
};
exports['test dojo on sina public resources'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('lib.sinaapp.com', '/js/dojo/1.8.3/dojo.js');
assert.equal(target.path, localPaths.dojo, 'Target was determined.');
};
exports['test ext-core on sina public resources'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('lib.sinaapp.com', '/js/ext-core/3.1.0/ext-core.js');
assert.equal(target.path, localPaths.extCore, 'Target was determined.');
};
exports['test jquery on sina public resources'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('lib.sinaapp.com', '/js/jquery/1.11.1/jquery.js');
assert.equal(target.path, localPaths.jQuery[1], 'Target was determined.');
};
exports['test jquery-ui on sina public resources'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('lib.sinaapp.com', '/js/jquery-ui/1.10.2/jquery-ui.min.js');
assert.equal(target.path, localPaths.jQueryUI, 'Target was determined.');
};
exports['test mootools on sina public resources'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('lib.sinaapp.com', '/js/mootools/1.4.5/mootools.min.js');
assert.equal(target.path, localPaths.mootools, 'Target was determined.');
};
exports['test prototype on sina public resources'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('lib.sinaapp.com', '/js/prototype/1.6.1.0/prototype.min.js');
assert.equal(target.path, localPaths.prototypeJS, 'Target was determined.');
};
exports['test scriptaculous on sina public resources'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('lib.sinaapp.com', '/js/scriptaculous/1.9.0/scriptaculous.min.js');
assert.equal(target.path, localPaths.scriptaculous, 'Target was determined.');
};
exports['test swfobject on sina public resources'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('lib.sinaapp.com', '/js/swfobject/2.2/swfobject.js');
assert.equal(target.path, localPaths.swfobject, 'Target was determined.');
};
exports['test underscore on sina public resources'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('lib.sinaapp.com', '/js/underscore/1.4.4/underscore-min.js');
assert.equal(target.path, localPaths.underscore[1], 'Target was determined.');
};
exports['test webfont on sina public resources'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('lib.sinaapp.com', '/js/webfont/1.0.19/webfont.js');
assert.equal(target.path, localPaths.webfont[0], 'Target was determined.');
};
// UpYun Library
exports['test dojo on upyun library'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('upcdn.b0.upaiyun.com', '/libs/dojo/dojo-1.8.3.min.js');
assert.equal(target.path, localPaths.dojo, 'Target was determined.');
};
exports['test ember on upyun library'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('upcdn.b0.upaiyun.com', '/libs/emberjs/emberjs-1.1.0.min.js');
assert.equal(target.path, localPaths.ember[0], 'Target was determined.');
};
exports['test jquery on upyun library'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('upcdn.b0.upaiyun.com', '/libs/jquery/jquery-1.10.2.min.js');
assert.equal(target.path, localPaths.jQuery[0], 'Target was determined.');
};
exports['test jquery-ui on upyun library'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('upcdn.b0.upaiyun.com', '/libs/jqueryui/jquery.ui-1.10.2.min.js');
assert.equal(target.path, localPaths.jQueryUI, 'Target was determined.');
};
exports['test modernizr on upyun library'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('upcdn.b0.upaiyun.com', '/libs/modernizr/modernizr-2.6.2.min.js');
assert.equal(target.path, localPaths.modernizr, 'Target was determined.');
};
exports['test mootools on upyun library'] = function (assert) {
var target = requestAnalyzer.getLocalTarget('upcdn.b0.upaiyun.com', '/libs/mootoolscore/mootools.core-1.4.5.min.js');
assert.equal(target.path, localPaths.mootools, 'Target was determined.');
};
/**
* Run Tests
*/
require("sdk/test").run(exports);