Creitive\Breadcrumbs\Breadcrumbs::removeCssClasses PHP Method

removeCssClasses() public method

Removes one or more CSS classes that have been set by other methods. This method won't fail if the passed class has not been set already.
public removeCssClasses ( string | array $cssClasses )
$cssClasses string | array
    public function removeCssClasses($cssClasses)
    {
        if (is_string($cssClasses)) {
            $cssClasses = explode(' ', $cssClasses);
        }
        if (!is_array($cssClasses)) {
            throw new \InvalidArgumentException('Breadcrumbs::removeCssClasses() only accepts strings or arrays, but ' . (is_object($cssClasses) ? get_class($cssClasses) : gettype($cssClasses)) . ' given: ' . print_r($cssClasses, true));
        }
        foreach ($cssClasses as $key => $cssClass) {
            if (!is_string($cssClass)) {
                throw new \InvalidArgumentException('Breadcrumbs::removeCssClasses() was passed an array, but at least one of the values was not a ' . 'string: $cssClasses[' . $key . '] = ' . print_r($cssClass, true));
            }
        }
        $cssClasses = array_diff($this->breadcrumbsCssClasses, $cssClasses);
        $this->breadcrumbsCssClasses = array_unique($cssClasses);
        return $this;
    }

Usage Example

 /**
  * @dataProvider cssClassesProvider
  */
 public function testCssClassesMethods($classes)
 {
     $b = new Breadcrumbs(array(), $classes);
     $this->assertCount(count($classes), $b->getBreadcrumbsCssClasses());
     $b->removeCssClasses($classes);
     $this->assertCount(0, $b->getBreadcrumbsCssClasses());
     $b->addCssClasses($classes);
     $this->assertCount(count($classes), $b->getBreadcrumbsCssClasses());
 }