示例#1
0
 /**
  * @covers \airmoi\FileMaker\Object\Record::setField
  */
 public function testSetField()
 {
     $this->record->setField('text_field', __METHOD__);
     $this->assertEquals(__METHOD__, $this->record->getField('text_field'));
     $this->record->setField('text_field', __METHOD__ . ' repeat 1', 1);
     $this->assertEquals(__METHOD__ . ' repeat 1', $this->record->getField('text_field', 1));
     $this->record->setField('related_sample::text_field', __METHOD__ . 'related[1]');
     $this->assertEquals(__METHOD__ . 'related[1]', $this->record->getField('related_sample::text_field'));
     $this->record->setField('related_sample::text_field', __METHOD__ . 'related[2]', 1);
     $this->assertEquals(__METHOD__ . 'related[2]', $this->record->getField('related_sample::text_field', 1));
     $this->record->setField('date_field', date('Y-m-d'));
     $this->assertEquals(date('Y-m-d'), $this->record->getField('date_field'));
     $this->assertInstanceOf(FileMakerException::class, $this->record->setField('missing_field', __METHOD__));
     /**
      * Date autoformat
      */
     $this->fm->setProperty('dateFormat', 'd/m/Y');
     $this->record->setField('date_field', '16/06/2016');
     $this->assertEquals('06/16/2016', $this->record->fields['date_field'][0]);
     $this->record->setField('date_field', '01/02/0001');
     $this->assertEquals('02/01/0001', $this->record->fields['date_field'][0]);
     $this->record->setField('date_field', '31/12/4000');
     $this->assertEquals('12/31/4000', $this->record->fields['date_field'][0]);
     $this->assertInstanceOf(FileMakerException::class, $this->record->setField('date_field', '2016-08-19'));
     $this->record->setField('timestamp_field', '08/01/1942 00:00:00');
     $this->assertEquals('01/08/1942 00:00:00', $this->record->fields['timestamp_field'][0]);
     $this->assertInstanceOf(FileMakerException::class, $this->record->setField('timestamp_field', '2016-08-19'));
 }