compatibility_test.php.svn-base
来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 97 行
SVN-BASE
97 行
<?php// $Id: compatibility_test.php 1505 2007-04-30 23:39:59Z lastcraft $require_once(dirname(__FILE__) . '/../autorun.php');require_once(dirname(__FILE__) . '/../compatibility.php');class ComparisonClass {}class ComparisonSubclass extends ComparisonClass {}if (version_compare(phpversion(), '5') >= 0) { eval('interface ComparisonInterface { }'); eval('class ComparisonClassWithInterface implements ComparisonInterface { }');}class TestOfCompatibility extends UnitTestCase { function testIsA() { $this->assertTrue(SimpleTestCompatibility::isA( new ComparisonClass(), 'ComparisonClass')); $this->assertFalse(SimpleTestCompatibility::isA( new ComparisonClass(), 'ComparisonSubclass')); $this->assertTrue(SimpleTestCompatibility::isA( new ComparisonSubclass(), 'ComparisonClass')); } function testIdentityOfNumericStrings() { $numericString1 = "123"; $numericString2 = "00123"; $this->assertNotIdentical($numericString1, $numericString2); } function testIdentityOfObjects() { $object1 = new ComparisonClass(); $object2 = new ComparisonClass(); $this->assertIdentical($object1, $object2); } function testReferences () { $thing = "Hello"; $thing_reference = &$thing; $thing_copy = $thing; $this->assertTrue(SimpleTestCompatibility::isReference( $thing, $thing)); $this->assertTrue(SimpleTestCompatibility::isReference( $thing, $thing_reference)); $this->assertFalse(SimpleTestCompatibility::isReference( $thing, $thing_copy)); } function testObjectReferences () { $object = &new ComparisonClass(); $object_reference = &$object; $object_copy = new ComparisonClass(); $object_assignment = $object; $this->assertTrue(SimpleTestCompatibility::isReference( $object, $object)); $this->assertTrue(SimpleTestCompatibility::isReference( $object, $object_reference)); $this->assertFalse(SimpleTestCompatibility::isReference( $object, $object_copy)); if (version_compare(phpversion(), '5', '>=')) { $this->assertTrue(SimpleTestCompatibility::isReference( $object, $object_assignment)); } else { $this->assertFalse(SimpleTestCompatibility::isReference( $object, $object_assignment)); } } function testInteraceComparison() { if (version_compare(phpversion(), '5', '<')) { return; } $object = new ComparisonClassWithInterface(); $this->assertFalse(SimpleTestCompatibility::isA( new ComparisonClass(), 'ComparisonInterface')); $this->assertTrue(SimpleTestCompatibility::isA( new ComparisonClassWithInterface(), 'ComparisonInterface')); }}?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?