diff options
Diffstat (limited to 'vendors/simpletest/test/compatibility_test.php')
| -rw-r--r-- | vendors/simpletest/test/compatibility_test.php | 97 | 
1 files changed, 97 insertions, 0 deletions
diff --git a/vendors/simpletest/test/compatibility_test.php b/vendors/simpletest/test/compatibility_test.php new file mode 100644 index 000000000..ea48f8396 --- /dev/null +++ b/vendors/simpletest/test/compatibility_test.php @@ -0,0 +1,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')); +    } +} +?>
\ No newline at end of file  | 
