1: <?php
2:
3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
13:
14: 15: 16: 17: 18: 19: 20: 21: 22:
23: class Jyxo_Beholder_TestCase_FileSystem extends Jyxo_Beholder_TestCase
24: {
25: 26: 27: 28: 29:
30: private $dir;
31:
32: 33: 34: 35: 36: 37:
38: public function __construct($description, $dir)
39: {
40: parent::__construct($description);
41:
42: $this->dir = (string) $dir;
43: }
44:
45: 46: 47: 48: 49:
50: public function run()
51: {
52: $random = md5(uniqid(time(), true));
53: $path = $this->dir . '/beholder-' . $random . '.txt';
54: $content = $random;
55:
56:
57: if (!file_put_contents($path, $content)) {
58: return new Jyxo_Beholder_Result(Jyxo_Beholder_Result::FAILURE, sprintf('Write error %s', $this->dir));
59: }
60:
61:
62: $readContent = file_get_contents($path);
63: if (strlen($readContent) !== strlen($content)) {
64: return new Jyxo_Beholder_Result(Jyxo_Beholder_Result::FAILURE, sprintf('Read error %s', $this->dir));
65: }
66:
67:
68: if (!@unlink($path)) {
69: return new Jyxo_Beholder_Result(Jyxo_Beholder_Result::FAILURE, sprintf('Delete error %s', $this->dir));
70: }
71:
72:
73: return new Jyxo_Beholder_Result(Jyxo_Beholder_Result::SUCCESS, $this->dir);
74: }
75: }
76: