@@ -40,6 +40,20 @@ public function testFileWithTrailingSlash()
4040 $ this ->getSetDelete ($ cache );
4141 }
4242
43+ public function testFileDirectoryPermissions ()
44+ {
45+ $ dir = sys_get_temp_dir () . '/google-api-php-client/tests/ ' . rand ();
46+ $ cache = new Google_Cache_File ($ dir );
47+ $ cache ->set ('foo ' , 'bar ' );
48+
49+ $ method = new ReflectionMethod ($ cache , 'getWriteableCacheFile ' );
50+ $ method ->setAccessible (true );
51+ $ filename = $ method ->invoke ($ cache , 'foo ' );
52+ $ stat = stat ($ dir );
53+
54+ $ this ->assertEquals (0777 & ~umask (), $ stat ['mode ' ] & 0777 );
55+ }
56+
4357 public function testFileWithDefaultMask ()
4458 {
4559 $ dir = sys_get_temp_dir () . '/google-api-php-client/tests/ ' ;
@@ -51,21 +65,21 @@ public function testFileWithDefaultMask()
5165 $ filename = $ method ->invoke ($ cache , 'foo ' );
5266 $ stat = stat ($ filename );
5367
54- $ this ->assertEquals ($ stat ['mode ' ] & 0777 , 0600 );
68+ $ this ->assertEquals (0666 & ~ umask (), $ stat ['mode ' ] & 0777 );
5569 }
5670
5771 public function testFileWithCustomMask ()
5872 {
5973 $ dir = sys_get_temp_dir () . '/google-api-php-client/tests/ ' ;
60- $ cache = new Google_Cache_File ($ dir , null , 07 );
74+ $ cache = new Google_Cache_File ($ dir , null );
6175 $ cache ->set ('foo ' , 'bar ' );
6276
6377 $ method = new ReflectionMethod ($ cache , 'getWriteableCacheFile ' );
6478 $ method ->setAccessible (true );
6579 $ filename = $ method ->invoke ($ cache , 'foo ' );
6680 $ stat = stat ($ filename );
6781
68- $ this ->assertEquals ($ stat ['mode ' ] & 0777 , 0660 );
82+ $ this ->assertEquals (0666 & ~ umask (), $ stat ['mode ' ] & 0777 );
6983 }
7084
7185 public function testNull ()
0 commit comments