3 * This file is part of vfsStream.
5 * For the full copyright and license information, please view the LICENSE
6 * file that was distributed with this source code.
8 * @package org\bovigo\vfs
10 namespace org\bovigo\vfs;
12 * Helper class for the test.
14 class TestvfsStreamAbstractContent extends vfsStreamAbstractContent
17 * returns default permissions for concrete implementation
22 protected function getDefaultPermissions()
28 * returns size of content
32 public function size()
38 * Test for org\bovigo\vfs\vfsStreamAbstractContent.
40 class vfsStreamAbstractContentTestCase extends \PHPUnit_Framework_TestCase
47 public function noPermissionsForEveryone()
49 $abstractContent = new TestvfsStreamAbstractContent('foo', 0000);
50 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
51 vfsStream::getCurrentGroup()
54 $this->assertFalse($abstractContent->isReadable(-1,
55 vfsStream::getCurrentGroup()
58 $this->assertFalse($abstractContent->isReadable(-1,
62 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
63 vfsStream::getCurrentGroup()
66 $this->assertFalse($abstractContent->isWritable(-1,
67 vfsStream::getCurrentGroup()
70 $this->assertFalse($abstractContent->isWritable(-1,
74 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
75 vfsStream::getCurrentGroup()
78 $this->assertFalse($abstractContent->isExecutable(-1,
79 vfsStream::getCurrentGroup()
82 $this->assertFalse($abstractContent->isExecutable(-1,
93 public function executePermissionsForUser()
95 $abstractContent = new TestvfsStreamAbstractContent('foo', 0100);
96 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
97 vfsStream::getCurrentGroup()
100 $this->assertFalse($abstractContent->isReadable(-1,
101 vfsStream::getCurrentGroup()
104 $this->assertFalse($abstractContent->isReadable(-1,
108 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
109 vfsStream::getCurrentGroup()
112 $this->assertFalse($abstractContent->isWritable(-1,
113 vfsStream::getCurrentGroup()
116 $this->assertFalse($abstractContent->isWritable(-1,
120 $this->assertTrue($abstractContent->isExecutable(vfsStream::getCurrentUser(),
121 vfsStream::getCurrentGroup()
124 $this->assertFalse($abstractContent->isExecutable(-1,
125 vfsStream::getCurrentGroup()
128 $this->assertFalse($abstractContent->isExecutable(-1,
139 public function executePermissionsForGroup()
141 $abstractContent = new TestvfsStreamAbstractContent('foo', 0010);
142 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
143 vfsStream::getCurrentGroup()
146 $this->assertFalse($abstractContent->isReadable(-1,
147 vfsStream::getCurrentGroup()
150 $this->assertFalse($abstractContent->isReadable(-1,
154 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
155 vfsStream::getCurrentGroup()
158 $this->assertFalse($abstractContent->isWritable(-1,
159 vfsStream::getCurrentGroup()
162 $this->assertFalse($abstractContent->isWritable(-1,
166 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
167 vfsStream::getCurrentGroup()
170 $this->assertTrue($abstractContent->isExecutable(-1,
171 vfsStream::getCurrentGroup()
174 $this->assertFalse($abstractContent->isExecutable(-1,
185 public function executePermissionsForOther()
187 $abstractContent = new TestvfsStreamAbstractContent('foo', 0001);
188 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
189 vfsStream::getCurrentGroup()
192 $this->assertFalse($abstractContent->isReadable(-1,
193 vfsStream::getCurrentGroup()
196 $this->assertFalse($abstractContent->isReadable(-1,
200 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
201 vfsStream::getCurrentGroup()
204 $this->assertFalse($abstractContent->isWritable(-1,
205 vfsStream::getCurrentGroup()
208 $this->assertFalse($abstractContent->isWritable(-1,
212 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
213 vfsStream::getCurrentGroup()
216 $this->assertFalse($abstractContent->isExecutable(-1,
217 vfsStream::getCurrentGroup()
220 $this->assertTrue($abstractContent->isExecutable(-1,
231 public function writePermissionsForUser()
233 $abstractContent = new TestvfsStreamAbstractContent('foo', 0200);
234 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
235 vfsStream::getCurrentGroup()
238 $this->assertFalse($abstractContent->isReadable(-1,
239 vfsStream::getCurrentGroup()
242 $this->assertFalse($abstractContent->isReadable(-1,
246 $this->assertTrue($abstractContent->isWritable(vfsStream::getCurrentUser(),
247 vfsStream::getCurrentGroup()
250 $this->assertFalse($abstractContent->isWritable(-1,
251 vfsStream::getCurrentGroup()
254 $this->assertFalse($abstractContent->isWritable(-1,
258 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
259 vfsStream::getCurrentGroup()
262 $this->assertFalse($abstractContent->isExecutable(-1,
263 vfsStream::getCurrentGroup()
266 $this->assertFalse($abstractContent->isExecutable(-1,
277 public function writePermissionsForGroup()
279 $abstractContent = new TestvfsStreamAbstractContent('foo', 0020);
280 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
281 vfsStream::getCurrentGroup()
284 $this->assertFalse($abstractContent->isReadable(-1,
285 vfsStream::getCurrentGroup()
288 $this->assertFalse($abstractContent->isReadable(-1,
292 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
293 vfsStream::getCurrentGroup()
296 $this->assertTrue($abstractContent->isWritable(-1,
297 vfsStream::getCurrentGroup()
300 $this->assertFalse($abstractContent->isWritable(-1,
304 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
305 vfsStream::getCurrentGroup()
308 $this->assertFalse($abstractContent->isExecutable(-1,
309 vfsStream::getCurrentGroup()
312 $this->assertFalse($abstractContent->isExecutable(-1,
323 public function writePermissionsForOther()
325 $abstractContent = new TestvfsStreamAbstractContent('foo', 0002);
326 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
327 vfsStream::getCurrentGroup()
330 $this->assertFalse($abstractContent->isReadable(-1,
331 vfsStream::getCurrentGroup()
334 $this->assertFalse($abstractContent->isReadable(-1,
338 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
339 vfsStream::getCurrentGroup()
342 $this->assertFalse($abstractContent->isWritable(-1,
343 vfsStream::getCurrentGroup()
346 $this->assertTrue($abstractContent->isWritable(-1,
350 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
351 vfsStream::getCurrentGroup()
354 $this->assertFalse($abstractContent->isExecutable(-1,
355 vfsStream::getCurrentGroup()
358 $this->assertFalse($abstractContent->isExecutable(-1,
369 public function executeAndWritePermissionsForUser()
371 $abstractContent = new TestvfsStreamAbstractContent('foo', 0300);
372 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
373 vfsStream::getCurrentGroup()
376 $this->assertFalse($abstractContent->isReadable(-1,
377 vfsStream::getCurrentGroup()
380 $this->assertFalse($abstractContent->isReadable(-1,
384 $this->assertTrue($abstractContent->isWritable(vfsStream::getCurrentUser(),
385 vfsStream::getCurrentGroup()
388 $this->assertFalse($abstractContent->isWritable(-1,
389 vfsStream::getCurrentGroup()
392 $this->assertFalse($abstractContent->isWritable(-1,
396 $this->assertTrue($abstractContent->isExecutable(vfsStream::getCurrentUser(),
397 vfsStream::getCurrentGroup()
400 $this->assertFalse($abstractContent->isExecutable(-1,
401 vfsStream::getCurrentGroup()
404 $this->assertFalse($abstractContent->isExecutable(-1,
415 public function executeAndWritePermissionsForGroup()
417 $abstractContent = new TestvfsStreamAbstractContent('foo', 0030);
418 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
419 vfsStream::getCurrentGroup()
422 $this->assertFalse($abstractContent->isReadable(-1,
423 vfsStream::getCurrentGroup()
426 $this->assertFalse($abstractContent->isReadable(-1,
430 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
431 vfsStream::getCurrentGroup()
434 $this->assertTrue($abstractContent->isWritable(-1,
435 vfsStream::getCurrentGroup()
438 $this->assertFalse($abstractContent->isWritable(-1,
442 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
443 vfsStream::getCurrentGroup()
446 $this->assertTrue($abstractContent->isExecutable(-1,
447 vfsStream::getCurrentGroup()
450 $this->assertFalse($abstractContent->isExecutable(-1,
461 public function executeAndWritePermissionsForOther()
463 $abstractContent = new TestvfsStreamAbstractContent('foo', 0003);
464 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
465 vfsStream::getCurrentGroup()
468 $this->assertFalse($abstractContent->isReadable(-1,
469 vfsStream::getCurrentGroup()
472 $this->assertFalse($abstractContent->isReadable(-1,
476 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
477 vfsStream::getCurrentGroup()
480 $this->assertFalse($abstractContent->isWritable(-1,
481 vfsStream::getCurrentGroup()
484 $this->assertTrue($abstractContent->isWritable(-1,
488 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
489 vfsStream::getCurrentGroup()
492 $this->assertFalse($abstractContent->isExecutable(-1,
493 vfsStream::getCurrentGroup()
496 $this->assertTrue($abstractContent->isExecutable(-1,
507 public function readPermissionsForUser()
509 $abstractContent = new TestvfsStreamAbstractContent('foo', 0400);
510 $this->assertTrue($abstractContent->isReadable(vfsStream::getCurrentUser(),
511 vfsStream::getCurrentGroup()
514 $this->assertFalse($abstractContent->isReadable(-1,
515 vfsStream::getCurrentGroup()
518 $this->assertFalse($abstractContent->isReadable(-1,
522 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
523 vfsStream::getCurrentGroup()
526 $this->assertFalse($abstractContent->isWritable(-1,
527 vfsStream::getCurrentGroup()
530 $this->assertFalse($abstractContent->isWritable(-1,
534 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
535 vfsStream::getCurrentGroup()
538 $this->assertFalse($abstractContent->isExecutable(-1,
539 vfsStream::getCurrentGroup()
542 $this->assertFalse($abstractContent->isExecutable(-1,
553 public function readPermissionsForGroup()
555 $abstractContent = new TestvfsStreamAbstractContent('foo', 0040);
556 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
557 vfsStream::getCurrentGroup()
560 $this->assertTrue($abstractContent->isReadable(-1,
561 vfsStream::getCurrentGroup()
564 $this->assertFalse($abstractContent->isReadable(-1,
568 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
569 vfsStream::getCurrentGroup()
572 $this->assertFalse($abstractContent->isWritable(-1,
573 vfsStream::getCurrentGroup()
576 $this->assertFalse($abstractContent->isWritable(-1,
580 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
581 vfsStream::getCurrentGroup()
584 $this->assertFalse($abstractContent->isExecutable(-1,
585 vfsStream::getCurrentGroup()
588 $this->assertFalse($abstractContent->isExecutable(-1,
599 public function readPermissionsForOther()
601 $abstractContent = new TestvfsStreamAbstractContent('foo', 0004);
602 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
603 vfsStream::getCurrentGroup()
606 $this->assertFalse($abstractContent->isReadable(-1,
607 vfsStream::getCurrentGroup()
610 $this->assertTrue($abstractContent->isReadable(-1,
614 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
615 vfsStream::getCurrentGroup()
618 $this->assertFalse($abstractContent->isWritable(-1,
619 vfsStream::getCurrentGroup()
622 $this->assertFalse($abstractContent->isWritable(-1,
626 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
627 vfsStream::getCurrentGroup()
630 $this->assertFalse($abstractContent->isExecutable(-1,
631 vfsStream::getCurrentGroup()
634 $this->assertFalse($abstractContent->isExecutable(-1,
645 public function readAndExecutePermissionsForUser()
647 $abstractContent = new TestvfsStreamAbstractContent('foo', 0500);
648 $this->assertTrue($abstractContent->isReadable(vfsStream::getCurrentUser(),
649 vfsStream::getCurrentGroup()
652 $this->assertFalse($abstractContent->isReadable(-1,
653 vfsStream::getCurrentGroup()
656 $this->assertFalse($abstractContent->isReadable(-1,
660 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
661 vfsStream::getCurrentGroup()
664 $this->assertFalse($abstractContent->isWritable(-1,
665 vfsStream::getCurrentGroup()
668 $this->assertFalse($abstractContent->isWritable(-1,
672 $this->assertTrue($abstractContent->isExecutable(vfsStream::getCurrentUser(),
673 vfsStream::getCurrentGroup()
676 $this->assertFalse($abstractContent->isExecutable(-1,
677 vfsStream::getCurrentGroup()
680 $this->assertFalse($abstractContent->isExecutable(-1,
691 public function readAndExecutePermissionsForGroup()
693 $abstractContent = new TestvfsStreamAbstractContent('foo', 0050);
694 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
695 vfsStream::getCurrentGroup()
698 $this->assertTrue($abstractContent->isReadable(-1,
699 vfsStream::getCurrentGroup()
702 $this->assertFalse($abstractContent->isReadable(-1,
706 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
707 vfsStream::getCurrentGroup()
710 $this->assertFalse($abstractContent->isWritable(-1,
711 vfsStream::getCurrentGroup()
714 $this->assertFalse($abstractContent->isWritable(-1,
718 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
719 vfsStream::getCurrentGroup()
722 $this->assertTrue($abstractContent->isExecutable(-1,
723 vfsStream::getCurrentGroup()
726 $this->assertFalse($abstractContent->isExecutable(-1,
737 public function readAndExecutePermissionsForOther()
739 $abstractContent = new TestvfsStreamAbstractContent('foo', 0005);
740 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
741 vfsStream::getCurrentGroup()
744 $this->assertFalse($abstractContent->isReadable(-1,
745 vfsStream::getCurrentGroup()
748 $this->assertTrue($abstractContent->isReadable(-1,
752 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
753 vfsStream::getCurrentGroup()
756 $this->assertFalse($abstractContent->isWritable(-1,
757 vfsStream::getCurrentGroup()
760 $this->assertFalse($abstractContent->isWritable(-1,
764 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
765 vfsStream::getCurrentGroup()
768 $this->assertFalse($abstractContent->isExecutable(-1,
769 vfsStream::getCurrentGroup()
772 $this->assertTrue($abstractContent->isExecutable(-1,
783 public function readAndWritePermissionsForUser()
785 $abstractContent = new TestvfsStreamAbstractContent('foo', 0600);
786 $this->assertTrue($abstractContent->isReadable(vfsStream::getCurrentUser(),
787 vfsStream::getCurrentGroup()
790 $this->assertFalse($abstractContent->isReadable(-1,
791 vfsStream::getCurrentGroup()
794 $this->assertFalse($abstractContent->isReadable(-1,
798 $this->assertTrue($abstractContent->isWritable(vfsStream::getCurrentUser(),
799 vfsStream::getCurrentGroup()
802 $this->assertFalse($abstractContent->isWritable(-1,
803 vfsStream::getCurrentGroup()
806 $this->assertFalse($abstractContent->isWritable(-1,
810 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
811 vfsStream::getCurrentGroup()
814 $this->assertFalse($abstractContent->isExecutable(-1,
815 vfsStream::getCurrentGroup()
818 $this->assertFalse($abstractContent->isExecutable(-1,
829 public function readAndWritePermissionsForGroup()
831 $abstractContent = new TestvfsStreamAbstractContent('foo', 0060);
832 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
833 vfsStream::getCurrentGroup()
836 $this->assertTrue($abstractContent->isReadable(-1,
837 vfsStream::getCurrentGroup()
840 $this->assertFalse($abstractContent->isReadable(-1,
844 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
845 vfsStream::getCurrentGroup()
848 $this->assertTrue($abstractContent->isWritable(-1,
849 vfsStream::getCurrentGroup()
852 $this->assertFalse($abstractContent->isWritable(-1,
856 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
857 vfsStream::getCurrentGroup()
860 $this->assertFalse($abstractContent->isExecutable(-1,
861 vfsStream::getCurrentGroup()
864 $this->assertFalse($abstractContent->isExecutable(-1,
875 public function readAndWritePermissionsForOther()
877 $abstractContent = new TestvfsStreamAbstractContent('foo', 0006);
878 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
879 vfsStream::getCurrentGroup()
882 $this->assertFalse($abstractContent->isReadable(-1,
883 vfsStream::getCurrentGroup()
886 $this->assertTrue($abstractContent->isReadable(-1,
890 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
891 vfsStream::getCurrentGroup()
894 $this->assertFalse($abstractContent->isWritable(-1,
895 vfsStream::getCurrentGroup()
898 $this->assertTrue($abstractContent->isWritable(-1,
902 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
903 vfsStream::getCurrentGroup()
906 $this->assertFalse($abstractContent->isExecutable(-1,
907 vfsStream::getCurrentGroup()
910 $this->assertFalse($abstractContent->isExecutable(-1,
921 public function allPermissionsForUser()
923 $abstractContent = new TestvfsStreamAbstractContent('foo', 0700);
924 $this->assertTrue($abstractContent->isReadable(vfsStream::getCurrentUser(),
925 vfsStream::getCurrentGroup()
928 $this->assertFalse($abstractContent->isReadable(-1,
929 vfsStream::getCurrentGroup()
932 $this->assertFalse($abstractContent->isReadable(-1,
936 $this->assertTrue($abstractContent->isWritable(vfsStream::getCurrentUser(),
937 vfsStream::getCurrentGroup()
940 $this->assertFalse($abstractContent->isWritable(-1,
941 vfsStream::getCurrentGroup()
944 $this->assertFalse($abstractContent->isWritable(-1,
948 $this->assertTrue($abstractContent->isExecutable(vfsStream::getCurrentUser(),
949 vfsStream::getCurrentGroup()
952 $this->assertFalse($abstractContent->isExecutable(-1,
953 vfsStream::getCurrentGroup()
956 $this->assertFalse($abstractContent->isExecutable(-1,
967 public function allPermissionsForGroup()
969 $abstractContent = new TestvfsStreamAbstractContent('foo', 0070);
970 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
971 vfsStream::getCurrentGroup()
974 $this->assertTrue($abstractContent->isReadable(-1,
975 vfsStream::getCurrentGroup()
978 $this->assertFalse($abstractContent->isReadable(-1,
982 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
983 vfsStream::getCurrentGroup()
986 $this->assertTrue($abstractContent->isWritable(-1,
987 vfsStream::getCurrentGroup()
990 $this->assertFalse($abstractContent->isWritable(-1,
994 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
995 vfsStream::getCurrentGroup()
998 $this->assertTrue($abstractContent->isExecutable(-1,
999 vfsStream::getCurrentGroup()
1002 $this->assertFalse($abstractContent->isExecutable(-1,
1010 * @group permissions
1013 public function allPermissionsForOther()
1015 $abstractContent = new TestvfsStreamAbstractContent('foo', 0007);
1016 $this->assertFalse($abstractContent->isReadable(vfsStream::getCurrentUser(),
1017 vfsStream::getCurrentGroup()
1020 $this->assertFalse($abstractContent->isReadable(-1,
1021 vfsStream::getCurrentGroup()
1024 $this->assertTrue($abstractContent->isReadable(-1,
1028 $this->assertFalse($abstractContent->isWritable(vfsStream::getCurrentUser(),
1029 vfsStream::getCurrentGroup()
1032 $this->assertFalse($abstractContent->isWritable(-1,
1033 vfsStream::getCurrentGroup()
1036 $this->assertTrue($abstractContent->isWritable(-1,
1040 $this->assertFalse($abstractContent->isExecutable(vfsStream::getCurrentUser(),
1041 vfsStream::getCurrentGroup()
1044 $this->assertFalse($abstractContent->isExecutable(-1,
1045 vfsStream::getCurrentGroup()
1048 $this->assertTrue($abstractContent->isExecutable(-1,