function test_snapshots() { $s = new Dataface_Record('Profiles', array()); $snapshot =& $s->getSnapshot(); //$this->assertTrue(is_array($snapshot)); /*$temp = array(); foreach ( array_keys($snapshot) as $key){ if ( strlen($snapshot[$key]) > 0 ) $temp[$key] = $snapshot[$key]; } $this->assertEquals(array(), $temp); */ $this->assertEquals(null, $snapshot); $s->setValue('id', 10); $s->setSnapshot(); $this->assertTrue($s->snapshotExists()); $expected = array(); foreach (array_keys($s->_table->fields()) as $field) { $expected[$field] = null; } $expected['id'] = 10; $this->assertEquals($expected, $s->getSnapshot()); $this->assertTrue(!$s->valueChanged('id')); $this->assertTrue(!$s->valueChanged('fname')); $s->setValue('id', 50); $this->assertEquals($expected, $s->getSnapshot()); $this->assertTrue($s->valueChanged('id')); $this->assertTrue(!$s->valueChanged('fname')); $this->assertEquals(array('id' => 10), $s->snapshotKeys()); }