PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / vendor / sabre / vobject / lib / PHPUnitAssertions.php
ameliabooking / vendor / sabre / vobject / lib Last commit date
Component 1 year ago ITip 1 year ago Parser 1 year ago Property 1 year ago Recur 1 year ago Splitter 1 year ago TimezoneGuesser 1 year ago timezonedata 1 year ago BirthdayCalendarGenerator.php 1 year ago Cli.php 1 year ago Component.php 1 year ago DateTimeParser.php 1 year ago Document.php 1 year ago ElementList.php 1 year ago EofException.php 1 year ago FreeBusyData.php 1 year ago FreeBusyGenerator.php 1 year ago InvalidDataException.php 1 year ago Node.php 1 year ago PHPUnitAssertions.php 1 year ago Parameter.php 1 year ago ParseException.php 1 year ago Property.php 1 year ago Reader.php 1 year ago Settings.php 1 year ago StringUtil.php 1 year ago TimeZoneUtil.php 1 year ago UUIDUtil.php 1 year ago VCardConverter.php 1 year ago Version.php 1 year ago Writer.php 1 year ago
PHPUnitAssertions.php
76 lines
1 <?php
2
3 namespace Sabre\VObject;
4
5 /**
6 * PHPUnit Assertions.
7 *
8 * This trait can be added to your unittest to make it easier to test iCalendar
9 * and/or vCards.
10 *
11 * @copyright Copyright (C) fruux GmbH (https://fruux.com/)
12 * @author Evert Pot (http://evertpot.com/)
13 * @license http://sabre.io/license/ Modified BSD License
14 */
15 trait PHPUnitAssertions
16 {
17 /**
18 * This method tests whether two vcards or icalendar objects are
19 * semantically identical.
20 *
21 * It supports objects being supplied as strings, streams or
22 * Sabre\VObject\Component instances.
23 *
24 * PRODID is removed from both objects as this is often changes and would
25 * just get in the way.
26 *
27 * CALSCALE will automatically get removed if it's set to GREGORIAN.
28 *
29 * Any property that has the value **ANY** will be treated as a wildcard.
30 *
31 * @param resource|string|Component $expected
32 * @param resource|string|Component $actual
33 * @param string $message
34 */
35 public function assertVObjectEqualsVObject($expected, $actual, $message = '')
36 {
37 $getObj = function ($input) {
38 if (is_resource($input)) {
39 $input = stream_get_contents($input);
40 }
41 if (is_string($input)) {
42 $input = Reader::read($input);
43 }
44 if (!$input instanceof Component) {
45 $this->fail('Input must be a string, stream or VObject component');
46 }
47 unset($input->PRODID);
48 if ($input instanceof Component\VCalendar && 'GREGORIAN' === (string) $input->CALSCALE) {
49 unset($input->CALSCALE);
50 }
51
52 return $input;
53 };
54
55 $expected = $getObj($expected)->serialize();
56 $actual = $getObj($actual)->serialize();
57
58 // Finding wildcards in expected.
59 preg_match_all('|^([A-Z]+):\\*\\*ANY\\*\\*\r$|m', $expected, $matches, PREG_SET_ORDER);
60
61 foreach ($matches as $match) {
62 $actual = preg_replace(
63 '|^'.preg_quote($match[1], '|').':(.*)\r$|m',
64 $match[1].':**ANY**'."\r",
65 $actual
66 );
67 }
68
69 $this->assertEquals(
70 $expected,
71 $actual,
72 $message
73 );
74 }
75 }
76