tor-browser

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

test_ImageObjectProcessor_sizes.html (2184B)


      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 * Image object's sizes member
     15 * https://w3c.github.io/manifest/#sizes-member
     16 */
     17 "use strict";
     18 var validSizes = [{
     19  test: "16x16",
     20  expect: ["16x16"],
     21 }, {
     22  test: "hello 16x16 16x16",
     23  expect: ["16x16"],
     24 }, {
     25  test: "32x32 16 48x48 12",
     26  expect: ["32x32", "48x48"],
     27 }, {
     28  test: `${whiteSpace}128x128${whiteSpace}512x512 8192x8192 32768x32768${whiteSpace}`,
     29  expect: ["128x128", "512x512", "8192x8192", "32768x32768"],
     30 }, {
     31  test: "any",
     32  expect: ["any"],
     33 }, {
     34  test: "Any",
     35  expect: ["Any"],
     36 }, {
     37  test: "16x32",
     38  expect: ["16x32"],
     39 }, {
     40  test: "17x33",
     41  expect: ["17x33"],
     42 }, {
     43  test: "32x32 32x32",
     44  expect: ["32x32"],
     45 }, {
     46  test: "32X32",
     47  expect: ["32X32"],
     48 }, {
     49  test: "any 32x32",
     50  expect: ["any", "32x32"],
     51 }];
     52 
     53 var testIcon = {
     54  icons: [{
     55    src: "test",
     56    sizes: undefined,
     57  }],
     58 };
     59 
     60 validSizes.forEach(({test, expect}) => {
     61  testIcon.icons[0].sizes = test;
     62  data.jsonText = JSON.stringify(testIcon);
     63  var result = processor.process(data);
     64  var sizes = result.icons[0].sizes;
     65  var expected = `Expect sizes to equal ${expect.join(" ")}`;
     66  is(sizes.join(" "), expect.join(" "), expected);
     67 });
     68 
     69 var invalidSizes = ["invalid", "", " ", "16 x 16", "32", "21", "16xx16", "16 x x 6"];
     70 invalidSizes.forEach((invalidSize) => {
     71  var expected = "Expect invalid sizes to return undefined.";
     72  testIcon.icons[0].sizes = invalidSize;
     73  data.jsonText = JSON.stringify(testIcon);
     74  var result = processor.process(data);
     75  var sizes = result.icons[0].sizes;
     76  is(sizes, undefined, expected);
     77 });
     78 
     79 typeTests.forEach((type) => {
     80  var expected = `Expect non-string sizes ${typeof type} to be undefined.`;
     81  testIcon.icons[0].sizes = type;
     82  data.jsonText = JSON.stringify(testIcon);
     83  var result = processor.process(data);
     84  var sizes = result.icons[0].sizes;
     85  is(sizes, undefined, expected);
     86 });
     87  </script>
     88 </head>