test_ManifestProcessor_display.html (1970B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=1079453 5 --> 6 <head> 7 <meta charset="utf-8"> 8 <title>Test for Bug 1079453</title> 9 <script src="/tests/SimpleTest/SimpleTest.js"></script> 10 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 11 <script src="common.js"></script> 12 <script> 13 /** 14 * display member 15 * https://w3c.github.io/manifest/#display-member 16 */ 17 "use strict"; 18 // Type checks 19 typeTests.forEach((type) => { 20 var expected = `Expect non - string display to default to "browser".`; 21 data.jsonText = JSON.stringify({ 22 display: type, 23 }); 24 var result = processor.process(data); 25 is(result.display, "browser", expected); 26 }); 27 28 /* Test valid modes - case insensitive*/ 29 var validModes = [ 30 "fullscreen", 31 "standalone", 32 "minimal-ui", 33 "browser", 34 "FullScreen", 35 "standAlone", 36 "minimal-UI", 37 "BROWSER", 38 ]; 39 validModes.forEach((mode) => { 40 var expected = `Expect display mode to be ${mode.toLowerCase()}.`; 41 data.jsonText = JSON.stringify({ 42 display: mode, 43 }); 44 var result = processor.process(data); 45 is(result.display, mode.toLowerCase(), expected); 46 }); 47 48 // trim tests 49 validModes.forEach((display) => { 50 var expected = `Expect trimmed display mode to be returned.`; 51 var expandedDisplay = seperators + lineTerminators + display + lineTerminators + seperators; 52 data.jsonText = JSON.stringify({ 53 display: expandedDisplay, 54 }); 55 var result = processor.process(data); 56 is(result.display, display.toLowerCase(), expected); 57 }); 58 59 // Unknown modes 60 var invalidModes = [ 61 "foo", 62 `fooo${whiteSpace}`, 63 "", 64 "fullscreen,standalone", 65 "standalone fullscreen", 66 "FULLSCreENS", 67 ]; 68 69 invalidModes.forEach((invalidMode) => { 70 var expected = `Expect default display mode "browser" to be returned: '${invalidMode}'`; 71 data.jsonText = JSON.stringify({ 72 display: invalidMode, 73 }); 74 var result = processor.process(data); 75 is(result.display, "browser", expected); 76 }); 77 </script> 78 </head>