@@ -125,7 +125,13 @@ describe('getAssetData', () => {
125125 'b@4.5x.png' : 'b4.5 image' ,
126126 } ) ;
127127
128- return getAssetData ( '/root/imgs/b.png' , 'imgs/b.png' , [ ] ) . then ( data => {
128+ return getAssetData (
129+ '/root/imgs/b.png' ,
130+ 'imgs/b.png' ,
131+ [ ] ,
132+ null ,
133+ '/assets' ,
134+ ) . then ( data => {
129135 expect ( data ) . toEqual (
130136 expect . objectContaining ( {
131137 __packager_asset : true ,
@@ -153,7 +159,13 @@ describe('getAssetData', () => {
153159 'b@4.5x.jpg' : 'b4.5 image' ,
154160 } ) ;
155161
156- const data = await getAssetData ( '/root/imgs/b.jpg' , 'imgs/b.jpg' , [ ] ) ;
162+ const data = await getAssetData (
163+ '/root/imgs/b.jpg' ,
164+ 'imgs/b.jpg' ,
165+ [ ] ,
166+ null ,
167+ '/assets' ,
168+ ) ;
157169
158170 expect ( data ) . toEqual (
159171 expect . objectContaining ( {
@@ -173,6 +185,40 @@ describe('getAssetData', () => {
173185 ) ;
174186 } ) ;
175187
188+ it ( 'respects `options.publicPath` for output httpServerLocation' , async ( ) => {
189+ writeImages ( {
190+ 'b@1x.jpg' : 'b1 image' ,
191+ 'b@2x.jpg' : 'b2 image' ,
192+ 'b@4x.jpg' : 'b4 image' ,
193+ 'b@4.5x.jpg' : 'b4.5 image' ,
194+ } ) ;
195+
196+ const data = await getAssetData (
197+ '/root/imgs/b.jpg' ,
198+ 'imgs/b.jpg' ,
199+ [ ] ,
200+ null ,
201+ '/public_paths/foo-boar/' ,
202+ ) ;
203+
204+ expect ( data ) . toEqual (
205+ expect . objectContaining ( {
206+ __packager_asset : true ,
207+ type : 'jpg' ,
208+ name : 'b' ,
209+ scales : [ 1 , 2 , 4 , 4.5 ] ,
210+ fileSystemLocation : '/root/imgs' ,
211+ httpServerLocation : '/public_paths/foo-boar/imgs' ,
212+ files : [
213+ '/root/imgs/b@1x.jpg' ,
214+ '/root/imgs/b@2x.jpg' ,
215+ '/root/imgs/b@4x.jpg' ,
216+ '/root/imgs/b@4.5x.jpg' ,
217+ ] ,
218+ } ) ,
219+ ) ;
220+ } ) ;
221+
176222 it ( 'loads and runs asset plugins' , async ( ) => {
177223 jest . mock (
178224 'mockPlugin1' ,
@@ -206,10 +252,13 @@ describe('getAssetData', () => {
206252 'b@3x.png' : 'b3 image' ,
207253 } ) ;
208254
209- const data = await getAssetData ( '/root/imgs/b.png' , 'imgs/b.png' , [
210- 'mockPlugin1' ,
211- 'asyncMockPlugin2' ,
212- ] ) ;
255+ const data = await getAssetData (
256+ '/root/imgs/b.png' ,
257+ 'imgs/b.png' ,
258+ [ 'mockPlugin1' , 'asyncMockPlugin2' ] ,
259+ null ,
260+ '/assets' ,
261+ ) ;
213262
214263 expect ( data ) . toEqual (
215264 expect . objectContaining ( {
@@ -247,21 +296,35 @@ describe('getAssetData', () => {
247296 hash . update ( fs . readFileSync ( path . join ( '/root/imgs' , name ) , 'utf8' ) ) ;
248297 }
249298
250- expect ( await getAssetData ( '/root/imgs/b.jpg' , 'imgs/b.jpg' , [ ] ) ) . toEqual (
251- expect . objectContaining ( { hash : hash . digest ( 'hex' ) } ) ,
252- ) ;
299+ expect (
300+ await getAssetData (
301+ '/root/imgs/b.jpg' ,
302+ 'imgs/b.jpg' ,
303+ [ ] ,
304+ null ,
305+ '/assets' ,
306+ ) ,
307+ ) . toEqual ( expect . objectContaining ( { hash : hash . digest ( 'hex' ) } ) ) ;
253308 } ) ;
254309
255310 it ( 'changes the hash when the passed-in file watcher emits an `all` event' , async ( ) => {
256311 const initialData = await getAssetData (
257312 '/root/imgs/b.jpg' ,
258313 'imgs/b.jpg' ,
259314 [ ] ,
315+ null ,
316+ '/assets' ,
260317 ) ;
261318
262319 fs . writeFileSync ( '/root/imgs/b@4x.jpg' , 'updated data' ) ;
263320
264- const data = await getAssetData ( '/root/imgs/b.jpg' , 'imgs/b.jpg' , [ ] ) ;
321+ const data = await getAssetData (
322+ '/root/imgs/b.jpg' ,
323+ 'imgs/b.jpg' ,
324+ [ ] ,
325+ null ,
326+ '/assets' ,
327+ ) ;
265328 expect ( data . hash ) . not . toEqual ( initialData . hash ) ;
266329 } ) ;
267330 } ) ;
0 commit comments