Mercurial > hg > rc1
comparison 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 |
comparison
equal
deleted
inserted
replaced
6:cec75ba50afc | 7:430dbd5346f7 |
---|---|
1 <?php | |
2 | |
3 namespace Sabre\VObject; | |
4 | |
5 class TestCase extends \PHPUnit_Framework_TestCase { | |
6 | |
7 /** | |
8 * This method tests wether two vcards or icalendar objects are | |
9 * semantically identical. | |
10 * | |
11 * It supports objects being supplied as strings, streams or | |
12 * Sabre\VObject\Component instances. | |
13 * | |
14 * PRODID is removed from both objects as this is often variable. | |
15 * | |
16 * @param resource|string|Component $expected | |
17 * @param resource|string|Component $actual | |
18 * @param string $message | |
19 */ | |
20 function assertVObjEquals($expected, $actual, $message = '') { | |
21 | |
22 $self = $this; | |
23 $getObj = function($input) use ($self) { | |
24 | |
25 if (is_resource($input)) { | |
26 $input = stream_get_contents($input); | |
27 } | |
28 if (is_string($input)) { | |
29 $input = Reader::read($input); | |
30 } | |
31 if (!$input instanceof Component) { | |
32 $this->fail('Input must be a string, stream or VObject component'); | |
33 } | |
34 unset($input->PRODID); | |
35 return $input; | |
36 | |
37 }; | |
38 | |
39 $expected = $getObj($expected); | |
40 $actual = $getObj($actual); | |
41 | |
42 $this->assertEquals( | |
43 $expected->serialize(), | |
44 $actual->serialize(), | |
45 $message | |
46 ); | |
47 | |
48 } | |
49 | |
50 } |