toolkit/components/places/tests/expiration/test_debug_expiration.js

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:f49fb55832cf
1 /* Any copyright is dedicated to the Public Domain.
2 http://creativecommons.org/publicdomain/zero/1.0/ */
3
4 /**
5 * What this is aimed to test:
6 *
7 * Expiration can be manually triggered through a debug topic, but that should
8 * only expire orphan entries, unless -1 is passed as limit.
9 */
10
11 let gNow = getExpirablePRTime();
12
13 add_task(function test_expire_orphans()
14 {
15 // Add visits to 2 pages and force a orphan expiration. Visits should survive.
16 yield promiseAddVisits({ uri: uri("http://page1.mozilla.org/"),
17 visitDate: gNow++ });
18 yield promiseAddVisits({ uri: uri("http://page2.mozilla.org/"),
19 visitDate: gNow++ });
20 // Create a orphan place.
21 let id = PlacesUtils.bookmarks.insertBookmark(PlacesUtils.unfiledBookmarksFolderId,
22 NetUtil.newURI("http://page3.mozilla.org/"),
23 PlacesUtils.bookmarks.DEFAULT_INDEX, "");
24 PlacesUtils.bookmarks.removeItem(id);
25
26 // Expire now.
27 yield promiseForceExpirationStep(0);
28
29 // Check that visits survived.
30 do_check_eq(visits_in_database("http://page1.mozilla.org/"), 1);
31 do_check_eq(visits_in_database("http://page2.mozilla.org/"), 1);
32 do_check_false(page_in_database("http://page3.mozilla.org/"));
33
34 // Clean up.
35 yield promiseClearHistory();
36 });
37
38 add_task(function test_expire_orphans_optionalarg()
39 {
40 // Add visits to 2 pages and force a orphan expiration. Visits should survive.
41 yield promiseAddVisits({ uri: uri("http://page1.mozilla.org/"),
42 visitDate: gNow++ });
43 yield promiseAddVisits({ uri: uri("http://page2.mozilla.org/"),
44 visitDate: gNow++ });
45 // Create a orphan place.
46 let id = PlacesUtils.bookmarks.insertBookmark(PlacesUtils.unfiledBookmarksFolderId,
47 NetUtil.newURI("http://page3.mozilla.org/"),
48 PlacesUtils.bookmarks.DEFAULT_INDEX, "");
49 PlacesUtils.bookmarks.removeItem(id);
50
51 // Expire now.
52 yield promiseForceExpirationStep();
53
54 // Check that visits survived.
55 do_check_eq(visits_in_database("http://page1.mozilla.org/"), 1);
56 do_check_eq(visits_in_database("http://page2.mozilla.org/"), 1);
57 do_check_false(page_in_database("http://page3.mozilla.org/"));
58
59 // Clean up.
60 yield promiseClearHistory();
61 });
62
63 add_task(function test_expire_limited()
64 {
65 // Add visits to 2 pages and force a single expiration.
66 // Only 1 page should survive.
67 yield promiseAddVisits({ uri: uri("http://page1.mozilla.org/"),
68 visitDate: gNow++ });
69 yield promiseAddVisits({ uri: uri("http://page2.mozilla.org/"),
70 visitDate: gNow++ });
71
72 // Expire now.
73 yield promiseForceExpirationStep(1);
74
75 // Check that visits to the more recent page survived.
76 do_check_false(page_in_database("http://page1.mozilla.org/"));
77 do_check_eq(visits_in_database("http://page2.mozilla.org/"), 1);
78
79 // Clean up.
80 yield promiseClearHistory();
81 });
82
83 add_task(function test_expire_unlimited()
84 {
85 // Add visits to 2 pages and force a single expiration.
86 // Only 1 page should survive.
87 yield promiseAddVisits({ uri: uri("http://page1.mozilla.org/"),
88 visitDate: gNow++ });
89 yield promiseAddVisits({ uri: uri("http://page2.mozilla.org/"),
90 visitDate: gNow++ });
91
92 // Expire now.
93 yield promiseForceExpirationStep(-1);
94
95 // Check that visits to the more recent page survived.
96 do_check_false(page_in_database("http://page1.mozilla.org/"));
97 do_check_false(page_in_database("http://page2.mozilla.org/"));
98
99 // Clean up.
100 yield promiseClearHistory();
101 });
102
103 function run_test()
104 {
105 // Set interval to a large value so we don't expire on it.
106 setInterval(3600); // 1h
107 // Set maxPages to a low value, so it's easy to go over it.
108 setMaxPages(1);
109
110 run_next_test();
111 }

mercurial