<!DOCTYPE html>
<html>
<head>
<title>Embedded Enforcement: Subsumption Algorithm - Path parts in host source expressions.</title>
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>
  <script src="support/testharness-helper.sub.js"></script>
</head>
<body>
  <script>
    var tests = [
      { "name": "Returned CSP must specify a path.", 
        "required_csp": "img-src http://c.com:* http://b.com/example.html", 
        "returned_csp": "img-src http://b.com", 
        "expected": IframeLoad.EXPECT_BLOCK },
      { "name": "Returned CSP has a more specific path.", 
        "required_csp": "img-src http://c.com:* http://b.com", 
        "returned_csp": "img-src http://b.com/example.html", 
        "expected": IframeLoad.EXPECT_LOAD },
      { "name": "Matching paths.", 
        "required_csp": "img-src http://c.com:* http://b.com/example.html",
        "returned_csp": "img-src http://b.com/example.html",
        "expected": IframeLoad.EXPECT_LOAD },
      { "name": "Empty path is not subsumed by specified paths.", 
        "required_csp": "img-src http://b.com/page1.html http://b.com/page2.html http://b.com/page3.html",
        "returned_csp": "img-src http://b.com/",
        "expected": IframeLoad.EXPECT_BLOCK },
      { "name": "All specific paths match except the order.", 
        "required_csp": "img-src http://b.com/page1.html http://b.com/page2.html http://b.com/page3.html", 
        "returned_csp": "img-src http://b.com/page2.html http://b.com/page3.html http://b.com/page1.html", 
        "expected": IframeLoad.EXPECT_LOAD },
      { "name": "Returned CSP allows only one path.", 
        "required_csp": "img-src http://b.com/page1.html http://b.com/page2.html http://b.com/page3.html", 
        "returned_csp": "img-src http://b.com/page2.html", 
        "expected": IframeLoad.EXPECT_LOAD },
      { "name": "`/` path should be subsumed by an empty path.", 
        "required_csp": "img-src http://b.com", 
        "returned_csp": "img-src http://b.com/", 
        "expected": IframeLoad.EXPECT_LOAD },
      { "name": "Unspecified path should be subsumed by `/`.", 
        "required_csp": "img-src http://b.com/", 
        "returned_csp": "img-src http://b.com", 
        "expected": IframeLoad.EXPECT_LOAD },
      { "name": "That should not be true when required csp specifies a specific page.", 
        "required_csp": "img-src http://b.com/path.html", 
        "returned_csp": "img-src http://b.com", 
        "expected": IframeLoad.EXPECT_BLOCK },
    ];

    tests.forEach(test => {
      async_test(t =>  {
        var url = generateUrlWithPolicies(Host.CROSS_ORIGIN, test.returned_csp);
        assert_iframe_with_csp(t, url, test.required_csp, test.expected, test.name, null);
      }, test.name);
    });
  </script>
</body>
</html>
