Browse Source

Fix last tests.

euromark 11 years ago
parent
commit
3bc42104b3

+ 3 - 1
src/Model/Behavior/BitmaskedBehavior.php

@@ -7,6 +7,7 @@ use Cake\ORM\Entity;
 use Cake\Utility\Inflector;
 use Cake\Core\Configure;
 use Cake\ORM\Query;
+use Cake\Utility\String;
 
 /**
  * BitmaskedBehavior
@@ -261,7 +262,8 @@ class BitmaskedBehavior extends Behavior {
 
 		$field = $this->_config['field'];
 		$contain = $contain ? ' & ? = ?' : ' & ? != ?';
-		return array('(' . $this->_table->alias() . '.' . $field . $contain . ')' => array($bitmask, $bitmask));
+		$contain = String::insert($contain, array($bitmask, $bitmask));
+		return array('(' . $this->_table->alias() . '.' . $field . $contain . ')');
 	}
 
 }

+ 4 - 9
tests/TestCase/Model/Behavior/BitmaskedBehaviorTest.php

@@ -183,21 +183,18 @@ class BitmaskedBehaviorTest extends TestCase {
 	}
 
 	public function testContains() {
-		$this->skipIf(true, 'FIXME');
-
 		$res = $this->Comments->containsBit(BitmaskedComment::STATUS_PUBLISHED);
-		$expected = array('(BitmaskedComments.status & ? = ?)' => array(2, 2));
+		$expected = array('(BitmaskedComments.status & 2 = 2)');
 		$this->assertEquals($expected, $res);
 
 		$conditions = $res;
-		debug($conditions);
 		$res = $this->Comments->find('all', array('conditions' => $conditions))->toArray();
 		$this->assertTrue(!empty($res) && count($res) === 3);
 
 		// multiple (AND)
 		$res = $this->Comments->containsBit(array(BitmaskedComment::STATUS_PUBLISHED, BitmaskedComment::STATUS_ACTIVE));
 
-		$expected = array('(BitmaskedComments.status & ? = ?)' => array(3, 3));
+		$expected = array('(BitmaskedComments.status & 3 = 3)');
 		$this->assertEquals($expected, $res);
 
 		$conditions = $res;
@@ -206,10 +203,8 @@ class BitmaskedBehaviorTest extends TestCase {
 	}
 
 	public function testNotContains() {
-		$this->skipIf(true, 'FIXME');
-
 		$res = $this->Comments->containsNotBit(BitmaskedComment::STATUS_PUBLISHED);
-		$expected = array('(BitmaskedComments.status & ? != ?)' => array(2, 2));
+		$expected = array('(BitmaskedComments.status & 2 != 2)');
 		$this->assertEquals($expected, $res);
 
 		$conditions = $res;
@@ -219,7 +214,7 @@ class BitmaskedBehaviorTest extends TestCase {
 		// multiple (AND)
 		$res = $this->Comments->containsNotBit(array(BitmaskedComment::STATUS_PUBLISHED, BitmaskedComment::STATUS_ACTIVE));
 
-		$expected = array('(BitmaskedComments.status & ? != ?)' => array(3, 3));
+		$expected = array('(BitmaskedComments.status & 3 != 3)');
 		$this->assertEquals($expected, $res);
 
 		$conditions = $res;