Security update to Drupal 8.4.6
[yaffs-website] / vendor / sebastian / comparator / src / TypeComparator.php
1 <?php
2 /*
3  * This file is part of the Comparator package.
4  *
5  * (c) Sebastian Bergmann <sebastian@phpunit.de>
6  *
7  * For the full copyright and license information, please view the LICENSE
8  * file that was distributed with this source code.
9  */
10
11 namespace SebastianBergmann\Comparator;
12
13 /**
14  * Compares values for type equality.
15  */
16 class TypeComparator extends Comparator
17 {
18     /**
19      * Returns whether the comparator can compare two values.
20      *
21      * @param  mixed $expected The first value to compare
22      * @param  mixed $actual   The second value to compare
23      * @return bool
24      */
25     public function accepts($expected, $actual)
26     {
27         return true;
28     }
29
30     /**
31      * Asserts that two values are equal.
32      *
33      * @param mixed $expected     First value to compare
34      * @param mixed $actual       Second value to compare
35      * @param float $delta        Allowed numerical distance between two values to consider them equal
36      * @param bool  $canonicalize Arrays are sorted before comparison when set to true
37      * @param bool  $ignoreCase   Case is ignored when set to true
38      *
39      * @throws ComparisonFailure
40      */
41     public function assertEquals($expected, $actual, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
42     {
43         if (gettype($expected) != gettype($actual)) {
44             throw new ComparisonFailure(
45                 $expected,
46                 $actual,
47                 // we don't need a diff
48                 '',
49                 '',
50                 false,
51                 sprintf(
52                     '%s does not match expected type "%s".',
53                     $this->exporter->shortenedExport($actual),
54                     gettype($expected)
55                 )
56             );
57         }
58     }
59 }