radarrplexorganizrnginxsonarrdashboardserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpc
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							86 lines
						
					
					
						
							2.6 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							86 lines
						
					
					
						
							2.6 KiB
						
					
					
				
								<?php
							 | 
						|
								namespace Hamcrest\Text;
							 | 
						|
								
							 | 
						|
								class StringContainsTest extends \Hamcrest\AbstractMatcherTest
							 | 
						|
								{
							 | 
						|
								
							 | 
						|
								    const EXCERPT = 'EXCERPT';
							 | 
						|
								
							 | 
						|
								    private $_stringContains;
							 | 
						|
								
							 | 
						|
								    public function setUp()
							 | 
						|
								    {
							 | 
						|
								        $this->_stringContains = \Hamcrest\Text\StringContains::containsString(self::EXCERPT);
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    protected function createMatcher()
							 | 
						|
								    {
							 | 
						|
								        return $this->_stringContains;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function testEvaluatesToTrueIfArgumentContainsSubstring()
							 | 
						|
								    {
							 | 
						|
								        $this->assertTrue(
							 | 
						|
								            $this->_stringContains->matches(self::EXCERPT . 'END'),
							 | 
						|
								            'should be true if excerpt at beginning'
							 | 
						|
								        );
							 | 
						|
								        $this->assertTrue(
							 | 
						|
								            $this->_stringContains->matches('START' . self::EXCERPT),
							 | 
						|
								            'should be true if excerpt at end'
							 | 
						|
								        );
							 | 
						|
								        $this->assertTrue(
							 | 
						|
								            $this->_stringContains->matches('START' . self::EXCERPT . 'END'),
							 | 
						|
								            'should be true if excerpt in middle'
							 | 
						|
								        );
							 | 
						|
								        $this->assertTrue(
							 | 
						|
								            $this->_stringContains->matches(self::EXCERPT . self::EXCERPT),
							 | 
						|
								            'should be true if excerpt is repeated'
							 | 
						|
								        );
							 | 
						|
								
							 | 
						|
								        $this->assertFalse(
							 | 
						|
								            $this->_stringContains->matches('Something else'),
							 | 
						|
								            'should not be true if excerpt is not in string'
							 | 
						|
								        );
							 | 
						|
								        $this->assertFalse(
							 | 
						|
								            $this->_stringContains->matches(substr(self::EXCERPT, 1)),
							 | 
						|
								            'should not be true if part of excerpt is in string'
							 | 
						|
								        );
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function testEvaluatesToTrueIfArgumentIsEqualToSubstring()
							 | 
						|
								    {
							 | 
						|
								        $this->assertTrue(
							 | 
						|
								            $this->_stringContains->matches(self::EXCERPT),
							 | 
						|
								            'should be true if excerpt is entire string'
							 | 
						|
								        );
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function testEvaluatesToFalseIfArgumentContainsSubstringIgnoringCase()
							 | 
						|
								    {
							 | 
						|
								        $this->assertFalse(
							 | 
						|
								            $this->_stringContains->matches(strtolower(self::EXCERPT)),
							 | 
						|
								            'should be false if excerpt is entire string ignoring case'
							 | 
						|
								        );
							 | 
						|
								        $this->assertFalse(
							 | 
						|
								            $this->_stringContains->matches('START' . strtolower(self::EXCERPT) . 'END'),
							 | 
						|
								            'should be false if excerpt is contained in string ignoring case'
							 | 
						|
								        );
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function testIgnoringCaseReturnsCorrectMatcher()
							 | 
						|
								    {
							 | 
						|
								        $this->assertTrue(
							 | 
						|
								            $this->_stringContains->ignoringCase()->matches('EXceRpT'),
							 | 
						|
								            'should be true if excerpt is entire string ignoring case'
							 | 
						|
								        );
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function testHasAReadableDescription()
							 | 
						|
								    {
							 | 
						|
								        $this->assertDescription(
							 | 
						|
								            'a string containing "'
							 | 
						|
								            . self::EXCERPT . '"',
							 | 
						|
								            $this->_stringContains
							 | 
						|
								        );
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |