tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>