@@ -60,15 +60,15 @@ describe('node.ts', () => {
60
60
node . read ( buf , 0 , 1 , 1 ) ;
61
61
expect ( buf . equals ( Buffer . from ( [ 2 ] ) ) ) . toBe ( true ) ;
62
62
} ) ;
63
- it ( 'updates the atime and ctime' , ( ) => {
63
+ it ( 'updates the atime but not ctime' , ( ) => {
64
64
const node = new Node ( 1 ) ;
65
65
const oldAtime = node . atime ;
66
66
const oldCtime = node . ctime ;
67
67
node . read ( Buffer . alloc ( 0 ) ) ;
68
68
const newAtime = node . atime ;
69
69
const newCtime = node . ctime ;
70
70
expect ( newAtime ) . not . toBe ( oldAtime ) ;
71
- expect ( newCtime ) . not . toBe ( oldCtime ) ;
71
+ expect ( newCtime ) . toBe ( oldCtime ) ;
72
72
} ) ;
73
73
} ) ;
74
74
describe ( '.chmod(perm)' , ( ) => {
@@ -79,7 +79,7 @@ describe('node.ts', () => {
79
79
expect ( node . perm ) . toBe ( 0o600 ) ;
80
80
expect ( node . isFile ( ) ) . toBe ( true ) ;
81
81
} ) ;
82
- describe . each ( [ 'uid' , 'gid' , 'atime' , ' mtime', 'perm' , 'nlink' ] ) ( 'when %s changes' , field => {
82
+ describe . each ( [ 'uid' , 'gid' , 'mtime' , 'perm' , 'nlink' ] ) ( 'when %s changes' , field => {
83
83
it ( 'updates the property and the ctime' , ( ) => {
84
84
const node = new Node ( 1 ) ;
85
85
const oldCtime = node . ctime ;
@@ -89,28 +89,38 @@ describe('node.ts', () => {
89
89
expect ( node [ field ] ) . toBe ( 1 ) ;
90
90
} ) ;
91
91
} ) ;
92
+ describe ( 'when atime changes' , ( ) => {
93
+ it ( 'updates the property but NOT the ctime' , ( ) => {
94
+ const node = new Node ( 1 ) ;
95
+ const oldCtime = node . ctime ;
96
+ node . atime = new Date ( 1 ) ;
97
+ const newCtime = node . ctime ;
98
+ expect ( newCtime ) . toBe ( oldCtime ) ;
99
+ expect ( node . atime ) . toEqual ( new Date ( 1 ) ) ;
100
+ } ) ;
101
+ } ) ;
92
102
describe ( '.getString(encoding?)' , ( ) => {
93
- it ( 'updates the atime and ctime' , ( ) => {
103
+ it ( 'updates the atime but not ctime' , ( ) => {
94
104
const node = new Node ( 1 ) ;
95
105
const oldAtime = node . atime ;
96
106
const oldCtime = node . ctime ;
97
107
node . getString ( ) ;
98
108
const newAtime = node . atime ;
99
109
const newCtime = node . ctime ;
100
110
expect ( newAtime ) . not . toBe ( oldAtime ) ;
101
- expect ( newCtime ) . not . toBe ( oldCtime ) ;
111
+ expect ( newCtime ) . toBe ( oldCtime ) ;
102
112
} ) ;
103
113
} ) ;
104
114
describe ( '.getBuffer()' , ( ) => {
105
- it ( 'updates the atime and ctime' , ( ) => {
115
+ it ( 'updates the atime but not ctime' , ( ) => {
106
116
const node = new Node ( 1 ) ;
107
117
const oldAtime = node . atime ;
108
118
const oldCtime = node . ctime ;
109
119
node . getBuffer ( ) ;
110
120
const newAtime = node . atime ;
111
121
const newCtime = node . ctime ;
112
122
expect ( newAtime ) . not . toBe ( oldAtime ) ;
113
- expect ( newCtime ) . not . toBe ( oldCtime ) ;
123
+ expect ( newCtime ) . toBe ( oldCtime ) ;
114
124
} ) ;
115
125
} ) ;
116
126
} ) ;
0 commit comments