From: Bruno Haible Date: Sat, 7 Mar 2009 10:26:01 +0000 (+0100) Subject: Tests for module 'uninorm/decomposing-form'. X-Git-Tag: v0.1~6205 X-Git-Url: http://erislabs.net/gitweb/?a=commitdiff_plain;h=1bd08626c24664e17e9c8d77a3084adf5a119f3b;p=gnulib.git Tests for module 'uninorm/decomposing-form'. --- diff --git a/ChangeLog b/ChangeLog index ab7fd90ec..195adc330 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,24 @@ 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 strings. diff --git a/modules/uninorm/decomposing-form-tests b/modules/uninorm/decomposing-form-tests new file mode 100644 index 000000000..5c8536d5f --- /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 000000000..3802c3fe1 --- /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; +}