ソースを参照

Fix slugged on empty slug input.

euromark 11 年 前
コミット
b3a23082d6

+ 1 - 1
src/Model/Behavior/SluggedBehavior.php

@@ -180,7 +180,7 @@ class SluggedBehavior extends Behavior {
 		if (!$overwrite && $entity->get($this->_config['overwriteField'])) {
 			$overwrite = true;
 		}
-		if ($overwrite || $entity->isNew() || $entity->get($this->_config['field']) === null) {
+		if ($overwrite || $entity->isNew() || !$entity->get($this->_config['field'])) {
 			$slug = array();
 			foreach ((array)$this->_config['label'] as $v) {
 				$v = $this->generateSlug($entity->get($v), $entity);

+ 4 - 0
tests/TestCase/Model/Behavior/SluggedBehaviorTest.php

@@ -114,6 +114,10 @@ class SluggedBehaviorTest extends TestCase {
 		$this->articles->patchEntity($article, ['title' => 'Some Cool Other String', 'slug' => 'foo-bar-bat']);
 		$result = $this->articles->save($article);
 		$this->assertEquals('foo-bar-bat', $result['slug']);
+
+		$this->articles->patchEntity($article, ['title' => 'Some Cool Other String', 'slug' => '']);
+		$result = $this->articles->save($article);
+		$this->assertEquals('Some-Cool-Other-String', $result['slug']);
 	}
 
 /**