@@ -139,11 +139,15 @@ describe('Item', function () {
139139 } ) ;
140140
141141 if ( process . getgid && process . getuid ) {
142- const uid = process . getuid ( ) ;
143- const gid = process . getgid ( ) ;
142+ const originalGetuid = process . getuid ;
143+ const originalGetgid = process . getgid ;
144+ const uid = originalGetuid ( ) ;
145+ const gid = originalGetgid ( ) ;
144146
145147 let item ;
146148 beforeEach ( function ( ) {
149+ process . getuid = originalGetuid ;
150+ process . getgid = originalGetgid ;
147151 item = new Item ( ) ;
148152 } ) ;
149153
@@ -220,6 +224,14 @@ describe('Item', function () {
220224 item . setMode ( parseInt ( '0777' , 8 ) ) ;
221225 assert . isTrue ( item . canRead ( ) ) ;
222226 } ) ;
227+
228+ it ( 'always returns true if process runs as root' , function ( ) {
229+ process . getuid = ( ) => 0 ;
230+ item . setUid ( 42 ) ;
231+ item . setGid ( 42 ) ;
232+ item . setMode ( parseInt ( '0000' , 8 ) ) ;
233+ assert . isTrue ( item . canRead ( ) ) ;
234+ } ) ;
223235 } ) ;
224236
225237 describe ( '#canWrite()' , function ( ) {
@@ -295,6 +307,14 @@ describe('Item', function () {
295307 item . setMode ( parseInt ( '0777' , 8 ) ) ;
296308 assert . isTrue ( item . canWrite ( ) ) ;
297309 } ) ;
310+
311+ it ( 'always returns true if process runs as root' , function ( ) {
312+ process . getuid = ( ) => 0 ;
313+ item . setUid ( 42 ) ;
314+ item . setGid ( 42 ) ;
315+ item . setMode ( parseInt ( '0000' , 8 ) ) ;
316+ assert . isTrue ( item . canWrite ( ) ) ;
317+ } ) ;
298318 } ) ;
299319
300320 describe ( '#canExecute()' , function ( ) {
@@ -370,6 +390,14 @@ describe('Item', function () {
370390 item . setMode ( parseInt ( '0777' , 8 ) ) ;
371391 assert . isTrue ( item . canExecute ( ) ) ;
372392 } ) ;
393+
394+ it ( 'always returns true if process runs as root' , function ( ) {
395+ process . getuid = ( ) => 0 ;
396+ item . setUid ( 42 ) ;
397+ item . setGid ( 42 ) ;
398+ item . setMode ( parseInt ( '0000' , 8 ) ) ;
399+ assert . isTrue ( item . canExecute ( ) ) ;
400+ } ) ;
373401 } ) ;
374402 }
375403} ) ;
0 commit comments