Mercurial > hg > rc1
diff vendor/sabre/vobject/tests/VObject/TestCase.php @ 7:430dbd5346f7
vendor sabre as distributed
author | Charlie Root |
---|---|
date | Sat, 13 Jan 2018 09:06:10 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/sabre/vobject/tests/VObject/TestCase.php Sat Jan 13 09:06:10 2018 -0500 @@ -0,0 +1,50 @@ +<?php + +namespace Sabre\VObject; + +class TestCase extends \PHPUnit_Framework_TestCase { + + /** + * This method tests wether two vcards or icalendar objects are + * semantically identical. + * + * It supports objects being supplied as strings, streams or + * Sabre\VObject\Component instances. + * + * PRODID is removed from both objects as this is often variable. + * + * @param resource|string|Component $expected + * @param resource|string|Component $actual + * @param string $message + */ + function assertVObjEquals($expected, $actual, $message = '') { + + $self = $this; + $getObj = function($input) use ($self) { + + if (is_resource($input)) { + $input = stream_get_contents($input); + } + if (is_string($input)) { + $input = Reader::read($input); + } + if (!$input instanceof Component) { + $this->fail('Input must be a string, stream or VObject component'); + } + unset($input->PRODID); + return $input; + + }; + + $expected = $getObj($expected); + $actual = $getObj($actual); + + $this->assertEquals( + $expected->serialize(), + $actual->serialize(), + $message + ); + + } + +}