function test_flags() { $s = new Dataface_Record('Profiles', array()); $s->clearValue('id'); $this->assertTrue(!$s->valueChanged('id'), 'ID has not been changed, yet it says it has.'); $s->setValue('id', 112); $this->assertTrue($s->valueChanged('id'), 'ID has changed, yet it says it hasn\'t'); $s->clearFlag('id'); $this->assertTrue(!$s->valueChanged('id'), 'Clear flag did not work'); $s->setValue('id', 112); $this->assertTrue(!$s->valueChanged('id'), 'Setting value to same value should not set off dirty flag.'); $s->setValue('id', 111); $this->assertTrue($s->valueChanged('id'), 'Setting value to different value should set off dirty flag.'); $s->clearFlags(); $this->assertTrue(!$s->valueChanged('id'), 'Clearing all flags did not clear flag for id.'); $s->setValue('id', 10); $this->assertTrue($s->valueChanged('id')); $s->clearValues(); $this->assertTrue(!$s->valueChanged('id')); }