function testValidateKey() { $this->out($this->_header(__FUNCTION__)); //$this->App->data = array($this->App->alias=>array('y'=>'efg')); $testModel = new TestModel(); $testModel->_schema = array('id' => array('type' => 'string', 'null' => false, 'default' => '', 'length' => 36, 'key' => 'primary', 'collate' => 'utf8_unicode_ci', 'charset' => 'utf8'), 'foreign_id' => array('type' => 'integer', 'null' => false, 'default' => '0', 'length' => 10)); $is = $testModel->validateKey(array('id' => '2')); $this->assertFalse($is); $is = $testModel->validateKey(array('id' => 2)); $this->assertFalse($is); $is = $testModel->validateKey(array('id' => '4e6f-a2f2-19a4ab957338')); $this->assertFalse($is); $is = $testModel->validateKey(array('id' => '4dff6725-f0e8-4e6f-a2f2-19a4ab957338')); $this->assertTrue($is); $is = $testModel->validateKey(array('id' => '')); $this->assertFalse($is); $is = $testModel->validateKey(array('id' => ''), array('allowEmpty' => true)); $this->assertTrue($is); $is = $testModel->validateKey(array('foreign_id' => '2')); $this->assertTrue($is); $is = $testModel->validateKey(array('foreign_id' => 2)); $this->assertTrue($is); $is = $testModel->validateKey(array('foreign_id' => 2.3)); $this->assertFalse($is); $is = $testModel->validateKey(array('foreign_id' => -2)); $this->assertFalse($is); $is = $testModel->validateKey(array('foreign_id' => '4dff6725-f0e8-4e6f-a2f2-19a4ab957338')); $this->assertFalse($is); $is = $testModel->validateKey(array('foreign_id' => 0)); $this->assertFalse($is); $is = $testModel->validateKey(array('foreign_id' => 0), array('allowEmpty' => true)); $this->assertTrue($is); }