Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: chrome/content/tests/policy.js

Issue 6439460933730304: Issue 616 - Add tests for $generichide and $genericblock (Closed)
Patch Set: Removed comment that I had forgotten about. Created March 19, 2015, 4:19 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/content/tests/matcher.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 (function() 1 (function()
2 { 2 {
3 let server = null; 3 let server = null;
4 let frame = null; 4 let frame = null;
5 let requestNotifier = null; 5 let requestNotifier = null;
6 let httpProtocol = null; 6 let httpProtocol = null;
7 7
8 module("Content policy", { 8 module("Content policy", {
9 setup: function() 9 setup: function()
10 { 10 {
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 policyHits.pop(); 290 policyHits.pop();
291 } 291 }
292 policyHits.push([wnd, node, item]); 292 policyHits.push([wnd, node, item]);
293 } 293 }
294 294
295 function runTest([name, body, expectedURL, expectedType, expectedThirdParty, e xplicitEvent], stage) 295 function runTest([name, body, expectedURL, expectedType, expectedThirdParty, e xplicitEvent], stage)
296 { 296 {
297 defaultMatcher.clear(); 297 defaultMatcher.clear();
298 298
299 if (stage > 1) 299 if (stage > 1)
300 defaultMatcher.add(Filter.fromText(expectedURL)); 300 if (stage == 7)
301 defaultMatcher.add(Filter.fromText(expectedURL + "$domain=127.0.0.1"));
302 else
303 defaultMatcher.add(Filter.fromText(expectedURL));
304
301 if (stage == 3) 305 if (stage == 3)
302 defaultMatcher.add(Filter.fromText("@@||127.0.0.1:1234/test|$document")); 306 defaultMatcher.add(Filter.fromText("@@||127.0.0.1:1234/test|$document"));
303 if (stage == 4) 307 if (stage == 4)
304 defaultMatcher.add(Filter.fromText("@@||127.0.0.1:1234/test|$~document")); 308 defaultMatcher.add(Filter.fromText("@@||127.0.0.1:1234/test|$~document"));
305 if (stage == 5) 309 if (stage == 5)
306 defaultMatcher.add(Filter.fromText("@@||127.0.0.1:1234/test|$document,site key=" + publickey)); 310 defaultMatcher.add(Filter.fromText("@@||127.0.0.1:1234/test|$document,site key=" + publickey));
311 if (stage == 6 || stage == 7)
312 defaultMatcher.add(Filter.fromText("@@||127.0.0.1:1234/test|$genericblock" ));
307 313
308 if (!explicitEvent) 314 if (!explicitEvent)
309 { 315 {
310 if (body.indexOf("2000/svg") >= 0) 316 if (body.indexOf("2000/svg") >= 0)
311 { 317 {
312 // SVG image: add an onload attribute to the document element 318 // SVG image: add an onload attribute to the document element
313 body = body.replace(/(<svg\b)/, '$1 onload="this.dispatchEvent(new Custo mEvent(\'abp:frameready\', {bubbles: true}));"'); 319 body = body.replace(/(<svg\b)/, '$1 onload="this.dispatchEvent(new Custo mEvent(\'abp:frameready\', {bubbles: true}));"');
314 } 320 }
315 else 321 else
316 { 322 {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 360
355 // Work around weird Firefox behavior, where worker scripts succesfully lo ad with empty 404 pages. 361 // Work around weird Firefox behavior, where worker scripts succesfully lo ad with empty 404 pages.
356 var error = "<b>Not found...<b>"; 362 var error = "<b>Not found...<b>";
357 response.bodyOutputStream.write(error, error.length); 363 response.bodyOutputStream.write(error, error.length);
358 }); 364 });
359 365
360 policyHits = []; 366 policyHits = [];
361 var callback = function() 367 var callback = function()
362 { 368 {
363 let expectedStatus = "allowed"; 369 let expectedStatus = "allowed";
364 if (stage == 3) 370 if (stage == 3 || stage == 6)
365 equal(policyHits.length, 0, "Number of policy hits"); 371 equal(policyHits.length, 0, "Number of policy hits");
366 // We cannot rely on the correctness of policy hits for sitekey filters du e to blocking 372 // We cannot rely on the correctness of policy hits for sitekey filters du e to blocking
367 // filter hits being counted even if the resource doesn't end up getting b locked 373 // filter hits being counted even if the resource doesn't end up getting b locked
368 else if (stage != 5) 374 else if (stage != 5)
369 { 375 {
370 equal(policyHits.length, 1, "Number of policy hits"); 376 equal(policyHits.length, 1, "Number of policy hits");
371 if (policyHits.length == 1) 377 if (policyHits.length == 1)
372 { 378 {
373 let [wnd, node, item] = policyHits[0]; 379 let [wnd, node, item] = policyHits[0];
374 380
(...skipping 17 matching lines...) Expand all
392 }; 398 };
393 frame.addEventListener("abp:frameready", callback, false, true); 399 frame.addEventListener("abp:frameready", callback, false, true);
394 frame.setAttribute("src", "http://127.0.0.1:1234/test"); 400 frame.setAttribute("src", "http://127.0.0.1:1234/test");
395 } 401 }
396 402
397 let stageDescriptions = { 403 let stageDescriptions = {
398 1: "running without filters", 404 1: "running without filters",
399 2: "running with filter %S", 405 2: "running with filter %S",
400 3: "running with filter %S and site exception", 406 3: "running with filter %S and site exception",
401 4: "running with filter %S and exception not applicable to sites", 407 4: "running with filter %S and exception not applicable to sites",
402 5: "running with filter %S and sitekey exception" 408 5: "running with filter %S and sitekey exception",
409 6: "running with filter %S and $genericblock exception",
410 7: "running with filter %S$domain=127.0.0.1 and $genericblock exception"
403 }; 411 };
404 412
405 for (let test = 0; test < tests.length; test++) 413 for (let test = 0; test < tests.length; test++)
406 { 414 {
407 let [name, body, expectedURL, expectedType, expectedDomain, expectedThirdPar ty] = tests[test]; 415 let [name, body, expectedURL, expectedType, expectedDomain, expectedThirdPar ty] = tests[test];
408 for (let stage = 1; stage in stageDescriptions; stage++) 416 for (let stage = 1; stage in stageDescriptions; stage++)
409 { 417 {
410 let stageDescription = stageDescriptions[stage]; 418 let stageDescription = stageDescriptions[stage];
411 if (stageDescription.indexOf("%S") >= 0) 419 if (stageDescription.indexOf("%S") >= 0)
412 stageDescription = stageDescription.replace("%S", expectedURL); 420 stageDescription = stageDescription.replace("%S", expectedURL);
413 421
414 asyncTest(name + " (" + stageDescription + ")", runTest.bind(null, tests[t est], stage)); 422 asyncTest(name + " (" + stageDescription + ")", runTest.bind(null, tests[t est], stage));
415 } 423 }
416 } 424 }
417 })(); 425 })();
OLDNEW
« no previous file with comments | « chrome/content/tests/matcher.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld