@@ -131,7 +131,7 @@ describe('ZipArchiveEntry', function() {
131131 entry . mode = 0777 ;
132132 entry . exattr = 2180972576 ;
133133 entry . platform = 3 ;
134- assert . equal ( entry . getUnixMode ( ) , 0777 ) ;
134+ assert . equal ( entry . getUnixMode ( ) , 0100777 ) ;
135135 } ) ;
136136
137137 it ( 'should set proper external attributes for an unix directory' , function ( ) {
@@ -269,6 +269,15 @@ describe('ZipArchiveEntry', function() {
269269 entry . setUnixMode ( 0777 ) ;
270270 assert . propertyVal ( entry , 'exattr' , 2180972576 ) ;
271271 assert . propertyVal ( entry , 'mode' , 0777 ) ;
272+ assert . equal ( entry . getUnixMode ( ) , 0100777 ) ;
273+
274+ } ) ;
275+
276+ it ( 'should also preserve filetype information' , function ( ) {
277+ entry . setUnixMode ( 0120755 ) ;
278+ assert . propertyVal ( entry , 'exattr' , 2716663840 ) ;
279+ assert . propertyVal ( entry , 'mode' , 0755 ) ;
280+ assert . equal ( entry . getUnixMode ( ) , 0120755 ) ;
272281 } ) ;
273282 } ) ;
274283
@@ -286,4 +295,4 @@ describe('ZipArchiveEntry', function() {
286295 assert . ok ( entry . isDirectory ( ) ) ;
287296 } ) ;
288297 } ) ;
289- } ) ;
298+ } ) ;
0 commit comments