StringContains.php 850 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace Hamcrest\Text;
  3. /*
  4. Copyright (c) 2009 hamcrest.org
  5. */
  6. /**
  7. * Tests if the argument is a string that contains a substring.
  8. */
  9. class StringContains extends SubstringMatcher
  10. {
  11. public function __construct($substring)
  12. {
  13. parent::__construct($substring);
  14. }
  15. public function ignoringCase()
  16. {
  17. return new StringContainsIgnoringCase($this->_substring);
  18. }
  19. /**
  20. * Matches if value is a string that contains $substring.
  21. *
  22. * @factory
  23. */
  24. public static function containsString($substring)
  25. {
  26. return new self($substring);
  27. }
  28. // -- Protected Methods
  29. protected function evalSubstringOf($item)
  30. {
  31. return (false !== strpos((string) $item, $this->_substring));
  32. }
  33. protected function relationship()
  34. {
  35. return 'containing';
  36. }
  37. }