OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <title>MediaMetadata interface</title> | 2 <title>MediaMetadata interface</title> |
3 <script src="../../resources/testharness.js"></script> | 3 <script src="../../resources/testharness.js"></script> |
4 <script src="../../resources/testharnessreport.js"></script> | 4 <script src="../../resources/testharnessreport.js"></script> |
5 <script> | 5 <script> |
6 | 6 |
7 test(function() { | 7 test(function() { |
8 var metadata = new MediaMetadata({}); | 8 var metadata = new MediaMetadata({}); |
9 assert_not_equals(metadata, null); | 9 assert_not_equals(metadata, null); |
10 | 10 |
11 var exception = false; | 11 assert_throws(new TypeError(), _ => new MediaMetadata('foobar')); |
12 try { | 12 assert_throws(new TypeError(), _ => new MediaMetadata(42)); |
13 metadata = new MediaMetadata("foobar"); | 13 }, 'Test that MediaMetadata is constructed using a dictionary'); |
14 } catch (e) { | |
15 exception = true; | |
16 } | |
17 assert_true(exception); | |
18 | 14 |
19 exception = false; | 15 test(function() { |
20 try { | 16 var metadata = new MediaMetadata(); |
21 metadata = new MediaMetadata(42); | 17 assert_not_equals(metadata, null); |
22 } catch (e) { | 18 }, "Test that MediaMetadata constructor can take no parameter"); |
23 exception = true; | |
24 } | |
25 assert_true(exception); | |
26 }, 'Test that MediaMetadata is constructed using a dictionary'); | |
27 | 19 |
28 test(function() { | 20 test(function() { |
29 var metadata = new MediaMetadata({ | 21 var metadata = new MediaMetadata({ |
30 title: 'foo', album: 'bar', artist: 'plop', | 22 title: 'foo', album: 'bar', artist: 'plop', |
31 artwork: [ { src: 'src1', sizes: 'sizes1', type: 'type1'}, | 23 artwork: [ { src: 'src1', sizes: 'sizes1', type: 'type1'}, |
32 { src: 'src2', sizes: 'sizes2', type: 'type2'} ] }); | 24 { src: 'src2', sizes: 'sizes2', type: 'type2'} ] }); |
33 assert_equals(metadata.title, 'foo'); | 25 assert_equals(metadata.title, 'foo'); |
34 assert_equals(metadata.album, 'bar'); | 26 assert_equals(metadata.album, 'bar'); |
35 assert_equals(metadata.artist, 'plop'); | 27 assert_equals(metadata.artist, 'plop'); |
36 assert_equals(2, metadata.artwork.length); | 28 assert_equals(2, metadata.artwork.length); |
37 | 29 |
38 var image1 = new MediaImage({ src: 'src1', sizes: 'sizes1', type: 'type1'}); | 30 var image1 = new MediaImage({ src: 'src1', sizes: 'sizes1', type: 'type1'}); |
39 var image2 = new MediaImage({ src: 'src2', sizes: 'sizes2', type: 'type2'}); | 31 var image2 = new MediaImage({ src: 'src2', sizes: 'sizes2', type: 'type2'}); |
40 assert_equals(metadata.artwork[0].src, image1.src); | 32 assert_equals(metadata.artwork[0].src, image1.src); |
41 assert_equals(metadata.artwork[0].sizes, image1.sizes); | 33 assert_equals(metadata.artwork[0].sizes, image1.sizes); |
42 assert_equals(metadata.artwork[0].type, image1.type); | 34 assert_equals(metadata.artwork[0].type, image1.type); |
43 assert_equals(metadata.artwork[1].src, image2.src); | 35 assert_equals(metadata.artwork[1].src, image2.src); |
44 assert_equals(metadata.artwork[1].sizes, image2.sizes); | 36 assert_equals(metadata.artwork[1].sizes, image2.sizes); |
45 assert_equals(metadata.artwork[1].type, image2.type); | 37 assert_equals(metadata.artwork[1].type, image2.type); |
46 }, 'Test the different values allowed in MediaMetadata init dictionary'); | 38 }, 'Test the different values allowed in MediaMetadata init dictionary'); |
47 | 39 |
48 test(function() { | 40 test(function() { |
49 var metadata = new MediaMetadata({}); | 41 var metadata = new MediaMetadata({}); |
50 assert_equals(metadata.title, ''); | 42 assert_equals(metadata.title, ''); |
51 assert_equals(metadata.artist, ''); | 43 assert_equals(metadata.artist, ''); |
52 assert_equals(metadata.album, ''); | 44 assert_equals(metadata.album, ''); |
53 assert_equals(0, metadata.artwork.length); | 45 assert_equals(0, metadata.artwork.length); |
54 }, 'Test the default values for MediaMetadata'); | 46 }, 'Test the default values for MediaMetadata with empty init dictionary'); |
| 47 |
| 48 test(function() { |
| 49 var metadata = new MediaMetadata(); |
| 50 assert_equals(metadata.title, ''); |
| 51 assert_equals(metadata.artist, ''); |
| 52 assert_equals(metadata.album, ''); |
| 53 assert_equals(0, metadata.artwork.length); |
| 54 }, 'Test the default values for MediaMetadata with no init dictionary'); |
55 | 55 |
56 test(function() { | 56 test(function() { |
57 var metadata = new MediaMetadata({ randomValueThatWillNotBeAdded: '... hopef
ully ;)' }); | 57 var metadata = new MediaMetadata({ randomValueThatWillNotBeAdded: '... hopef
ully ;)' }); |
58 assert_equals(metadata.randomValueThatWillNotBeAdded, undefined); | 58 assert_equals(metadata.randomValueThatWillNotBeAdded, undefined); |
59 }, 'Test that passing unknown values to the dictionary is a no-op'); | 59 }, 'Test that passing unknown values to the dictionary is a no-op'); |
60 | 60 |
61 test(function() { | 61 test(function() { |
62 var metadata = new MediaMetadata({ | 62 var metadata = new MediaMetadata({ |
63 title: 'foo', album: 'bar', artist: 'plop', | 63 title: 'foo', album: 'bar', artist: 'plop', |
64 artwork: [ { src: 'src1', sizes: 'sizes1', type: 'type1'}, | 64 artwork: [ { src: 'src1', sizes: 'sizes1', type: 'type1'}, |
(...skipping 10 matching lines...) Expand all Loading... |
75 | 75 |
76 var image = new MediaImage({ src: 'http://example.com/', sizes: '40x40', typ
e: 'image/png' }); | 76 var image = new MediaImage({ src: 'http://example.com/', sizes: '40x40', typ
e: 'image/png' }); |
77 metadata.artwork = [ image ]; | 77 metadata.artwork = [ image ]; |
78 assert_equals(metadata.artwork.length, 1); | 78 assert_equals(metadata.artwork.length, 1); |
79 assert_equals(metadata.artwork[0].src, 'http://example.com/'); | 79 assert_equals(metadata.artwork[0].src, 'http://example.com/'); |
80 assert_equals(metadata.artwork[0].sizes, '40x40'); | 80 assert_equals(metadata.artwork[0].sizes, '40x40'); |
81 assert_equals(metadata.artwork[0].type, 'image/png'); | 81 assert_equals(metadata.artwork[0].type, 'image/png'); |
82 }, "Test that MediaMetadata is read/write"); | 82 }, "Test that MediaMetadata is read/write"); |
83 | 83 |
84 </script> | 84 </script> |
OLD | NEW |