@@ -28,17 +28,14 @@ const fs = require('fs');
2828fs . stat ( '.' , common . mustCall ( function ( err , stats ) {
2929 assert . ifError ( err ) ;
3030 assert . ok ( stats . mtime instanceof Date ) ;
31+ assert . ok ( stats . hasOwnProperty ( 'blksize' ) ) ;
32+ assert . ok ( stats . hasOwnProperty ( 'blocks' ) ) ;
3133 // Confirm that we are not running in the context of the internal binding
3234 // layer.
3335 // Ref: https://github.com/nodejs/node/commit/463d6bac8b349acc462d345a6e298a76f7d06fb1
3436 assert . strictEqual ( this , undefined ) ;
3537} ) ) ;
3638
37- fs . stat ( '.' , common . mustCall ( function ( err , stats ) {
38- assert . ok ( stats . hasOwnProperty ( 'blksize' ) ) ;
39- assert . ok ( stats . hasOwnProperty ( 'blocks' ) ) ;
40- } ) ) ;
41-
4239fs . lstat ( '.' , common . mustCall ( function ( err , stats ) {
4340 assert . ifError ( err ) ;
4441 assert . ok ( stats . mtime instanceof Date ) ;
@@ -71,16 +68,9 @@ fs.open('.', 'r', undefined, common.mustCall(function(err, fd) {
7168
7269// fstatSync
7370fs . open ( '.' , 'r' , undefined , common . mustCall ( function ( err , fd ) {
74- let stats ;
75- try {
76- stats = fs . fstatSync ( fd ) ;
77- } catch ( err ) {
78- assert . fail ( err ) ;
79- }
80- if ( stats ) {
81- assert . ok ( stats . mtime instanceof Date ) ;
82- }
83- fs . close ( fd , assert . ifError ) ;
71+ const stats = fs . fstatSync ( fd ) ;
72+ assert . ok ( stats . mtime instanceof Date ) ;
73+ fs . close ( fd , common . mustCall ( assert . ifError ) ) ;
8474} ) ) ;
8575
8676fs . stat ( __filename , common . mustCall ( function ( err , s ) {
@@ -92,38 +82,30 @@ fs.stat(__filename, common.mustCall(function(err, s) {
9282 assert . strictEqual ( s . isCharacterDevice ( ) , false ) ;
9383 assert . strictEqual ( s . isFIFO ( ) , false ) ;
9484 assert . strictEqual ( s . isSymbolicLink ( ) , false ) ;
95- const keys = [
85+
86+ const jsonString = JSON . stringify ( s ) ;
87+ const parsed = JSON . parse ( jsonString ) ;
88+ [
9689 'dev' , 'mode' , 'nlink' , 'uid' ,
9790 'gid' , 'rdev' , 'blksize' , 'ino' , 'size' , 'blocks' ,
9891 'atime' , 'mtime' , 'ctime' , 'birthtime' ,
99- 'atimeMs' , 'mtimeMs' , 'ctimeMs' , 'birthtimeMs'
100- ] ;
101- const numberFields = [
102- 'dev' , 'mode' , 'nlink' , 'uid' , 'gid' , 'rdev' , 'blksize' , 'ino' , 'size' ,
103- 'blocks' , 'atimeMs' , 'mtimeMs' , 'ctimeMs' , 'birthtimeMs'
104- ] ;
105- const dateFields = [ 'atime' , 'mtime' , 'ctime' , 'birthtime' ] ;
106- keys . forEach ( function ( k ) {
92+ 'atimeMs' , 'mtimeMs' , 'ctimeMs' , 'birthtimeMs' ,
93+ ] . forEach ( function ( k ) {
10794 assert . ok ( k in s , `${ k } should be in Stats` ) ;
10895 assert . notStrictEqual ( s [ k ] , undefined , `${ k } should not be undefined` ) ;
10996 assert . notStrictEqual ( s [ k ] , null , `${ k } should not be null` ) ;
110- } ) ;
111- numberFields . forEach ( ( k ) => {
112- assert . strictEqual ( typeof s [ k ] , 'number' , `${ k } should be a number` ) ;
113- } ) ;
114- dateFields . forEach ( ( k ) => {
115- assert . ok ( s [ k ] instanceof Date , `${ k } should be a Date` ) ;
116- } ) ;
117- const jsonString = JSON . stringify ( s ) ;
118- const parsed = JSON . parse ( jsonString ) ;
119- keys . forEach ( function ( k ) {
12097 assert . notStrictEqual ( parsed [ k ] , undefined , `${ k } should not be undefined` ) ;
12198 assert . notStrictEqual ( parsed [ k ] , null , `${ k } should not be null` ) ;
12299 } ) ;
123- numberFields . forEach ( ( k ) => {
100+ [
101+ 'dev' , 'mode' , 'nlink' , 'uid' , 'gid' , 'rdev' , 'blksize' , 'ino' , 'size' ,
102+ 'blocks' , 'atimeMs' , 'mtimeMs' , 'ctimeMs' , 'birthtimeMs' ,
103+ ] . forEach ( ( k ) => {
104+ assert . strictEqual ( typeof s [ k ] , 'number' , `${ k } should be a number` ) ;
124105 assert . strictEqual ( typeof parsed [ k ] , 'number' , `${ k } should be a number` ) ;
125106 } ) ;
126- dateFields . forEach ( ( k ) => {
107+ [ 'atime' , 'mtime' , 'ctime' , 'birthtime' ] . forEach ( ( k ) => {
108+ assert . ok ( s [ k ] instanceof Date , `${ k } should be a Date` ) ;
127109 assert . strictEqual ( typeof parsed [ k ] , 'string' , `${ k } should be a string` ) ;
128110 } ) ;
129111} ) ) ;
0 commit comments