mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-21 01:05:45 +00:00
Bug 1367696 - PART II add xpcshell structure for onboarding;r=mossop,rexboy
MozReview-Commit-ID: LA3LD8qx35d --HG-- extra : rebase_source : 1209f33970ffcbd02ccdf8338e61c4c4bb64b22c
This commit is contained in:
parent
5c929621d2
commit
d9dc7d2e7b
@ -19,4 +19,6 @@ FINAL_TARGET_FILES.features['onboarding@mozilla.org'] += [
|
||||
|
||||
BROWSER_CHROME_MANIFESTS += ['test/browser/browser.ini']
|
||||
|
||||
XPCSHELL_TESTS_MANIFESTS += ['test/unit/xpcshell.ini']
|
||||
|
||||
JAR_MANIFESTS += ['jar.mn']
|
||||
|
7
browser/extensions/onboarding/test/unit/.eslintrc.js
Normal file
7
browser/extensions/onboarding/test/unit/.eslintrc.js
Normal file
@ -0,0 +1,7 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = {
|
||||
"extends": [
|
||||
"plugin:mozilla/xpcshell-test",
|
||||
],
|
||||
};
|
38
browser/extensions/onboarding/test/unit/head.js
Normal file
38
browser/extensions/onboarding/test/unit/head.js
Normal file
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* Provides infrastructure for automated onboarding components tests.
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
/* global Cc, Ci, Cu */
|
||||
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
|
||||
Cu.import("resource://gre/modules/Preferences.jsm");
|
||||
Cu.import("resource://gre/modules/Services.jsm");
|
||||
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
|
||||
|
||||
// Load our bootstrap extension manifest so we can access our chrome/resource URIs.
|
||||
// Cargo culted from formautofill system add-on
|
||||
const EXTENSION_ID = "onboarding@mozilla.org";
|
||||
let extensionDir = Services.dirsvc.get("GreD", Ci.nsIFile);
|
||||
extensionDir.append("browser");
|
||||
extensionDir.append("features");
|
||||
extensionDir.append(EXTENSION_ID);
|
||||
// If the unpacked extension doesn't exist, use the packed version.
|
||||
if (!extensionDir.exists()) {
|
||||
extensionDir.leafName += ".xpi";
|
||||
}
|
||||
Components.manager.addBootstrappedManifestLocation(extensionDir);
|
||||
|
||||
const TOURSET_VERSION = 1;
|
||||
const PREF_TOUR_TYPE = "browser.onboarding.tour-type";
|
||||
const PREF_TOURSET_VERSION = "browser.onboarding.tourset-version";
|
||||
const PREF_SEEN_TOURSET_VERSION = "browser.onboarding.seen-tourset-version";
|
||||
const PREF_ONBOARDING_HIDDEN = "browser.onboarding.hidden";
|
||||
|
||||
function resetOnboardingDefaultState() {
|
||||
// All the prefs should be reset to what prefs should looks like in a new user profile
|
||||
Services.prefs.setBoolPref(PREF_ONBOARDING_HIDDEN, false);
|
||||
Services.prefs.setIntPref(PREF_TOURSET_VERSION, TOURSET_VERSION);
|
||||
Services.prefs.clearUserPref(PREF_SEEN_TOURSET_VERSION);
|
||||
Services.prefs.clearUserPref(PREF_TOUR_TYPE);
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
/*
|
||||
* Test for onboarding tour type check.
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
add_task(async function() {
|
||||
do_print("Starting testcase: New user state");
|
||||
resetOnboardingDefaultState();
|
||||
|
||||
do_check_eq(Preferences.get(PREF_TOURSET_VERSION), TOURSET_VERSION);
|
||||
do_check_eq(Preferences.get(PREF_ONBOARDING_HIDDEN), false);
|
||||
});
|
5
browser/extensions/onboarding/test/unit/xpcshell.ini
Normal file
5
browser/extensions/onboarding/test/unit/xpcshell.ini
Normal file
@ -0,0 +1,5 @@
|
||||
[DEFAULT]
|
||||
firefox-appdir = browser
|
||||
head = head.js
|
||||
|
||||
[test-onboarding-tour-type.js]
|
Loading…
Reference in New Issue
Block a user