Bug 1344642 - Part 2: Add a new pref for input type=week, month and datetime-local

This commit is contained in:
janekptacijarabaci 2018-04-15 14:52:09 +02:00 • committed by Roy Tam
commit 5622e56123
6 changed files with 73 additions and 24 deletions

View file

@ -49,27 +49,51 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=764481
inputType: "date",
expectedType: "date"
}, {
prefs: [["dom.forms.datetime", false]],
prefs: [["dom.experimental_forms", false], ["dom.forms.datetime", false]],
inputType: "time",
expectedType: "text"
}, {
prefs: [["dom.experimental_forms", true], ["dom.forms.datetime", false]],
inputType: "time",
expectedType: "time"
}, {
prefs: [["dom.experimental_forms", false], ["dom.forms.datetime", true]],
inputType: "time",
expectedType: "time"
}, {
prefs: [["dom.forms.datetime", false], ["dom.forms.datetime.others", false]],
inputType: "month",
expectedType: "text"
}, {
prefs: [["dom.forms.datetime", true]],
prefs: [["dom.forms.datetime", true], ["dom.forms.datetime.others", false]],
inputType: "month",
expectedType: "text"
}, {
prefs: [["dom.forms.datetime", false], ["dom.forms.datetime.others", true]],
inputType: "month",
expectedType: "month"
}, {
prefs: [["dom.forms.datetime", false]],
prefs: [["dom.forms.datetime", false], ["dom.forms.datetime.others", false]],
inputType: "week",
expectedType: "text"
}, {
prefs: [["dom.forms.datetime", true]],
prefs: [["dom.forms.datetime", true], ["dom.forms.datetime.others", false]],
inputType: "week",
expectedType: "text"
}, {
prefs: [["dom.forms.datetime", false], ["dom.forms.datetime.others", true]],
inputType: "week",
expectedType: "week"
}, {
prefs: [["dom.forms.datetime", false]],
prefs: [["dom.forms.datetime", false], ["dom.forms.datetime.others", false]],
inputType: "datetime-local",
expectedType: "text"
}, {
prefs: [["dom.forms.datetime", true]],
prefs: [["dom.forms.datetime", true], ["dom.forms.datetime.others", false]],
inputType: "datetime-local",
expectedType: "text"
}, {
prefs: [["dom.forms.datetime", false], ["dom.forms.datetime.others", true]],
inputType: "datetime-local",
expectedType: "datetime-local"
}

View file

@ -12,11 +12,12 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=874640
/** Test for Bug 874640 **/
var states = [
// dom.experimental_forms, dom.forms.datetime, expectedValueAsDate
[ 'true', 'true', 'true' ],
[ 'true', 'false', 'true' ],
[ 'false', 'true', 'true' ],
[ 'false', 'false', 'false' ],
// dom.experimental_forms, dom.forms.datetime, dom.forms.datetime.others, expectedValueAsDate
[ 'true', 'true', ,'true', 'true' ],
[ 'true', 'false', 'false', 'true' ],
[ 'false', 'true', 'false', 'true' ],
[ 'false', 'false', 'true', 'true' ],
[ 'false', 'false', 'false', 'false' ],
'end'
];
@ -32,11 +33,12 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=874640
SpecialPowers.pushPrefEnv({"set":[
["dom.experimental_forms", state[0] === 'true'],
["dom.forms.datetime", state[1] === 'true']]},
["dom.forms.datetime", state[1] === 'true'],
["dom.forms.datetime.others", state[2] === 'true']]},
function() {
iframe.src = 'data:text/html,<script>' +
'parent.is("valueAsDate" in document.createElement("input"), ' +
state[2] + ', "valueAsDate presence state should be ' + state[2] + '");' +
state[3] + ', "valueAsDate presence state should be ' + state[3] + '");' +
'<\/script>'
});
}