@@ -86,6 +86,8 @@ test('image.metadata.strip() strips all metadata', async (t) => {
8686
8787 {
8888 const metadata = await image ( newImage ) . metadata ( )
89+
90+ // no exif data is stored
8991 t . absent ( metadata . exif . COLOR_SPACE )
9092 t . absent ( metadata . exif . EXIF_VERSION )
9193 t . absent ( metadata . exif . FLASH_PIX_VERSION )
@@ -95,6 +97,39 @@ test('image.metadata.strip() strips all metadata', async (t) => {
9597 }
9698} )
9799
100+ test ( 'image.metadata.strip() strips all metadata, except orientation' , async ( t ) => {
101+ const path = './test/fixtures/exif.jpg'
102+
103+ const metadata = await image ( path ) . metadata ( )
104+
105+ t . ok ( metadata . exif . COLOR_SPACE )
106+ t . ok ( metadata . exif . EXIF_VERSION )
107+ t . ok ( metadata . exif . FLASH_PIX_VERSION )
108+ t . ok ( metadata . exif . RESOLUTION_UNIT )
109+ t . ok ( metadata . exif . MAKE )
110+ t . ok ( metadata . exif . LENS_MAKE )
111+ t . ok ( metadata . exif . ARTIST )
112+ t . ok ( metadata . exif . ORIENTATION )
113+ t . is ( metadata . orientation , 6 )
114+
115+ const newImage = await image ( path ) . metadata . strip ( { keepOrientation : true } )
116+
117+ {
118+ const metadata = await image ( newImage ) . metadata ( )
119+
120+ // some mandatory tags remain as for the spec
121+ t . ok ( metadata . exif . COLOR_SPACE )
122+ t . ok ( metadata . exif . EXIF_VERSION )
123+ t . ok ( metadata . exif . FLASH_PIX_VERSION )
124+ t . ok ( metadata . exif . RESOLUTION_UNIT )
125+ t . absent ( metadata . exif . MAKE )
126+ t . absent ( metadata . exif . LENS_MAKE )
127+ t . absent ( metadata . exif . ARTIST )
128+ t . ok ( metadata . exif . ORIENTATION )
129+ t . is ( metadata . orientation , 6 )
130+ }
131+ } )
132+
98133test ( 'image.metadata.strip().save() strips all metadata and saves the file' , async ( t ) => {
99134 const path = './test/fixtures/exif-orientation.jpg'
100135 const outPath = barePath . join ( os . tmpdir ( ) , randomFileName ( 'jpg' ) )
0 commit comments