diff options
Diffstat (limited to 'dom/manifest/test/test_ImageObjectProcessor_sizes.html')
-rw-r--r-- | dom/manifest/test/test_ImageObjectProcessor_sizes.html | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/dom/manifest/test/test_ImageObjectProcessor_sizes.html b/dom/manifest/test/test_ImageObjectProcessor_sizes.html new file mode 100644 index 000000000..82a8ef991 --- /dev/null +++ b/dom/manifest/test/test_ImageObjectProcessor_sizes.html @@ -0,0 +1,95 @@ +<!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> +/** + * Image object's sizes member + * https://w3c.github.io/manifest/#sizes-member + **/ +'use strict'; +var validSizes = [{ + test: '16x16', + expect: ['16x16'] +}, { + test: 'hello 16x16 16x16', + expect: ['16x16'] +}, { + test: '32x32 16 48x48 12', + expect: ['32x32', '48x48'] +}, { + test: `${whiteSpace}128x128${whiteSpace}512x512 8192x8192 32768x32768${whiteSpace}`, + expect: ['128x128', '512x512', '8192x8192', '32768x32768'] +}, { + test: 'any', + expect: ['any'] +}, { + test: 'Any', + expect: ['Any'] +}, { + test: '16x32', + expect: ['16x32'] +}, { + test: '17x33', + expect: ['17x33'] +}, { + test: '32x32 32x32', + expect: ['32x32'] +}, { + test: '32X32', + expect: ['32X32'] +}, { + test: 'any 32x32', + expect: ['any', '32x32'] +}]; + +var testIcon = { + icons: [{ + src: 'test', + sizes: undefined + }] +}; + +validSizes.forEach(({test, expect}) => { + testIcon.icons[0].sizes = test; + data.jsonText = JSON.stringify(testIcon); + var result = processor.process(data); + var sizes = result.icons[0].sizes; + var expected = `Expect sizes to equal ${expect.join(" ")}`; + is(sizes, expect.join(" "), expected); +}); + +var testIcon = { + icons: [{ + src: 'test', + sizes: undefined + }] +}; + +var invalidSizes = ['invalid', '', ' ', '16 x 16', '32', '21', '16xx16', '16 x x 6']; +invalidSizes.forEach((invalidSize) => { + var expected = 'Expect invalid sizes to return undefined.'; + testIcon.icons[0].sizes = invalidSize; + data.jsonText = JSON.stringify(testIcon); + var result = processor.process(data); + var sizes = result.icons[0].sizes; + is(sizes, undefined, expected); +}); + +typeTests.forEach((type) => { + var expected = `Expect non-string sizes ${typeof type} to be undefined.`; + testIcon.icons[0].sizes = type; + data.jsonText = JSON.stringify(testIcon); + var result = processor.process(data); + var sizes = result.icons[0].sizes; + is(sizes, undefined, expected); +}); + </script> +</head> |