test_ManifestProcessor_name_and_short_name.html (2217B)
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 * name and short_name members 15 * https://w3c.github.io/manifest/#name-member 16 * https://w3c.github.io/manifest/#short_name-member 17 */ 18 19 "use strict"; 20 21 var trimNamesTests = [ 22 `${seperators}pass${seperators}`, 23 `${lineTerminators}pass${lineTerminators}`, 24 `${whiteSpace}pass${whiteSpace}`, 25 // BOM 26 `\uFEFFpass\uFEFF`, 27 ]; 28 var props = ["name", "short_name"]; 29 30 props.forEach((prop) => { 31 trimNamesTests.forEach((trimmableString) => { 32 var assetion = `Expecting ${prop} to be trimmed.`; 33 var obj = {}; 34 obj[prop] = trimmableString; 35 data.jsonText = JSON.stringify(obj); 36 var result = processor.process(data); 37 is(result[prop], "pass", assetion); 38 }); 39 }); 40 41 /* 42 * If the object is not a string, it becomes undefined 43 */ 44 props.forEach((prop) => { 45 typeTests.forEach((type) => { 46 var expected = `Expect non - string ${prop} to be undefined: ${typeof type}`; 47 var obj = {}; 48 obj[prop] = type; 49 data.jsonText = JSON.stringify(obj); 50 var result = processor.process(data); 51 SimpleTest.ok(result[prop] === undefined, expected); 52 }); 53 }); 54 55 /** 56 * acceptable names - including long names 57 */ 58 var acceptableNames = [ 59 "pass", 60 `pass pass pass pass pass pass pass pass pass pass pass pass pass pass 61 pass pass pass pass pass pass pass pass pass pass pass pass pass pass 62 pass pass pass pass pass pass pass pass pass pass pass pass pass pass 63 pass pass pass pass pass pass pass pass pass pass pass pass`, 64 "これは許容できる名前です", 65 "ນີ້ແມ່ນຊື່ທີ່ຍອມຮັບໄດ້", 66 ]; 67 68 props.forEach((prop) => { 69 acceptableNames.forEach((name) => { 70 var expected = `Expecting name to be acceptable : ${name}`; 71 var obj = {}; 72 obj[prop] = name; 73 data.jsonText = JSON.stringify(obj); 74 var result = processor.process(data); 75 is(result[prop], name, expected); 76 }); 77 }); 78 </script> 79 </head>