bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gbrk improvements 2/3] Remove u#-grapheme-len modules as too redundant


From: Ben Pfaff
Subject: [gbrk improvements 2/3] Remove u#-grapheme-len modules as too redundant with u#-grapheme-next.
Date: Sat, 1 Jan 2011 15:30:09 -0800

Remove module 'u8-grapheme-len' as too redundant with
'u8-grapheme-next'.
* modules/unigbrk/u8-grapheme-len: Delete file.
* modules/unigbrk/u8-grapheme-len-tests: Delete file.
* lib/unigbrk.in.h: Remove prototype for deleted function.
* lib/unigbrk/u8-grapheme-len.c: Delete file.
* tests/unigbrk/test-u8-grapheme-len.c: Delete file.

Remove module 'u16-grapheme-len' as too redundant with
'u16-grapheme-next'.
* modules/unigbrk/u16-grapheme-len: Delete file.
* modules/unigbrk/u16-grapheme-len-tests: Delete file.
* lib/unigbrk.in.h: Remove prototype for deleted function.
* lib/unigbrk/u16-grapheme-len.c: Delete file.
* tests/unigbrk/test-u16-grapheme-len.c: Delete file.

Remove module 'u32-grapheme-len' as too redundant with
'u32-grapheme-next'.
* modules/unigbrk/u32-grapheme-len: Delete file.
* modules/unigbrk/u32-grapheme-len-tests: Delete file.
* lib/unigbrk.in.h: Remove prototype for deleted function.
* lib/unigbrk/u32-grapheme-len.c: Delete file.
* tests/unigbrk/test-u32-grapheme-len.c: Delete file.

Suggested by Bruno Haible.
---
 ChangeLog                              |   28 +++++++++
 lib/unigbrk.in.h                       |   10 ---
 lib/unigbrk/u16-grapheme-len.c         |   47 ----------------
 lib/unigbrk/u32-grapheme-len.c         |   47 ----------------
 lib/unigbrk/u8-grapheme-len.c          |   47 ----------------
 modules/unigbrk/u16-grapheme-len       |   28 ---------
 modules/unigbrk/u16-grapheme-len-tests |   12 ----
 modules/unigbrk/u32-grapheme-len       |   28 ---------
 modules/unigbrk/u32-grapheme-len-tests |   12 ----
 modules/unigbrk/u8-grapheme-len        |   28 ---------
 modules/unigbrk/u8-grapheme-len-tests  |   12 ----
 tests/unigbrk/test-u16-grapheme-len.c  |   95 -------------------------------
 tests/unigbrk/test-u32-grapheme-len.c  |   96 --------------------------------
 tests/unigbrk/test-u8-grapheme-len.c   |   52 -----------------
 14 files changed, 28 insertions(+), 514 deletions(-)
 delete mode 100644 lib/unigbrk/u16-grapheme-len.c
 delete mode 100644 lib/unigbrk/u32-grapheme-len.c
 delete mode 100644 lib/unigbrk/u8-grapheme-len.c
 delete mode 100644 modules/unigbrk/u16-grapheme-len
 delete mode 100644 modules/unigbrk/u16-grapheme-len-tests
 delete mode 100644 modules/unigbrk/u32-grapheme-len
 delete mode 100644 modules/unigbrk/u32-grapheme-len-tests
 delete mode 100644 modules/unigbrk/u8-grapheme-len
 delete mode 100644 modules/unigbrk/u8-grapheme-len-tests
 delete mode 100644 tests/unigbrk/test-u16-grapheme-len.c
 delete mode 100644 tests/unigbrk/test-u32-grapheme-len.c
 delete mode 100644 tests/unigbrk/test-u8-grapheme-len.c

diff --git a/ChangeLog b/ChangeLog
index c5a1cae..87c7bcd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,33 @@
 2011-01-01  Ben Pfaff  <address@hidden>
 
+       Remove module 'u8-grapheme-len' as too redundant with
+       'u8-grapheme-next'.
+       * modules/unigbrk/u8-grapheme-len: Delete file.
+       * modules/unigbrk/u8-grapheme-len-tests: Delete file.
+       * lib/unigbrk.in.h: Remove prototype for deleted function.
+       * lib/unigbrk/u8-grapheme-len.c: Delete file.
+       * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
+
+       Remove module 'u16-grapheme-len' as too redundant with
+       'u16-grapheme-next'.
+       * modules/unigbrk/u16-grapheme-len: Delete file.
+       * modules/unigbrk/u16-grapheme-len-tests: Delete file.
+       * lib/unigbrk.in.h: Remove prototype for deleted function.
+       * lib/unigbrk/u16-grapheme-len.c: Delete file.
+       * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
+
+       Remove module 'u32-grapheme-len' as too redundant with
+       'u32-grapheme-next'.
+       * modules/unigbrk/u32-grapheme-len: Delete file.
+       * modules/unigbrk/u32-grapheme-len-tests: Delete file.
+       * lib/unigbrk.in.h: Remove prototype for deleted function.
+       * lib/unigbrk/u32-grapheme-len.c: Delete file.
+       * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
+
+       Suggested by Bruno Haible.
+
+2011-01-01  Ben Pfaff  <address@hidden>
+
        * unigbrk.in.h: Fix typo: "ben" => "been".
        Reported by Bruno Haible.
 
diff --git a/lib/unigbrk.in.h b/lib/unigbrk.in.h
index acce151..c95b75b 100644
--- a/lib/unigbrk.in.h
+++ b/lib/unigbrk.in.h
@@ -78,16 +78,6 @@ extern int
 extern bool
        uc_is_grapheme_cluster_break (ucs4_t a, ucs4_t b);
 
-/* Returns the length (in units) of the first grapheme cluster in the N units
-   in S.  If the return value is N, then extending the string could extend the
-   length of the grapheme cluster too.  Returns 0 only if N is zero. */
-extern size_t
-       u8_grapheme_len (const uint8_t *s, size_t n);
-extern size_t
-       u16_grapheme_len (const uint16_t *s, size_t n);
-extern size_t
-       u32_grapheme_len (const uint32_t *s, size_t n);
-
 /* Returns the start of the next grapheme cluster following S, or NULL if the
    end of the string has been reached. */
 extern const uint8_t *
diff --git a/lib/unigbrk/u16-grapheme-len.c b/lib/unigbrk/u16-grapheme-len.c
deleted file mode 100644
index 645936f..0000000
--- a/lib/unigbrk/u16-grapheme-len.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Grapheme cluster length function.
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
-   Written by Ben Pfaff <address@hidden>, 2010.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include "unigbrk.h"
-
-#include "unistr.h"
-
-size_t
-u16_grapheme_len (const uint16_t *s, size_t n)
-{
-  ucs4_t prev;
-  size_t ofs;
-  int mblen;
-
-  if (n == 0)
-    return 0;
-
-  for (ofs = u16_mbtouc (&prev, s, n); ofs < n; ofs += mblen)
-    {
-      ucs4_t next;
-
-      mblen = u16_mbtouc (&next, s + ofs, n - ofs);
-      if (uc_is_grapheme_cluster_break (prev, next))
-        break;
-
-      prev = next;
-    }
-
-  return ofs;
-}
diff --git a/lib/unigbrk/u32-grapheme-len.c b/lib/unigbrk/u32-grapheme-len.c
deleted file mode 100644
index 5468852..0000000
--- a/lib/unigbrk/u32-grapheme-len.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Grapheme cluster length function.
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
-   Written by Ben Pfaff <address@hidden>, 2010.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include "unigbrk.h"
-
-#include "unistr.h"
-
-size_t
-u32_grapheme_len (const uint32_t *s, size_t n)
-{
-  ucs4_t prev;
-  size_t ofs;
-
-  if (n == 0)
-    return 0;
-
-  u32_mbtouc (&prev, s, n);
-  for (ofs = 1; ofs < n; ofs++)
-    {
-      ucs4_t next;
-
-      u32_mbtouc (&next, s + ofs, n - ofs);
-      if (uc_is_grapheme_cluster_break (prev, next))
-        break;
-
-      prev = next;
-    }
-
-  return ofs;
-}
diff --git a/lib/unigbrk/u8-grapheme-len.c b/lib/unigbrk/u8-grapheme-len.c
deleted file mode 100644
index a4e0572..0000000
--- a/lib/unigbrk/u8-grapheme-len.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Grapheme cluster length function.
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
-   Written by Ben Pfaff <address@hidden>, 2010.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-
-/* Specification.  */
-#include "unigbrk.h"
-
-#include "unistr.h"
-
-size_t
-u8_grapheme_len (const uint8_t *s, size_t n)
-{
-  ucs4_t prev;
-  size_t ofs;
-  int mblen;
-
-  if (n == 0)
-    return 0;
-
-  for (ofs = u8_mbtouc (&prev, s, n); ofs < n; ofs += mblen)
-    {
-      ucs4_t next;
-
-      mblen = u8_mbtouc (&next, s + ofs, n - ofs);
-      if (uc_is_grapheme_cluster_break (prev, next))
-        break;
-
-      prev = next;
-    }
-
-  return ofs;
-}
diff --git a/modules/unigbrk/u16-grapheme-len b/modules/unigbrk/u16-grapheme-len
deleted file mode 100644
index 06d0646..0000000
--- a/modules/unigbrk/u16-grapheme-len
+++ /dev/null
@@ -1,28 +0,0 @@
-Description:
-Length of first grapheme cluster in UTF-16 string.
-
-Files:
-lib/unigbrk/u16-grapheme-len.c
-tests/macros.h
-
-Depends-on:
-unigbrk/uc-is-grapheme-break
-unistr/u16-mbtouc
-
-configure.ac:
-gl_MODULE_INDICATOR([unigbrk/u16-grapheme-len])
-gl_LIBUNISTRING_MODULE([0.9.4], [unigbrk/u16-grapheme-len])
-
-Makefile.am:
-if LIBUNISTRING_COMPILE_UNIGBRK_U16_GRAPHEME_LEN
-lib_SOURCES += unigbrk/u16-grapheme-len.c
-endif
-
-Include:
-"unigbrk.h"
-
-License:
-LGPL
-
-Maintainer:
-Ben Pfaff, Bruno Haible
diff --git a/modules/unigbrk/u16-grapheme-len-tests 
b/modules/unigbrk/u16-grapheme-len-tests
deleted file mode 100644
index 66f7aac..0000000
--- a/modules/unigbrk/u16-grapheme-len-tests
+++ /dev/null
@@ -1,12 +0,0 @@
-Files:
-tests/unigbrk/test-u16-grapheme-len.c
-
-Depends-on:
-
-configure.ac:
-
-Makefile.am:
-TESTS += test-u16-grapheme-len
-check_PROGRAMS += test-u16-grapheme-len
-test_u16_grapheme_len_SOURCES = unigbrk/test-u16-grapheme-len.c
-test_u16_grapheme_len_LDADD = $(LDADD) $(LIBUNISTRING)
diff --git a/modules/unigbrk/u32-grapheme-len b/modules/unigbrk/u32-grapheme-len
deleted file mode 100644
index 4129fb1..0000000
--- a/modules/unigbrk/u32-grapheme-len
+++ /dev/null
@@ -1,28 +0,0 @@
-Description:
-Length of first grapheme cluster in UTF-32 string.
-
-Files:
-lib/unigbrk/u32-grapheme-len.c
-tests/macros.h
-
-Depends-on:
-unigbrk/uc-is-grapheme-break
-unistr/u32-mbtouc
-
-configure.ac:
-gl_MODULE_INDICATOR([unigbrk/u32-grapheme-len])
-gl_LIBUNISTRING_MODULE([0.9.4], [unigbrk/u32-grapheme-len])
-
-Makefile.am:
-if LIBUNISTRING_COMPILE_UNIGBRK_U32_GRAPHEME_LEN
-lib_SOURCES += unigbrk/u32-grapheme-len.c
-endif
-
-Include:
-"unigbrk.h"
-
-License:
-LGPL
-
-Maintainer:
-Ben Pfaff, Bruno Haible
diff --git a/modules/unigbrk/u32-grapheme-len-tests 
b/modules/unigbrk/u32-grapheme-len-tests
deleted file mode 100644
index 1618abd..0000000
--- a/modules/unigbrk/u32-grapheme-len-tests
+++ /dev/null
@@ -1,12 +0,0 @@
-Files:
-tests/unigbrk/test-u32-grapheme-len.c
-
-Depends-on:
-
-configure.ac:
-
-Makefile.am:
-TESTS += test-u32-grapheme-len
-check_PROGRAMS += test-u32-grapheme-len
-test_u32_grapheme_len_SOURCES = unigbrk/test-u32-grapheme-len.c
-test_u32_grapheme_len_LDADD = $(LDADD) $(LIBUNISTRING)
diff --git a/modules/unigbrk/u8-grapheme-len b/modules/unigbrk/u8-grapheme-len
deleted file mode 100644
index 04e6c40..0000000
--- a/modules/unigbrk/u8-grapheme-len
+++ /dev/null
@@ -1,28 +0,0 @@
-Description:
-Length of first grapheme cluster in UTF-8 string.
-
-Files:
-lib/unigbrk/u8-grapheme-len.c
-tests/macros.h
-
-Depends-on:
-unigbrk/uc-is-grapheme-break
-unistr/u8-mbtouc
-
-configure.ac:
-gl_MODULE_INDICATOR([unigbrk/u8-grapheme-len])
-gl_LIBUNISTRING_MODULE([0.9.4], [unigbrk/u8-grapheme-len])
-
-Makefile.am:
-if LIBUNISTRING_COMPILE_UNIGBRK_U8_GRAPHEME_LEN
-lib_SOURCES += unigbrk/u8-grapheme-len.c
-endif
-
-Include:
-"unigbrk.h"
-
-License:
-LGPL
-
-Maintainer:
-Ben Pfaff, Bruno Haible
diff --git a/modules/unigbrk/u8-grapheme-len-tests 
b/modules/unigbrk/u8-grapheme-len-tests
deleted file mode 100644
index 4067abf..0000000
--- a/modules/unigbrk/u8-grapheme-len-tests
+++ /dev/null
@@ -1,12 +0,0 @@
-Files:
-tests/unigbrk/test-u8-grapheme-len.c
-
-Depends-on:
-
-configure.ac:
-
-Makefile.am:
-TESTS += test-u8-grapheme-len
-check_PROGRAMS += test-u8-grapheme-len
-test_u8_grapheme_len_SOURCES = unigbrk/test-u8-grapheme-len.c
-test_u8_grapheme_len_LDADD = $(LDADD) $(LIBUNISTRING)
diff --git a/tests/unigbrk/test-u16-grapheme-len.c 
b/tests/unigbrk/test-u16-grapheme-len.c
deleted file mode 100644
index 637b04b..0000000
--- a/tests/unigbrk/test-u16-grapheme-len.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Grapheme cluster length test.
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Ben Pfaff <address@hidden>, 2010. */
-
-#include <config.h>
-
-/* Specification. */
-#include <unigbrk.h>
-
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-static void
-test_u16_grapheme_len (size_t len, ...)
-{
-  uint16_t s[16];
-  size_t retval;
-  va_list args;
-  size_t n;
-
-  va_start (args, len);
-  n = 0;
-  for (;;)
-    {
-      int unit = va_arg (args, int);
-      if (unit == -1)
-        break;
-      else if (n >= sizeof s / sizeof *s)
-        abort ();
-
-      s[n++] = unit;
-    }
-  va_end (args);
-
-  retval = u16_grapheme_len (s, n);
-  if (retval != len)
-    {
-      size_t i;
-
-      fprintf (stderr, "u16_grapheme_len counted %zu units, expected %zu:",
-               retval, len);
-      for (i = 0; i < n; i++)
-        fprintf (stderr, " %04x", s[i]);
-      putc ('\n', stderr);
-      abort ();
-    }
-}
-
-
-int
-main (void)
-{
-  /* Empty string. */
-  test_u16_grapheme_len (0, -1);
-
-  /* Standalone 1-unit graphemes.  */
-  test_u16_grapheme_len (1, 'a', -1);
-  test_u16_grapheme_len (1, 'a', 'b', -1);
-  test_u16_grapheme_len (1, 'a', 'b', 'c', -1);
-
-  /* Multi-unit, single code point graphemes. */
-#define HIRAGANA_A 0x3042       /* あ: Hiragana letter 'a'. */
-  test_u16_grapheme_len (1, HIRAGANA_A, -1);
-  test_u16_grapheme_len (1, HIRAGANA_A, 'x', -1);
-  test_u16_grapheme_len (1, HIRAGANA_A, HIRAGANA_A, -1);
-
-  /* Combining accents. */
-#define GRAVE 0x0300            /* Combining grave accent. */
-#define ACUTE 0x0301            /* Combining acute accent. */
-  test_u16_grapheme_len (2, 'e', ACUTE, -1);
-  test_u16_grapheme_len (3, 'e', ACUTE, GRAVE, -1);
-  test_u16_grapheme_len (2, 'e', ACUTE, 'x', -1);
-  test_u16_grapheme_len (2, 'e', ACUTE, 'e', ACUTE, -1);
-
-  /* Surrogate pairs. */
-  test_u16_grapheme_len (2, 0xd83d, 0xde10, -1); /* 😐: neutral face. */
-  test_u16_grapheme_len (3, 0xd83d, 0xde10, GRAVE, -1);
-
-  return 0;
-}
diff --git a/tests/unigbrk/test-u32-grapheme-len.c 
b/tests/unigbrk/test-u32-grapheme-len.c
deleted file mode 100644
index 0b36f9c..0000000
--- a/tests/unigbrk/test-u32-grapheme-len.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Grapheme cluster length test.
-   Copyright (C) 2010-2011 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Ben Pfaff <address@hidden>, 2010. */
-
-#include <config.h>
-
-/* Specification. */
-#include <unigbrk.h>
-
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-static void
-test_u32_grapheme_len (size_t len, ...)
-{
-  uint32_t s[32];
-  size_t retval;
-  va_list args;
-  size_t n;
-
-  va_start (args, len);
-  n = 0;
-  for (;;)
-    {
-      int unit = va_arg (args, int);
-      if (unit == -1)
-        break;
-      else if (n >= sizeof s / sizeof *s)
-        abort ();
-
-      s[n++] = unit;
-    }
-  va_end (args);
-
-  retval = u32_grapheme_len (s, n);
-  if (retval != len)
-    {
-      size_t i;
-
-      fprintf (stderr, "u32_grapheme_len counted %zu units, expected %zu:",
-               retval, len);
-      for (i = 0; i < n; i++)
-        fprintf (stderr, " %04x", (unsigned int) s[i]);
-      putc ('\n', stderr);
-      abort ();
-    }
-}
-
-
-int
-main (void)
-{
-  /* Empty string. */
-  test_u32_grapheme_len (0, -1);
-
-  /* Standalone 1-unit graphemes.  */
-  test_u32_grapheme_len (1, 'a', -1);
-  test_u32_grapheme_len (1, 'a', 'b', -1);
-  test_u32_grapheme_len (1, 'a', 'b', 'c', -1);
-
-  /* Multi-unit, single code point graphemes. */
-#define HIRAGANA_A 0x3042       /* あ: Hiragana letter 'a'. */
-  test_u32_grapheme_len (1, HIRAGANA_A, -1);
-  test_u32_grapheme_len (1, HIRAGANA_A, 'x', -1);
-  test_u32_grapheme_len (1, HIRAGANA_A, HIRAGANA_A, -1);
-
-  /* Combining accents. */
-#define GRAVE 0x0300            /* Combining grave accent. */
-#define ACUTE 0x0301            /* Combining acute accent. */
-  test_u32_grapheme_len (2, 'e', ACUTE, -1);
-  test_u32_grapheme_len (3, 'e', ACUTE, GRAVE, -1);
-  test_u32_grapheme_len (2, 'e', ACUTE, 'x', -1);
-  test_u32_grapheme_len (2, 'e', ACUTE, 'e', ACUTE, -1);
-
-  /* Outside BMP. */
-#define NEUTRAL_FACE 0x1f610    /* 😐: neutral face. */
-  test_u32_grapheme_len (1, NEUTRAL_FACE, -1);
-  test_u32_grapheme_len (2, NEUTRAL_FACE, GRAVE, -1);
-
-  return 0;
-}
diff --git a/tests/unigbrk/test-u8-grapheme-len.c 
b/tests/unigbrk/test-u8-grapheme-len.c
deleted file mode 100644
index 19b7a54..0000000
--- a/tests/unigbrk/test-u8-grapheme-len.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Grapheme cluster length test.
-   Copyright (C) 2010, 2011 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU Lesser 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
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* Written by Ben Pfaff <address@hidden>, 2010. */
-
-#include <config.h>
-
-/* Specification. */
-#include <unigbrk.h>
-
-#include "macros.h"
-
-int
-main (void)
-{
-  /* Empty string. */
-  ASSERT (u8_grapheme_len ("", 0) == 0);
-
-  /* Standalone 1-unit graphemes.  */
-  ASSERT (u8_grapheme_len ("a", 1) == 1);
-  ASSERT (u8_grapheme_len ("ab", 2) == 1);
-  ASSERT (u8_grapheme_len ("abc", 3) == 1);
-
-  /* Multi-unit, single code point graphemes. */
-#define HIRAGANA_A "\343\201\202" /* あ: Hiragana letter 'a'. */
-  ASSERT (u8_grapheme_len (HIRAGANA_A, 3) == 3);
-  ASSERT (u8_grapheme_len (HIRAGANA_A"x", 4) == 3);
-  ASSERT (u8_grapheme_len (HIRAGANA_A HIRAGANA_A, 6) == 3);
-
-  /* Combining accents. */
-#define GRAVE "\314\200"        /* Combining grave accent. */
-#define ACUTE "\314\201"        /* Combining acute accent. */
-  ASSERT (u8_grapheme_len ("e"ACUTE, 3) == 3);
-  ASSERT (u8_grapheme_len ("e"ACUTE GRAVE, 5) == 5);
-  ASSERT (u8_grapheme_len ("e"ACUTE"x", 4) == 3);
-  ASSERT (u8_grapheme_len ("e"ACUTE "e"ACUTE, 6) == 3);
-
-  return 0;
-}
-- 
1.7.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]