Вход Регистрация
Файл: gapps/vendor/hamcrest/hamcrest-php/hamcrest/Hamcrest/Text/IsEqualIgnoringWhiteSpace.php
Строк: 63
<?php
namespace HamcrestText;

/*
 Copyright (c) 2009 hamcrest.org
 */
use HamcrestDescription;
use 
HamcrestTypeSafeMatcher;

/**
 * Tests if a string is equal to another string, ignoring any changes in
 * whitespace.
 */
class IsEqualIgnoringWhiteSpace extends TypeSafeMatcher
{

    private 
$_string;

    public function 
__construct($string)
    {
        
parent::__construct(self::TYPE_STRING);

        
$this->_string $string;
    }

    protected function 
matchesSafely($item)
    {
        return (
strtolower($this->_stripSpace($item))
                === 
strtolower($this->_stripSpace($this->_string)));
    }

    protected function 
describeMismatchSafely($itemDescription $mismatchDescription)
    {
        
$mismatchDescription->appendText('was ')->appendText($item);
    }

    public function 
describeTo(Description $description)
    {
        
$description->appendText('equalToIgnoringWhiteSpace(')
                                ->
appendValue($this->_string)
                                ->
appendText(')')
                                ;
    }

    
/**
     * Matches if value is a string equal to $string, regardless of whitespace.
     *
     * @factory
     */
    
public static function equalToIgnoringWhiteSpace($string)
    {
        return new 
self($string);
    }

    
// -- Private Methods

    
private function _stripSpace($string)
    {
        
$parts preg_split("/[rnt ]+/"$string);
        foreach (
$parts as $i => $part) {
            
$parts[$i] = trim($part" rnt");
        }

        return 
trim(implode(' '$parts), " rnt");
    }
}
Онлайн: 3
Реклама