protected function matchesCriteria(ScribbleFile $scribble, Criteria $criteria) { if (!$scribble) { return false; } if ($criteria->getSlug() !== null) { if ($scribble->getSlug() !== $criteria->getSlug()) { return false; } } // unpublished scribbles only if ($criteria->getMode() === Criteria::MODE_UNPUBLISHED) { if ($scribble->isPublished()) { return false; } } else { if ($criteria->getMode() === Criteria::MODE_ALL) { } else { if (!$scribble->isPublished()) { return false; } } } foreach ($criteria->getTags() as $key => $tag) { if (!$scribble->getTags()->containsKey($key)) { return false; } } if ($criteria->getFind() && !$scribble->find($criteria->getFind())) { return false; } return true; }
public function testTags() { $criteria = new Criteria(); $criteria->setTags(array('abc*""def', '123')); $this->assertFalse(in_array('abc*""def', $criteria->getTags()->toArray())); }