From 02f935fbab66563c0147b276612f750146461e69 Mon Sep 17 00:00:00 2001
From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= <vslavik@fastmail.fm>
Date: Mon, 26 Mar 2007 21:12:13 +0000
Subject: [PATCH] added basic test for wxLocale

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45082 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 distrib/scripts/manifests/generic.rsp |   2 +
 tests/Makefile.in                     |  20 ++++-
 tests/intl/fr/internat.mo             | Bin 0 -> 1370 bytes
 tests/intl/fr/internat.po             |  77 +++++++++++++++++
 tests/intl/intltest.cpp               | 117 ++++++++++++++++++++++++++
 tests/makefile.bcc                    |  10 ++-
 tests/makefile.gcc                    |  12 ++-
 tests/makefile.vc                     |  10 ++-
 tests/makefile.wat                    |  10 ++-
 tests/test.bkl                        |   8 ++
 tests/test_test.dsp                   |   4 +
 11 files changed, 263 insertions(+), 7 deletions(-)
 create mode 100644 tests/intl/fr/internat.mo
 create mode 100644 tests/intl/fr/internat.po
 create mode 100644 tests/intl/intltest.cpp

diff --git a/distrib/scripts/manifests/generic.rsp b/distrib/scripts/manifests/generic.rsp
index c53af5ee90..4c0ffa3c05 100644
--- a/distrib/scripts/manifests/generic.rsp
+++ b/distrib/scripts/manifests/generic.rsp
@@ -254,6 +254,8 @@ tests/fontmap/*.cpp
 tests/formatconverter/*.cpp
 tests/geometry/*.cpp
 tests/hashes/*.cpp
+tests/intl/*.cpp
+tests/intl/fr/internat.*
 tests/lists/*.cpp
 tests/longlong/*.cpp
 tests/mbconv/*.cpp
diff --git a/tests/Makefile.in b/tests/Makefile.in
index f13c65d63f..6633a0c30a 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -61,6 +61,7 @@ TEST_OBJECTS =  \
 	test_fontmaptest.o \
 	test_formatconvertertest.o \
 	test_hashes.o \
+	test_intltest.o \
 	test_lists.o \
 	test_longlongtest.o \
 	test_convautotest.o \
@@ -213,7 +214,7 @@ COND_WXUSE_REGEX_BUILTIN___LIB_REGEX_p = \
 
 ### Targets: ###
 
-all: test$(EXEEXT) $(__test_gui___depname) $(__test_gui_bundle___depname) data printfbench$(EXEEXT)
+all: test$(EXEEXT) $(__test_gui___depname) $(__test_gui_bundle___depname) data fr printfbench$(EXEEXT)
 
 install: all
 
@@ -284,6 +285,18 @@ data:
 	esac; \
 	done
 
+fr: 
+	@mkdir -p ./intl/fr
+	@for f in internat.po internat.mo; do \
+	if test ! -f ./intl/fr/$$f -a ! -d ./intl/fr/$$f ; \
+	then x=yep ; \
+	else x=`find $(srcdir)/intl/fr/$$f -newer ./intl/fr/$$f -print` ; \
+	fi; \
+	case "$$x" in ?*) \
+	cp -pRf $(srcdir)/intl/fr/$$f ./intl/fr ;; \
+	esac; \
+	done
+
 printfbench$(EXEEXT): $(PRINTFBENCH_OBJECTS)
 	$(CXX) -o $@ $(PRINTFBENCH_OBJECTS) $(LDFLAGS)   -L$(LIBDIRNAME)  $(SAMPLES_RPATH_FLAG) $(CPPUNIT_LIBS)  $(LIBS) $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_ZLIB_p) $(__LIB_ODBC_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE)
 	
@@ -332,6 +345,9 @@ test_formatconvertertest.o: $(srcdir)/formatconverter/formatconvertertest.cpp $(
 test_hashes.o: $(srcdir)/hashes/hashes.cpp $(TEST_ODEP)
 	$(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/hashes/hashes.cpp
 
+test_intltest.o: $(srcdir)/intl/intltest.cpp $(TEST_ODEP)
+	$(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/intl/intltest.cpp
+
 test_lists.o: $(srcdir)/lists/lists.cpp $(TEST_ODEP)
 	$(CXXC) -c -o $@ $(TEST_CXXFLAGS) $(srcdir)/lists/lists.cpp
 
@@ -438,4 +454,4 @@ printfbench_printfbench.o: $(srcdir)/benchmarks/printfbench.cpp $(PRINTFBENCH_OD
 # Include dependency info, if present:
 @IF_GNU_MAKE@-include .deps/*.d
 
-.PHONY: all install uninstall clean distclean test_gui_bundle data
+.PHONY: all install uninstall clean distclean test_gui_bundle data fr
diff --git a/tests/intl/fr/internat.mo b/tests/intl/fr/internat.mo
new file mode 100644
index 0000000000000000000000000000000000000000..24359ff70496d69959bbdfbaa427bae667890b27
GIT binary patch
literal 1370
zcmaKry^kA37{(_MK4QL30fhn-y%xw33A@-Jz&0P^NF2q1!_LJzlu(U#-&+st&MY&t
zKKlw9XecP5KvXn{g8zVqzkwE^v@U3=d1k$*92AT+{&{xhoq6VcpZW9r*>45f4*K)x
zKcGJw{-41Q+6p`euEB@EFTt?(Yw&UK`{w&k;FB2t0$u=r1>XRFZ{}MM2yq_c9q>)?
z1@JlW6Yyd12n^?b0bT~b11}=>H!z%Y??E9R1^)uWK7WHD?%dg}t{w1cj4yx$UIzQ%
z2VjW%3Va6q1{{Dtf-i!9fMNa&E_V@ZfnD$=5XXxadT5WKLrSeBjGsae`3M?LTDU)C
z)eYO$E$kig^~8249sxr>MQ3+zDj&zO=v-Ghi_WBEO>>h~jt=V&(_F4eQYH(`&e(ZT
zhtODiwpx1ezDy~vlF!=YEmmey>9F5bqcbagl}oRTc5Pal>e7<w$mp1Euw_z?{DP^F
znM$Z!Sm}5uMxB-NViYzH5tejS%-IgbxYyU@WKrha`k8uzLI36OJD>xZs)Fva^10F^
zbxJp@TuDv03u(PL(FqYUr=!)!N~h+?(Qa9aeRfsu#SFT=p{!!(s8}~gw#A*T;?kPA
zoabxepo&wRK}s)WuF_^{ET-0c%88H0X>`EW;jrPUvtEt6q)zFdPG-?n%XMa=Ytr+u
zzDm^XMZMRk*B|x<SGv7!w>6za`@B?Pzh>Q?(e8e<H;Jz8(v8V*Z+zwM<fBpRL+N}p
zvr;>x+t}fMlJfTPHaqX7r7xskxR|wz5}7Qdjt}j-t-bNy=)Uk?+-;$J9`}uA>k{fb
zuly@zj?%tG2(pg-JIa};-+z4&_3keY3J%#uBb}I3>1;^-x$-U8jF83BxW;M8La~L}
zs-;zyDh;nSpKh8e%xsO;1W|hFq>5rH9i<#Z=!DyZipez}qcn-J9Cp9H$yK8KiR+f8
zIwrZql1yfL6VriF`8~>I<G9*>pI2~R=T@aW3LMO5v3_ZQP~eR<@a2kw^&lk_^8Xyj
z{@(_K(V(c-bIKB`c|Nr*xp5+1)2O)+?wD?tO5+(6MmI9r;=tfx*4JrV$pxwuoM|^9
PkJ=RT@U*t}<XHRzyh><D

literal 0
HcmV?d00001

diff --git a/tests/intl/fr/internat.po b/tests/intl/fr/internat.po
new file mode 100644
index 0000000000..b3b7565a1f
--- /dev/null
+++ b/tests/intl/fr/internat.po
@@ -0,0 +1,77 @@
+# Message catalog file template for the wxWindows i18n sample
+# Copyright (C) 1999 wxWindows development team
+# Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
+#
+#: internat.cpp:146
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: wxWindows 2.0 i18n sample\n"
+"POT-Creation-Date: 1999-01-13 18:19+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: internat.cpp:98
+msgid "International wxWindows App"
+msgstr "Application wxWindows internationale"
+
+#: internat.cpp:105
+msgid "&About..."
+msgstr "&A propos..."
+
+#: internat.cpp:107
+msgid "E&xit"
+msgstr "&Quitter"
+
+#: internat.cpp:110
+msgid "&Open bogus file"
+msgstr "&Ouvrir un fichier"
+
+#: internat.cpp:111
+msgid "&Play a game"
+msgstr "&Jouer"
+
+#: internat.cpp:114
+msgid "&File"
+msgstr "&Fichier"
+
+#: internat.cpp:115
+msgid "&Test"
+msgstr "&Test"
+
+#: internat.cpp:138
+msgid "I18n sample\n"
+"© 1998, 1999 Vadim Zeitlin and Julian Smart"
+msgstr "Exemple d'i18n\n"
+"© 1998, 1999 Vadim Zeitlin et Julian Smart"
+
+#: internat.cpp:139
+msgid "About Internat"
+msgstr "A propos d'Internat"
+
+#: internat.cpp:144
+msgid "Enter your number:"
+msgstr "Entrez votre numéro:"
+
+#: internat.cpp:145
+msgid "Try to guess my number!"
+msgstr "Essayez de déviner mon numéro!"
+
+#: internat.cpp:150
+msgid "You've probably entered an invalid number."
+msgstr "Vous avez probablement entré un nombre invalide."
+
+#: internat.cpp:154
+msgid "Bad luck! try again..."
+msgstr "Pas de chance! essayez encore..."
+
+#: internat.cpp:158
+msgid "Congratulations! you've won. Here is the magic phrase:"
+msgstr "Félicitations! vouz avez gagné. Voilà la phrase magique:"
+
+#: internat.cpp:162
+msgid "Result"
+msgstr "Resultat"
diff --git a/tests/intl/intltest.cpp b/tests/intl/intltest.cpp
new file mode 100644
index 0000000000..2b2c4b83e0
--- /dev/null
+++ b/tests/intl/intltest.cpp
@@ -0,0 +1,117 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        tests/intl/intltest.cpp
+// Purpose:     wxLocale unit test
+// Author:      Vaclav Slavik
+// Created:     2007-03-26
+// RCS-ID:      $Id$
+// Copyright:   (c) 2007 Vaclav Slavik
+///////////////////////////////////////////////////////////////////////////////
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#include "testprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#ifndef WX_PRECOMP
+    #include "wx/wx.h"
+#endif // WX_PRECOMP
+
+#include "wx/intl.h"
+
+#if wxUSE_INTL
+
+// ----------------------------------------------------------------------------
+// test class
+// ----------------------------------------------------------------------------
+
+class IntlTestCase : public CppUnit::TestCase
+{
+public:
+    IntlTestCase() {}
+
+    virtual void setUp();
+    virtual void tearDown();
+
+private:
+    CPPUNIT_TEST_SUITE( IntlTestCase );
+        CPPUNIT_TEST( Domain );
+        CPPUNIT_TEST( Headers );
+    CPPUNIT_TEST_SUITE_END();
+
+    void Domain();
+    void Headers();
+
+    wxLocale *m_locale;
+
+    DECLARE_NO_COPY_CLASS(IntlTestCase)
+};
+
+// register in the unnamed registry so that these tests are run by default
+CPPUNIT_TEST_SUITE_REGISTRATION( IntlTestCase );
+
+// also include in it's own registry so that these tests can be run alone
+CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( IntlTestCase, "IntlTestCase" );
+
+void IntlTestCase::setUp()
+{
+    wxLocale::AddCatalogLookupPathPrefix("./intl");
+
+    m_locale = new wxLocale;
+    // don't load default catalog, it may be unavailable:
+    bool loaded = m_locale->Init(wxLANGUAGE_FRENCH, wxLOCALE_CONV_ENCODING);
+    CPPUNIT_ASSERT( loaded );
+
+    m_locale->AddCatalog("internat");
+}
+
+void IntlTestCase::tearDown()
+{
+    delete m_locale;
+    m_locale = NULL;
+}
+
+void IntlTestCase::Domain()
+{
+    // _() searches all domains by default:
+    CPPUNIT_ASSERT( _("&Open bogus file") == "&Ouvrir un fichier" );
+
+    // search in our domain only:
+    CPPUNIT_ASSERT( wxGetTranslation("&Open bogus file", "internat") ==
+                    "&Ouvrir un fichier" );
+
+    // search in a domain that doesn't have this string:
+    CPPUNIT_ASSERT( wxGetTranslation("&Open bogus file", "BogusDomain") ==
+                    "&Open bogus file" );
+}
+
+void IntlTestCase::Headers()
+{
+    CPPUNIT_ASSERT( m_locale->GetHeaderValue("Project-Id-Version") ==
+                    "wxWindows 2.0 i18n sample" );
+    CPPUNIT_ASSERT( m_locale->GetHeaderValue("POT-Creation-Date") ==
+                    "1999-01-13 18:19+0100" );
+    CPPUNIT_ASSERT( m_locale->GetHeaderValue("PO-Revision-Date") ==
+                    "YEAR-MO-DA HO:MI+ZONE" );
+    CPPUNIT_ASSERT( m_locale->GetHeaderValue("Last-Translator") ==
+                    "Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>" );
+    CPPUNIT_ASSERT( m_locale->GetHeaderValue("MIME-Version") ==
+                    "1.0" );
+    CPPUNIT_ASSERT( m_locale->GetHeaderValue("Content-Type") ==
+                    "text/plain; charset=iso-8859-1" );
+    CPPUNIT_ASSERT( m_locale->GetHeaderValue("Content-Transfer-Encoding") ==
+                    "8bit" );
+
+    // check that it fails with a bogus domain:
+    CPPUNIT_ASSERT( m_locale->GetHeaderValue("POT-Creation-Date", "Bogus") ==
+                    "" );
+
+    // and that it fails for nonexisting header:
+    CPPUNIT_ASSERT( m_locale->GetHeaderValue("X-Not-Here") == "" );
+}
+
+#endif // wxUSE_INTL
diff --git a/tests/makefile.bcc b/tests/makefile.bcc
index 65a15d6cf0..56300f2c29 100644
--- a/tests/makefile.bcc
+++ b/tests/makefile.bcc
@@ -49,6 +49,7 @@ TEST_OBJECTS =  \
 	$(OBJS)\test_fontmaptest.obj \
 	$(OBJS)\test_formatconvertertest.obj \
 	$(OBJS)\test_hashes.obj \
+	$(OBJS)\test_intltest.obj \
 	$(OBJS)\test_lists.obj \
 	$(OBJS)\test_longlongtest.obj \
 	$(OBJS)\test_convautotest.obj \
@@ -280,7 +281,7 @@ $(OBJS):
 
 ### Targets: ###
 
-all: $(OBJS)\test.exe $(__test_gui___depname) data $(OBJS)\printfbench.exe
+all: $(OBJS)\test.exe $(__test_gui___depname) data fr $(OBJS)\printfbench.exe
 
 clean: 
 	-if exist $(OBJS)\*.obj del $(OBJS)\*.obj
@@ -321,6 +322,10 @@ data:
 	if not exist $(OBJS) mkdir $(OBJS)
 	for %f in (testdata.fc) do if not exist $(OBJS)\%f copy .\%f $(OBJS)
 
+fr: 
+	if not exist $(OBJS)\intl\fr mkdir $(OBJS)\intl\fr
+	for %f in (internat.po internat.mo) do if not exist $(OBJS)\intl\fr\%f copy .\intl\fr\%f $(OBJS)\intl\fr
+
 $(OBJS)\printfbench.exe: $(OBJS)\printfbench_dummy.obj  $(PRINTFBENCH_OBJECTS)
 	ilink32 -Tpe -q $(LDFLAGS) -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) -ap $(CPPUNIT_LIBS) @&&|
 	c0x32.obj $(PRINTFBENCH_OBJECTS),$@,, $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) wxzlib$(WXDEBUGFLAG).lib  wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) ole2w32.lib oleacc.lib odbc32.lib import32.lib cw32$(__THREADSFLAG)$(__RUNTIME_LIBS_1).lib,,
@@ -368,6 +373,9 @@ $(OBJS)\test_formatconvertertest.obj: .\formatconverter\formatconvertertest.cpp
 $(OBJS)\test_hashes.obj: .\hashes\hashes.cpp
 	$(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) $**
 
+$(OBJS)\test_intltest.obj: .\intl\intltest.cpp
+	$(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) $**
+
 $(OBJS)\test_lists.obj: .\lists\lists.cpp
 	$(CXX) -q -c -P -o$@ $(TEST_CXXFLAGS) $**
 
diff --git a/tests/makefile.gcc b/tests/makefile.gcc
index 226b5656bf..fa583a5f48 100644
--- a/tests/makefile.gcc
+++ b/tests/makefile.gcc
@@ -41,6 +41,7 @@ TEST_OBJECTS =  \
 	$(OBJS)\test_fontmaptest.o \
 	$(OBJS)\test_formatconvertertest.o \
 	$(OBJS)\test_hashes.o \
+	$(OBJS)\test_intltest.o \
 	$(OBJS)\test_lists.o \
 	$(OBJS)\test_longlongtest.o \
 	$(OBJS)\test_convautotest.o \
@@ -280,7 +281,7 @@ $(OBJS):
 
 ### Targets: ###
 
-all: $(OBJS)\test.exe $(__test_gui___depname) data $(OBJS)\printfbench.exe
+all: $(OBJS)\test.exe $(__test_gui___depname) data fr $(OBJS)\printfbench.exe
 
 clean: 
 	-if exist $(OBJS)\*.o del $(OBJS)\*.o
@@ -301,6 +302,10 @@ data:
 	if not exist $(OBJS) mkdir $(OBJS)
 	for %%f in (testdata.fc) do if not exist $(OBJS)\%%f copy .\%%f $(OBJS)
 
+fr: 
+	if not exist $(OBJS)\intl\fr mkdir $(OBJS)\intl\fr
+	for %%f in (internat.po internat.mo) do if not exist $(OBJS)\intl\fr\%%f copy .\intl\fr\%%f $(OBJS)\intl\fr
+
 $(OBJS)\printfbench.exe: $(PRINTFBENCH_OBJECTS)
 	$(CXX) -o $@ $(PRINTFBENCH_OBJECTS) $(LDFLAGS) $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME)  $(CPPUNIT_LIBS)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) -lwxzlib$(WXDEBUGFLAG)  -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32
 
@@ -346,6 +351,9 @@ $(OBJS)\test_formatconvertertest.o: ./formatconverter/formatconvertertest.cpp
 $(OBJS)\test_hashes.o: ./hashes/hashes.cpp
 	$(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\test_intltest.o: ./intl/intltest.cpp
+	$(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\test_lists.o: ./lists/lists.cpp
 	$(CXX) -c -o $@ $(TEST_CXXFLAGS) $(CPPDEPS) $<
 
@@ -454,7 +462,7 @@ $(OBJS)\printfbench_dummy.o: ./dummy.cpp
 $(OBJS)\printfbench_printfbench.o: ./benchmarks/printfbench.cpp
 	$(CXX) -c -o $@ $(PRINTFBENCH_CXXFLAGS) $(CPPDEPS) $<
 
-.PHONY: all clean data
+.PHONY: all clean data fr
 
 
 # Dependencies tracking:
diff --git a/tests/makefile.vc b/tests/makefile.vc
index a09ec3c4d5..5b4127942f 100644
--- a/tests/makefile.vc
+++ b/tests/makefile.vc
@@ -41,6 +41,7 @@ TEST_OBJECTS =  \
 	$(OBJS)\test_fontmaptest.obj \
 	$(OBJS)\test_formatconvertertest.obj \
 	$(OBJS)\test_hashes.obj \
+	$(OBJS)\test_intltest.obj \
 	$(OBJS)\test_lists.obj \
 	$(OBJS)\test_longlongtest.obj \
 	$(OBJS)\test_convautotest.obj \
@@ -373,7 +374,7 @@ $(OBJS):
 
 ### Targets: ###
 
-all: $(OBJS)\test.exe $(__test_gui___depname) data $(OBJS)\printfbench.exe
+all: $(OBJS)\test.exe $(__test_gui___depname) data fr $(OBJS)\printfbench.exe
 
 clean: 
 	-if exist $(OBJS)\*.obj del $(OBJS)\*.obj
@@ -405,6 +406,10 @@ data:
 	if not exist $(OBJS) mkdir $(OBJS)
 	for %f in (testdata.fc) do if not exist $(OBJS)\%f copy .\%f $(OBJS)
 
+fr: 
+	if not exist $(OBJS)\intl\fr mkdir $(OBJS)\intl\fr
+	for %f in (internat.po internat.mo) do if not exist $(OBJS)\intl\fr\%f copy .\intl\fr\%f $(OBJS)\intl\fr
+
 $(OBJS)\printfbench.exe: $(OBJS)\printfbench_dummy.obj  $(PRINTFBENCH_OBJECTS)
 	link /NOLOGO /OUT:$@ $(LDFLAGS) $(__DEBUGINFO_2)  $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) /SUBSYSTEM:CONSOLE $(CPPUNIT_LIBS) @<<
 	$(PRINTFBENCH_OBJECTS)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) wxzlib$(WXDEBUGFLAG).lib  wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) $(__GDIPLUS_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib
@@ -452,6 +457,9 @@ $(OBJS)\test_formatconvertertest.obj: .\formatconverter\formatconvertertest.cpp
 $(OBJS)\test_hashes.obj: .\hashes\hashes.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
 
+$(OBJS)\test_intltest.obj: .\intl\intltest.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
+
 $(OBJS)\test_lists.obj: .\lists\lists.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(TEST_CXXFLAGS) $**
 
diff --git a/tests/makefile.wat b/tests/makefile.wat
index 5b21a7a97f..ea59e205db 100644
--- a/tests/makefile.wat
+++ b/tests/makefile.wat
@@ -246,6 +246,7 @@ TEST_OBJECTS =  &
 	$(OBJS)\test_fontmaptest.obj &
 	$(OBJS)\test_formatconvertertest.obj &
 	$(OBJS)\test_hashes.obj &
+	$(OBJS)\test_intltest.obj &
 	$(OBJS)\test_lists.obj &
 	$(OBJS)\test_longlongtest.obj &
 	$(OBJS)\test_convautotest.obj &
@@ -305,7 +306,7 @@ $(OBJS) :
 
 ### Targets: ###
 
-all : .SYMBOLIC $(OBJS)\test.exe $(__test_gui___depname) data $(OBJS)\printfbench.exe
+all : .SYMBOLIC $(OBJS)\test.exe $(__test_gui___depname) data fr $(OBJS)\printfbench.exe
 
 clean : .SYMBOLIC 
 	-if exist $(OBJS)\*.obj del $(OBJS)\*.obj
@@ -347,6 +348,10 @@ data : .SYMBOLIC
 	if not exist $(OBJS) mkdir $(OBJS)
 	for %f in (testdata.fc) do if not exist $(OBJS)\%f copy .\%f $(OBJS)
 
+fr : .SYMBOLIC 
+	if not exist $(OBJS)\intl\fr mkdir $(OBJS)\intl\fr
+	for %f in (internat.po internat.mo) do if not exist $(OBJS)\intl\fr\%f copy .\intl\fr\%f $(OBJS)\intl\fr
+
 $(OBJS)\printfbench.exe :  $(PRINTFBENCH_OBJECTS)
 	@%create $(OBJS)\printfbench.lbc
 	@%append $(OBJS)\printfbench.lbc option quiet
@@ -401,6 +406,9 @@ $(OBJS)\test_formatconvertertest.obj :  .AUTODEPEND .\formatconverter\formatconv
 $(OBJS)\test_hashes.obj :  .AUTODEPEND .\hashes\hashes.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(TEST_CXXFLAGS) $<
 
+$(OBJS)\test_intltest.obj :  .AUTODEPEND .\intl\intltest.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(TEST_CXXFLAGS) $<
+
 $(OBJS)\test_lists.obj :  .AUTODEPEND .\lists\lists.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(TEST_CXXFLAGS) $<
 
diff --git a/tests/test.bkl b/tests/test.bkl
index d4332b2aba..3a0c85f94b 100644
--- a/tests/test.bkl
+++ b/tests/test.bkl
@@ -36,6 +36,7 @@
             fontmap/fontmaptest.cpp
             formatconverter/formatconvertertest.cpp
             hashes/hashes.cpp
+            intl/intltest.cpp
             lists/lists.cpp
             longlong/longlongtest.cpp
             mbconv/convautotest.cpp
@@ -92,6 +93,13 @@
         <files>testdata.fc</files>
     </wx-data>
 
+    <template id="catalog">
+        <dstdir>$(BUILDDIR)/intl/$(id)</dstdir>
+        <srcdir>$(SRCDIR)/intl/$(id)</srcdir>
+        <files>internat.po internat.mo</files>
+    </template>
+
+    <wx-data id="fr" template="catalog"/>
 
 
     <!-- BENCHMARKS -->
diff --git a/tests/test_test.dsp b/tests/test_test.dsp
index 245a15f73e..6a55f634bd 100644
--- a/tests/test_test.dsp
+++ b/tests/test_test.dsp
@@ -509,6 +509,10 @@ SOURCE=.\hashes\hashes.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=.\intl\intltest.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=.\streams\largefile.cpp
 # End Source File
 # Begin Source File
-- 
2.47.2