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_PhpZend extends Jyxo_Beholder_TestCase
24: {
25: 26: 27: 28: 29:
30: private $version;
31:
32: 33: 34: 35: 36:
37: private $comparison;
38:
39: 40: 41: 42: 43: 44: 45:
46: public function __construct($description, $version = '', $comparison = '=')
47: {
48: parent::__construct($description);
49:
50: $this->version = (string) $version;
51: $this->comparison = (string) $comparison;
52: }
53:
54: 55: 56: 57: 58:
59: public function run()
60: {
61:
62: if (!class_exists('Zend_Version')) {
63: return new Jyxo_Beholder_Result(Jyxo_Beholder_Result::FAILURE, 'Zend framework missing');
64: }
65:
66: $result = Jyxo_Beholder_Result::SUCCESS;
67:
68:
69:
70: if (!empty($this->version)) {
71:
72: $comparison = Zend_Version::compareVersion($this->version);
73:
74: switch ($this->comparison) {
75: case '<':
76: $result = ($comparison > 0) ? Jyxo_Beholder_Result::SUCCESS : Jyxo_Beholder_Result::FAILURE;
77: break;
78:
79: case '<=':
80: $result = ($comparison >= 0) ? Jyxo_Beholder_Result::SUCCESS : Jyxo_Beholder_Result::FAILURE;
81: break;
82:
83: case '>=':
84: $result = ($comparison <= 0) ? Jyxo_Beholder_Result::SUCCESS : Jyxo_Beholder_Result::FAILURE;
85: break;
86:
87: case '>':
88: $result = ($comparison < 0) ? Jyxo_Beholder_Result::SUCCESS : Jyxo_Beholder_Result::FAILURE;
89: break;
90:
91: default:
92: $this->comparison = '=';
93: $result = ($comparison === 0) ? Jyxo_Beholder_Result::SUCCESS : Jyxo_Beholder_Result::FAILURE;
94: break;
95: }
96:
97: return new Jyxo_Beholder_Result($result, sprintf('Version %s, expected %s %s', Zend_Version::VERSION, $this->comparison, $this->version));
98:
99: }
100:
101:
102: return new Jyxo_Beholder_Result($result, sprintf('Version %s', Zend_Version::VERSION));
103: }
104: }
105: