From 1bd08626c24664e17e9c8d77a3084adf5a119f3b Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sat, 7 Mar 2009 11:26:01 +0100 Subject: [PATCH] Tests for module 'uninorm/decomposing-form'. --- ChangeLog | 19 +++++++++++ modules/uninorm/decomposing-form-tests | 16 +++++++++ tests/uninorm/test-decomposing-form.c | 47 ++++++++++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 modules/uninorm/decomposing-form-tests create mode 100644 tests/uninorm/test-decomposing-form.c diff --git a/ChangeLog b/ChangeLog index ab7fd90ece..195adc330a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,22 @@ +2009-03-07 Bruno Haible + + Tests for module 'uninorm/decomposing-form'. + * modules/uninorm/decomposing-form-tests: New file. + * tests/uninorm/test-decomposing-form.c: New file. + + New module 'uninorm/decomposing-form'. + * lib/uninorm.h (uninorm_decomposing_form): New declaration. + * lib/uninorm/normalize-internal.h (struct unicode_normalization_form): + Add 'decomposing_variant' field. + * lib/uninorm/decomposing-form.c: New file. + * lib/uninorm/nfc.c (uninorm_nfc): Update. + * lib/uninorm/nfd.c (uninorm_nfd): Update. + * lib/uninorm/nfkc.c (uninorm_nfkc): Update. + * lib/uninorm/nfkd.c (uninorm_nfkd): Update. + * modules/uninorm/decomposing-form: New file. + * modules/uninorm/nfc (Depends-on): Add uninorm/nfd. + * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd. + 2009-03-07 Bruno Haible * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small diff --git a/modules/uninorm/decomposing-form-tests b/modules/uninorm/decomposing-form-tests new file mode 100644 index 0000000000..5c8536d5fd --- /dev/null +++ b/modules/uninorm/decomposing-form-tests @@ -0,0 +1,16 @@ +Files: +tests/uninorm/test-decomposing-form.c + +Depends-on: +uninorm/nfc +uninorm/nfd +uninorm/nfkc +uninorm/nfkd + +configure.ac: + +Makefile.am: +TESTS += test-decomposing-form +check_PROGRAMS += test-decomposing-form +test_decomposing_form_SOURCES = uninorm/test-decomposing-form.c + diff --git a/tests/uninorm/test-decomposing-form.c b/tests/uninorm/test-decomposing-form.c new file mode 100644 index 0000000000..3802c3fe15 --- /dev/null +++ b/tests/uninorm/test-decomposing-form.c @@ -0,0 +1,47 @@ +/* Test of decomposing variant of a normalization form. + Copyright (C) 2009 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2009. */ + +#include + +#include "uninorm.h" + +#include +#include + +#define ASSERT(expr) \ + do \ + { \ + if (!(expr)) \ + { \ + fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ + fflush (stderr); \ + abort (); \ + } \ + } \ + while (0) + +int +main () +{ + ASSERT (uninorm_decomposing_form (UNINORM_NFC) == UNINORM_NFD); + ASSERT (uninorm_decomposing_form (UNINORM_NFD) == UNINORM_NFD); + ASSERT (uninorm_decomposing_form (UNINORM_NFKC) == UNINORM_NFKD); + ASSERT (uninorm_decomposing_form (UNINORM_NFKD) == UNINORM_NFKD); + + return 0; +} -- 2.30.2