diff options
author | Christian Schneider | 2020-06-26 07:55:33 +0200 |
---|---|---|
committer | Christian Schneider | 2020-06-26 07:55:33 +0200 |
commit | cd76f06c9d8240cec15c51f33a2b8b09946c3e53 (patch) | |
tree | d5f63fd51d1e6cc0a7885afd790a4d52e8dfe1f2 /test | |
parent | 5555b40c2a126cecc1d85d992c6862e53fee1c60 (diff) | |
download | itools-cd76f06c9d8240cec15c51f33a2b8b09946c3e53.tar.gz itools-cd76f06c9d8240cec15c51f33a2b8b09946c3e53.tar.bz2 itools-cd76f06c9d8240cec15c51f33a2b8b09946c3e53.zip |
Leave _data unchanged by __read_postprocess as update() needs that and add test for it
Diffstat (limited to 'test')
-rwxr-xr-x | test/it_dbi.t | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/test/it_dbi.t b/test/it_dbi.t index b09cdbb..45f70d4 100755 --- a/test/it_dbi.t +++ b/test/it_dbi.t @@ -432,12 +432,16 @@ class my_dbi_test extends it_dbi_test static function _read_postprocess($data) { $data['x']--; + $data['foo'] = json_decode($data['foo'], true); return $data; } static function _write_preprocess($data) { - $data['x']++; + if (isset($data['x'])) + $data['x']++; + if (isset($data['foo'])) + $data['foo'] = json_encode($data['foo']); return $data; } @@ -445,12 +449,17 @@ static function _write_preprocess($data) $record = new my_dbi_test; $record->delete(['WHERE 1' ]); -$record->upsert(['ID' => 1, 'x' => 42, 'foo' => "a"]); +$record->upsert(['ID' => 1, 'x' => 42, 'foo' => ['value' => "a"]]); $record->read(1); is($record->x, 42, 'value of x after reading with _read_postprocess'); -is($record->_data, ["ID" => 1, "x" => 42, 'foo' => "a"], 'data after reading with _read_postprocess'); +is($record->_data, ["ID" => 1, "x" => 42, 'foo' => '{"value":"a"}'], 'data after reading with _read_postprocess'); +is($record->foo, ['value' => "a"], 'field after reading with _read_postprocess'); $record2 = new it_dbi_test; $record2->read(1); is($record2->x, 43, 'raw value of x after writing with _write_preprocess'); -is($record2->_data, ["ID" => 1, "x" => 43, 'foo' => "a"], 'raw data after writing with _write_preprocess'); +is($record2->_data, ["ID" => 1, "x" => 43, 'foo' => '{"value":"a"}'], 'raw data after writing with _write_preprocess'); + +$record->update(['foo' => ['value' => "b"]]); +is($record->_data, ["ID" => 1, "x" => 42, 'foo' => '{"value":"b"}'], 'raw data after updating with _write_preprocess'); +is($record->foo, ['value' => "b"], 'field data after updating with _write_preprocess'); |