about summary refs log tree commit diff
path: root/intl
diff options
context:
space:
mode:
Diffstat (limited to 'intl')
-rw-r--r--intl/Makefile13
-rw-r--r--intl/tst-translit.c47
-rwxr-xr-xintl/tst-translit.sh38
3 files changed, 94 insertions, 4 deletions
diff --git a/intl/Makefile b/intl/Makefile
index 07108b19de..b4bc7aa0fa 100644
--- a/intl/Makefile
+++ b/intl/Makefile
@@ -27,7 +27,7 @@ routines = bindtextdom dcgettext dgettext gettext	\
 distribute = gettext.h gettextP.h hash-string.h loadinfo.h locale.alias \
 	     plural.y po2test.sed tst-gettext.sh
 
-test-srcs := tst-gettext
+test-srcs := tst-gettext tst-translit
 
 before-compile = $(objpfx)msgs.h
 
@@ -48,9 +48,13 @@ include ../Rules
 ifeq (no,$(cross-compiling))
 ifeq (yes,$(build-shared))
 ifneq ($(strip $(MSGFMT)),:)
-.PHONY: do-gettext-test
-tests: do-gettext-test
-do-gettext-test: tst-gettext.sh $(objpfx)tst-gettext
+.PHONY: do-gettext-test do-translit-test
+tests: do-gettext-test do-translit-test
+do-gettext-test: $(objpfx)tst-gettext.out
+$(objpfx)tst-gettext.out: tst-gettext.sh $(objpfx)tst-gettext
+	$(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
+ do-translit-test: $(objpfx)tst-translit.out
+$(objpfx)tst-translit.out: tst-translit.sh $(objpfx)tst-translit
 	$(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/
 endif
 endif
@@ -61,6 +65,7 @@ $(objpfx)msgs.h: po2test.sed ../po/de.po
 	sed -f $^ > $@
 
 CFLAGS-tst-gettext.c = -DTESTSTRS_H=\"$(objpfx)msgs.h\"
+CFLAGS-tst-translit.c = -DOBJPFX=\"$(objpfx)\"
 
 CPPFLAGS += -D'GNULOCALEDIR="$(msgcatdir)"' \
 	    -D'LOCALE_ALIAS_PATH="$(msgcatdir):$(i18ndir)"'
diff --git a/intl/tst-translit.c b/intl/tst-translit.c
new file mode 100644
index 0000000000..fbdaf525c4
--- /dev/null
+++ b/intl/tst-translit.c
@@ -0,0 +1,47 @@
+/* Test of translitation in the gettext functions.
+   Copyright (C) 2000 Free Software Foundation, Inc.
+   Contributed by Ulrich Drepper <drepper@cygnus.com>, 2000.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library 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
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#include <libintl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main (void)
+{
+  int result = 0;
+  const char *s;
+
+  setenv ("LANGUAGE", "existing-locale", 1);
+  textdomain ("translit");
+  bindtextdomain ("translit", OBJPFX "domaindir");
+
+#define TEST(in, exp) \
+  s = gettext (in);							      \
+  puts (s);								      \
+  result |= strcmp (s, exp) != 0;
+
+  TEST ("test", "???????");
+  TEST ("test", "???????");
+  TEST ("onemore", "?ssdf");
+  TEST ("onemore", "?ssdf");
+  TEST ("test", "???????");
+
+  return result;
+}
diff --git a/intl/tst-translit.sh b/intl/tst-translit.sh
new file mode 100755
index 0000000000..78f7f1b060
--- /dev/null
+++ b/intl/tst-translit.sh
@@ -0,0 +1,38 @@
+#! /bin/sh
+# Test of transliteration in gettext functions.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+#
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# The GNU C Library 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
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with the GNU C Library; see the file COPYING.LIB.  If
+# not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+common_objpfx=$1
+objpfx=$2
+
+GCONV_PATH=${common_objpfx}iconvdata
+export GCONV_PATH
+LOCPATH=${common_objpfx}localedata
+export LOCPATH
+LC_ALL=C
+export LC_ALL
+
+msgfmt -o ${objpfx}domaindir/existing-locale/LC_MESSAGES/translit.mo \
+       translit.po
+
+
+${common_objpfx}elf/ld.so --library-path $common_objpfx \
+${objpfx}tst-translit > ${objpfx}tst-translit.out ${objpfx}domaindir
+
+exit $?