summaryrefslogtreecommitdiffstats
path: root/toolkit/components/url-classifier/tests/mochitest/test_classifier.html
blob: 9533db426e7024be13922c7091ef83564d25f3ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<!DOCTYPE HTML>
<html>
<head>
  <title>Test the URI Classifier</title>
  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
  <script type="text/javascript" src="classifierHelper.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>

<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">

<script class="testbody" type="text/javascript">

var firstLoad = true;

// Add some URLs to the malware database.
var testData = [
  { url: "malware.example.com/",
    db: "test-malware-simple"
  },
  { url: "unwanted.example.com/",
    db: "test-unwanted-simple"
  }
];

function loadTestFrame() {
  document.getElementById("testFrame").src = "classifierFrame.html";
}

// Expected finish() call is in "classifierFrame.html".
SimpleTest.waitForExplicitFinish();

function updateSuccess() {
  SpecialPowers.pushPrefEnv(
    {"set" : [["browser.safebrowsing.malware.enabled", true]]},
    loadTestFrame);
}

function updateError(errorCode) {
  ok(false, "Couldn't update classifier. Error code: " + errorCode);
  // Abort test.
  SimpleTest.finish();
}

SpecialPowers.pushPrefEnv(
  {"set" : [["urlclassifier.malwareTable", "test-malware-simple,test-unwanted-simple"],
            ["urlclassifier.phishTable", "test-phish-simple"]]},
  function() {
    classifierHelper.waitForInit()
      .then(() => classifierHelper.addUrlToDB(testData))
      .then(updateSuccess)
      .catch(err => {
        updateError(err);
      });
  });

</script>

</pre>
<iframe id="testFrame" onload=""></iframe>
</body>
</html>