# HG changeset patch # User Bruno Haible # Date 1263055838 -3600 # Node ID de23328471d534ba9fa714fda15c048c60b59c84 # Parent 8314fb7892a5ae103c4a068c7da318a12b5b7d60 Add more tests. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2010-01-09 Bruno Haible + * tests/unictype/test-categ_byname.c: Include . + (category_equals): New function. + (main): Add more tests. + * modules/unictype/category-byname-tests (Depends-on): Add stdbool. + * tests/unictype/test-bidi_byname.c (main): Add more tests. 2010-01-10 Bruno Haible diff --git a/modules/unictype/category-byname-tests b/modules/unictype/category-byname-tests --- a/modules/unictype/category-byname-tests +++ b/modules/unictype/category-byname-tests @@ -3,6 +3,7 @@ tests/macros.h Depends-on: +stdbool unictype/category-test configure.ac: diff --git a/tests/unictype/test-categ_byname.c b/tests/unictype/test-categ_byname.c --- a/tests/unictype/test-categ_byname.c +++ b/tests/unictype/test-categ_byname.c @@ -1,5 +1,5 @@ /* Test the Unicode character type functions. - Copyright (C) 2007-2009 Free Software Foundation, Inc. + Copyright (C) 2007-2010 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 @@ -18,14 +18,63 @@ #include "unictype.h" +#include #include #include "macros.h" +static bool +category_equals (uc_general_category_t category1, + uc_general_category_t category2) +{ + return (category1.bitmask == category2.bitmask + && category1.generic == category2.generic + && (category1.generic + ? category1.lookup.lookup_fn == category2.lookup.lookup_fn + : category1.lookup.table == category2.lookup.table)); +} + int main () { - uc_general_category_byname ("L"); + ASSERT (category_equals (uc_general_category_byname ("L"), UC_CATEGORY_L)); + ASSERT (category_equals (uc_general_category_byname ("Lu"), UC_CATEGORY_Lu)); + ASSERT (category_equals (uc_general_category_byname ("Ll"), UC_CATEGORY_Ll)); + ASSERT (category_equals (uc_general_category_byname ("Lt"), UC_CATEGORY_Lt)); + ASSERT (category_equals (uc_general_category_byname ("Lm"), UC_CATEGORY_Lm)); + ASSERT (category_equals (uc_general_category_byname ("Lo"), UC_CATEGORY_Lo)); + ASSERT (category_equals (uc_general_category_byname ("M"), UC_CATEGORY_M)); + ASSERT (category_equals (uc_general_category_byname ("Mn"), UC_CATEGORY_Mn)); + ASSERT (category_equals (uc_general_category_byname ("Mc"), UC_CATEGORY_Mc)); + ASSERT (category_equals (uc_general_category_byname ("Me"), UC_CATEGORY_Me)); + ASSERT (category_equals (uc_general_category_byname ("N"), UC_CATEGORY_N)); + ASSERT (category_equals (uc_general_category_byname ("Nd"), UC_CATEGORY_Nd)); + ASSERT (category_equals (uc_general_category_byname ("Nl"), UC_CATEGORY_Nl)); + ASSERT (category_equals (uc_general_category_byname ("No"), UC_CATEGORY_No)); + ASSERT (category_equals (uc_general_category_byname ("P"), UC_CATEGORY_P)); + ASSERT (category_equals (uc_general_category_byname ("Pc"), UC_CATEGORY_Pc)); + ASSERT (category_equals (uc_general_category_byname ("Pd"), UC_CATEGORY_Pd)); + ASSERT (category_equals (uc_general_category_byname ("Ps"), UC_CATEGORY_Ps)); + ASSERT (category_equals (uc_general_category_byname ("Pe"), UC_CATEGORY_Pe)); + ASSERT (category_equals (uc_general_category_byname ("Pi"), UC_CATEGORY_Pi)); + ASSERT (category_equals (uc_general_category_byname ("Pf"), UC_CATEGORY_Pf)); + ASSERT (category_equals (uc_general_category_byname ("Po"), UC_CATEGORY_Po)); + ASSERT (category_equals (uc_general_category_byname ("S"), UC_CATEGORY_S)); + ASSERT (category_equals (uc_general_category_byname ("Sm"), UC_CATEGORY_Sm)); + ASSERT (category_equals (uc_general_category_byname ("Sc"), UC_CATEGORY_Sc)); + ASSERT (category_equals (uc_general_category_byname ("Sk"), UC_CATEGORY_Sk)); + ASSERT (category_equals (uc_general_category_byname ("So"), UC_CATEGORY_So)); + ASSERT (category_equals (uc_general_category_byname ("Z"), UC_CATEGORY_Z)); + ASSERT (category_equals (uc_general_category_byname ("Zs"), UC_CATEGORY_Zs)); + ASSERT (category_equals (uc_general_category_byname ("Zl"), UC_CATEGORY_Zl)); + ASSERT (category_equals (uc_general_category_byname ("Zp"), UC_CATEGORY_Zp)); + ASSERT (category_equals (uc_general_category_byname ("C"), UC_CATEGORY_C)); + ASSERT (category_equals (uc_general_category_byname ("Cc"), UC_CATEGORY_Cc)); + ASSERT (category_equals (uc_general_category_byname ("Cf"), UC_CATEGORY_Cf)); + ASSERT (category_equals (uc_general_category_byname ("Cs"), UC_CATEGORY_Cs)); + ASSERT (category_equals (uc_general_category_byname ("Co"), UC_CATEGORY_Co)); + ASSERT (category_equals (uc_general_category_byname ("Cn"), UC_CATEGORY_Cn)); + uc_general_category_byname ("Nl"); {