File tree 2 files changed +12
-4
lines changed
src/Symfony/Component/Config
2 files changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -68,7 +68,10 @@ public function isFresh($timestamp)
68
68
return false ;
69
69
}
70
70
71
- $ newestMTime = filemtime ($ this ->resource );
71
+ if (filemtime ($ this ->resource ) > $ timestamp ) {
72
+ return false ;
73
+ }
74
+
72
75
foreach (new \RecursiveIteratorIterator (new \RecursiveDirectoryIterator ($ this ->resource ), \RecursiveIteratorIterator::SELF_FIRST ) as $ file ) {
73
76
// if regex filtering is enabled only check matching files
74
77
if ($ this ->pattern && $ file ->isFile () && !preg_match ($ this ->pattern , $ file ->getBasename ())) {
@@ -81,10 +84,13 @@ public function isFresh($timestamp)
81
84
continue ;
82
85
}
83
86
84
- $ newestMTime = max ($ file ->getMTime (), $ newestMTime );
87
+ // early return if a file's mtime exceeds the passed timestamp
88
+ if ($ file ->getMTime () > $ timestamp ) {
89
+ return false ;
90
+ }
85
91
}
86
92
87
- return $ newestMTime < $ timestamp ;
93
+ return true ;
88
94
}
89
95
90
96
public function serialize ()
Original file line number Diff line number Diff line change @@ -96,8 +96,10 @@ public function testIsFreshNewFileWithDifferentPattern()
96
96
public function testIsFreshDeleteFile ()
97
97
{
98
98
$ resource = new DirectoryResource ($ this ->directory );
99
+ $ time = time ();
100
+ sleep (1 );
99
101
unlink ($ this ->directory .'/tmp.xml ' );
100
- $ this ->assertFalse ($ resource ->isFresh (time () ), '->isFresh() returns false if an existing file is removed ' );
102
+ $ this ->assertFalse ($ resource ->isFresh ($ time ), '->isFresh() returns false if an existing file is removed ' );
101
103
}
102
104
103
105
public function testIsFreshDeleteDirectory ()
You can’t perform that action at this time.
0 commit comments