summaryrefslogtreecommitdiffstats
path: root/toolkit/components/places/tests/browser/browser_visited_notfound.js
blob: 36d17643619ee231f797237075df6525f36005e1 (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
66
67
68
69
70
71
72
73
74
75
76
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

add_task(async function test() {
  const url = "http://mochi.test:8888/notFoundPage.html";

  // Ensure that decay frecency doesn't kick in during tests (as a result
  // of idle-daily).
  await SpecialPowers.pushPrefEnv({
    set: [["places.frecency.decayRate", "1.0"]],
  });
  await registerCleanupFunction(PlacesUtils.history.clear);

  // First add a visit to the page, this will ensure that later we skip
  // updating the frecency for a newly not-found page.
  await PlacesTestUtils.addVisits(url);
  let frecency = await PlacesTestUtils.getDatabaseValue(
    "moz_places",
    "frecency",
    { url }
  );
  Assert.equal(frecency, 100, "Check initial frecency");

  // Used to verify errors are not marked as typed.
  PlacesUtils.history.markPageAsTyped(NetUtil.newURI(url));

  await BrowserTestUtils.withNewTab(
    {
      gBrowser,
      url,
    },
    async browser => {
      info("awaiting for the visit");

      Assert.equal(
        await PlacesTestUtils.getDatabaseValue("moz_places", "frecency", {
          url,
        }),
        frecency,
        "Frecency should be unchanged"
      );
      Assert.equal(
        await PlacesTestUtils.getDatabaseValue("moz_places", "hidden", {
          url,
        }),
        0,
        "Page should not be hidden"
      );
      Assert.equal(
        await PlacesTestUtils.getDatabaseValue("moz_places", "typed", {
          url,
        }),
        0,
        "page should not be marked as typed"
      );
      Assert.equal(
        await PlacesTestUtils.getDatabaseValue(
          "moz_places",
          "recalc_frecency",
          { url }
        ),
        0,
        "page should not be marked for frecency recalculation"
      );
      Assert.equal(
        await PlacesTestUtils.getDatabaseValue(
          "moz_places",
          "recalc_alt_frecency",
          { url }
        ),
        0,
        "page should not be marked for alt frecency recalculation"
      );
    }
  );
});