gecko-dev/dom/manifest/test/test_ManifestProcessor_orientation.html
2018-12-18 20:38:43 +00:00

87 lines
2.3 KiB
HTML

<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=1079453
-->
<head>
<meta charset="utf-8">
<title>Test for Bug 1079453</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<script src="common.js"></script>
<script>
/**
* orientation member
* https://w3c.github.io/manifest/#orientation-member
**/
"use strict";
typeTests.forEach((type) => {
var expected = `Expect non-string orientation to be empty string : ${typeof type}.`;
data.jsonText = JSON.stringify({
orientation: type,
});
var result = processor.process(data);
is(result.orientation, undefined, expected);
});
var validOrientations = [
"any",
"natural",
"landscape",
"portrait",
"portrait-primary",
"portrait-secondary",
"landscape-primary",
"landscape-secondary",
"aNy",
"NaTuRal",
"LANDsCAPE",
"PORTRAIT",
"portrait-PRIMARY",
"portrait-SECONDARY",
"LANDSCAPE-primary",
"LANDSCAPE-secondary",
];
validOrientations.forEach((orientation) => {
var expected = `Expect orientation to be returned: ${orientation}.`;
data.jsonText = JSON.stringify({ orientation });
var result = processor.process(data);
is(result.orientation, orientation.toLowerCase(), expected);
});
var invalidOrientations = [
"all",
"ANYMany",
"NaTuRalle",
"portrait-primary portrait-secondary",
"portrait-primary,portrait-secondary",
"any-natural",
"portrait-landscape",
"primary-portrait",
"secondary-portrait",
"landscape-landscape",
"secondary-primary",
];
invalidOrientations.forEach((orientation) => {
var expected = `Expect orientation to be empty string: ${orientation}.`;
data.jsonText = JSON.stringify({ orientation });
var result = processor.process(data);
is(result.orientation, undefined, expected);
});
// Trim tests
validOrientations.forEach((orientation) => {
var expected = `Expect trimmed orientation to be returned.`;
var expandedOrientation = `${seperators}${lineTerminators}${orientation}${lineTerminators}${seperators}`;
data.jsonText = JSON.stringify({
orientation: expandedOrientation,
});
var result = processor.process(data);
is(result.orientation, orientation.toLowerCase(), expected);
});
</script>
</head>