BEGIN;
-- Plan the tests.
SELECT plan(5);
SELECT is(
(SELECT vandelay.replace_field($$
a
Banks, Iain M
1954-
$$, $$
Banks, Iain M
1954-2013
$$, '100abcdef')),
' a Banks, Iain M1954-2013',
'Replacing a value for a single existing subfield'
);
SELECT is(
(SELECT vandelay.replace_field($$
a
Banks, Iain M
$$, $$
Banks, Iain M
1954-2013
$$, '100abcdef')),
' a Banks, Iain M1954-2013',
'Adding a missing field'
);
SELECT is(
(SELECT vandelay.replace_field($$
a
Banks, Iain M
1954-
$$, $$
Banks, Iain M
HELLO
1954-2013
$$, '100abcdef')),
' a Banks, Iain MHELLO1954-2013',
'Splicing a new field into the existing fields'
);
SELECT is(
(SELECT vandelay.replace_field($$
a
Banks, Iain M
1954-
STAY PUT
$$, $$
Banks, Iain M
HELLO
IGNORE ME
1954-2013
$$, '100abcdef')),
' a Banks, Iain MHELLO1954-2013STAY PUT',
'Splice new field, ignore uncontrolled source field, leave uncontrolled target field in place'
);
SELECT is(
(SELECT vandelay.replace_field($$
a
Banks, Iain M
1954-
$$, $$
Banks, Iain M
$$, '100abcdef')),
' a Banks, Iain M',
'Removing a subfield'
);
SELECT * FROM finish();
ROLLBACK;