50f42ba372446d78bbf72dc3165b2199beb35342
[Evergreen.git] / Open-ILS / src / sql / Pg / t / dewey.pg
1 \set ECHO
2 \set QUIET 1
3 -- Turn off echo and keep things quiet.
4
5 -- Format the output for nice TAP.
6 \pset format unaligned
7 \pset tuples_only true
8 \pset pager
9
10 -- Revert all changes on failure.
11 \set ON_ERROR_ROLLBACK 1
12 \set ON_ERROR_STOP true
13 \set QUIET 1
14
15 -- Load the TAP functions.
16 BEGIN;
17
18 -- Plan the tests.
19 SELECT plan(6);
20
21 -- Run the tests.  Converted from Koha's ClassSortRoutine_Dewey.t
22
23 SELECT is(
24     asset.label_normalizer_dewey(NULL),
25     '',
26     'testing whitespace'
27 );
28
29 SELECT is(
30     asset.label_normalizer_dewey('.... .....'),
31     '',
32     'testing fullstops'
33 );
34
35 -- I think these tests below may be looking too deeply into the implementation,
36 -- but including them for now
37
38 SELECT is(
39     asset.label_normalizer_dewey('123 456'),
40     '123_456000000000000',
41     'testing numbers'
42 );
43
44 SELECT is(
45     asset.label_normalizer_dewey('abc123 456'),
46     'ABC_123_456000000000000',
47     'testing alphanumeric'
48 );
49
50 SELECT is(
51     asset.label_normalizer_dewey('ab         c123 45   6'),
52     'AB_C123_45_600000000000000',
53     'testing middle whitespace'
54 );
55
56 SELECT todo('Desired behavior in contention.  See https://bugs.launchpad.net/evergreen/+bug/1150939', 1);
57
58 SELECT cmp_ok(
59     asset.label_normalizer_dewey('YR DVD 800.1'),
60     '<',
61     asset.label_normalizer_dewey('YR DVD 900'),
62     'testing prefix plus decimal'
63 );
64
65 -- Finish the tests and clean up.
66 SELECT * FROM finish();
67 ROLLBACK;