@@ -14,6 +14,21 @@ import ImageAsset from 'docc-render/components/ImageAsset.vue';
1414import VideoAsset from 'docc-render/components/VideoAsset.vue' ;
1515import ReplayableVideoAsset from 'docc-render/components/ReplayableVideoAsset.vue' ;
1616
17+ const video = {
18+ type : 'video' ,
19+ poster : 'image' ,
20+ variants : [
21+ {
22+ url : 'foo.mp4' ,
23+ traits : [ '2x' ] ,
24+ size : {
25+ width : 42 ,
26+ height : 42 ,
27+ } ,
28+ } ,
29+ ] ,
30+ } ;
31+
1732describe ( 'Asset' , ( ) => {
1833 beforeAll ( ( ) => {
1934 Object . defineProperty ( window , 'matchMedia' , {
@@ -60,20 +75,6 @@ describe('Asset', () => {
6075 } ) ;
6176
6277 it ( 'renders a `VideoAsset` for video' , ( ) => {
63- const foo = {
64- type : 'video' ,
65- poster : 'image' ,
66- variants : [
67- {
68- url : 'foo.mp4' ,
69- traits : [ '2x' ] ,
70- size : {
71- width : 42 ,
72- height : 42 ,
73- } ,
74- } ,
75- ] ,
76- } ;
7778 const image = {
7879 type : 'image' ,
7980 variants : [
@@ -83,10 +84,10 @@ describe('Asset', () => {
8384 } ,
8485 ] ,
8586 } ;
86- const wrapper = mountAsset ( 'foo ' , { foo , image } ) ;
87+ const wrapper = mountAsset ( 'video ' , { video , image } ) ;
8788
8889 const videoAsset = wrapper . find ( VideoAsset ) ;
89- expect ( videoAsset . props ( 'variants' ) ) . toBe ( foo . variants ) ;
90+ expect ( videoAsset . props ( 'variants' ) ) . toBe ( video . variants ) ;
9091 expect ( videoAsset . props ( 'posterVariants' ) ) . toBe ( image . variants ) ;
9192 expect ( videoAsset . props ( 'showsControls' ) ) . toBe ( true ) ;
9293 expect ( videoAsset . props ( 'autoplays' ) ) . toBe ( true ) ;
@@ -97,68 +98,63 @@ describe('Asset', () => {
9798 } ) ;
9899
99100 it ( 'renders a `VideoAsset` without poster variants' , ( ) => {
100- const foo = {
101- type : 'video' ,
102- poster : 'image' ,
103- variants : [
104- {
105- url : 'foo.mp4' ,
106- traits : [ '2x' ] ,
107- size : {
108- width : 42 ,
109- height : 42 ,
110- } ,
111- } ,
112- ] ,
113- } ;
114- const videoAsset = mountAsset ( 'foo' , { foo } ) . find ( VideoAsset ) ;
115- expect ( videoAsset . props ( 'variants' ) ) . toBe ( foo . variants ) ;
101+ const videoAsset = mountAsset ( 'video' , { video } ) . find ( VideoAsset ) ;
102+ expect ( videoAsset . props ( 'variants' ) ) . toBe ( video . variants ) ;
116103 expect ( videoAsset . props ( 'posterVariants' ) ) . toEqual ( [ ] ) ;
117104 } ) ;
118105
119106 it ( 'renders a `ReplayableVideoAsset` for video with `showsReplayButton=true`' , ( ) => {
120- const foo = {
121- type : 'video' ,
122- variants : [
123- {
124- url : 'foo.mp4' ,
125- traits : [ '2x' ] ,
126- size : {
127- width : 42 ,
128- height : 42 ,
129- } ,
130- } ,
131- ] ,
132- } ;
133107 const wrapper = shallowMount ( Asset , {
134108 propsData : {
135- identifier : 'foo ' ,
109+ identifier : 'video ' ,
136110 showsReplayButton : true ,
137111 showsVideoControls : true ,
138112 } ,
139- provide : { references : { foo } } ,
113+ provide : { references : { video } } ,
140114 } ) ;
141115
142116 const videoAsset = wrapper . find ( ReplayableVideoAsset ) ;
143- expect ( videoAsset . props ( 'variants' ) ) . toBe ( foo . variants ) ;
117+ expect ( videoAsset . props ( 'variants' ) ) . toBe ( video . variants ) ;
144118 expect ( videoAsset . props ( 'showsControls' ) ) . toBe ( true ) ;
119+ expect ( videoAsset . props ( 'muted' ) ) . toBe ( true ) ;
120+ } ) ;
121+
122+ it ( 'renders a `VideoAsset`, without muting it' , ( ) => {
123+ const wrapper = shallowMount ( Asset , {
124+ propsData : {
125+ identifier : 'video' ,
126+ showsVideoControls : true ,
127+ videoAutoplays : true ,
128+ videoMuted : false ,
129+ } ,
130+ provide : { references : { video } } ,
131+ } ) ;
132+
133+ expect ( wrapper . find ( ReplayableVideoAsset ) . exists ( ) ) . toBe ( false ) ;
134+ const videoAsset = wrapper . find ( VideoAsset ) ;
135+ expect ( videoAsset . props ( 'variants' ) ) . toBe ( video . variants ) ;
136+ expect ( videoAsset . props ( 'showsControls' ) ) . toBe ( true ) ;
137+ expect ( videoAsset . props ( 'muted' ) ) . toBe ( false ) ;
138+ expect ( videoAsset . props ( 'autoplays' ) ) . toBe ( true ) ;
139+ } ) ;
140+
141+ it ( 'renders a `ReplayableVideoAsset` without it being muted' , ( ) => {
142+ const wrapper = shallowMount ( Asset , {
143+ propsData : {
144+ identifier : 'video' ,
145+ showsReplayButton : true ,
146+ showsVideoControls : true ,
147+ videoMuted : false ,
148+ } ,
149+ provide : { references : { video } } ,
150+ } ) ;
151+
152+ const videoAsset = wrapper . find ( ReplayableVideoAsset ) ;
153+ expect ( videoAsset . props ( 'showsControls' ) ) . toBe ( true ) ;
154+ expect ( videoAsset . props ( 'muted' ) ) . toBe ( false ) ;
145155 } ) ;
146156
147157 describe ( 'ReduceMotion aware' , ( ) => {
148- const video = {
149- type : 'video' ,
150- poster : 'image' ,
151- variants : [
152- {
153- url : 'foo.mp4' ,
154- traits : [ '2x' ] ,
155- size : {
156- width : 42 ,
157- height : 42 ,
158- } ,
159- } ,
160- ] ,
161- } ;
162158 const image = {
163159 type : 'image' ,
164160 alt : 'blah' ,
0 commit comments