/* $XConsortium: README /main/8 1996/07/15 14:28:56 drk $ */
4.  XmString Tests

This README describes the OSF/Motif XmString and XmFontList
tests.  It provides information about the individual tests,
and offers instructions for running and interpreting the
tests and test output.

                            Note

Throughout this README, we use the path ./tests/XmString to
identify the top directory of the XmString tests.  The ./
indicates the testing tree root and is not an actual path
designation.  For example, if you installed the Motif software 
at /source/Motif, then ./tests/XmString translates to 
/source/Motif/tests/XmString at your site.

4.1  Overview and Directory Structure

The OSF/Motif XmString tests directory, ./tests/XmString,
consists of several files:

   * The file Imakefile is used to build Makefile.

   * The file convenience.c contains the source code for
     convenience routines used by all the tests.

   * Files with the suffixes .c and .h are the source files
     for the tests.

   * Files with the .dat suffix contain the instructions for 
     the tests.

   * Files with the .scr suffix are used for automated testing.

This directory contains the following tests.

FontListA         Tests adding fonts to FontLists.

FontListC         Tests creating FontLists.

RendToProp        Test conversion of XmRenderTable to a character string
                  and from a character string to a XmRenderTable.

StringComp        Tests XmString comparison operations.

StringConcat      Tests concatentation of optimized vs unoptimized XmStrings.

StringCopy        Tests XmString copy operations.

StringDisp        Tests display of hebrew and kanji strings drawn
                  left-to-right and right-to-left. Also tests
                  XmeStringValid.  

StringDraw        Tests clipping of strings drawn with XmStringDraw().

StringEmpty       Tests operations on empty, or incomplete
                  XmStrings.

StringExt         Tests those XmString functions which retrieve
                  dimensional values.

StringGLR         Tests the use of different combinations of character
                  sets when calling XmStringCreateLtoR and then
                  XmStringGetLtoR.

StringNext        Tests those functions which retrieve information about 
                  the next component or next segment in an XmString.

StringParse       Tests XmStringParse, XmParseMapping and XmStringTable
                  API.  

StringRend        Tests the display of XmStrings using renditions.

StringTab	  Tests the display of XmStrings with embedded tabs.

StringToByte      Tests conversion of XmString to a string in byte
                  stream format and from byte stream format back
                  to an XmString.

StringToCT        Tests functions which work with XmString components.

StringWidth       Tests XmStringWidth with various XmString components.


4.2  Compiling the Tests

All the tests must be compiled before you can run them.

   * If you used the global build process after installing
     the software, the tests should already be built.  We do
     not recommend building the tests with global build pro-
     cess because of the size of the test suite.

   * If you did not include the test suite files in your
     initial global build process, you can build the tests
     now by running make testsMakefile from the top of the
     Motif source tree, followed by the make Makefiles from
     the top of the tests source tree, and followed by 
     make all command from the ./tests/XmString directory.

The compiled tests use a large amount of disk space.  You
may prefer to build each test separately if disk space is
limited at your site. You can build each test individually
using the make command for each test.  For example, to com-
pile the FontListA test, enter the command "make FontListA" in
the ./tests/XmString directory.

4.3  Running the XmString Tests

The test can either be run individually by just specifying the
name of the test on the command line.
All tests in the directory can be run sequentially by typing
RUN on the command line.  If RUN does not exist, type "make RUN"
on the command line and then type "RUN".



BUGS SHOWN BY THESE TESTS


StringWidth
PIRS No.:      4841
XmStringWidth returns wrong value after concatenating a few
direction segments to an existing XmString.
Version found in:      1.2

 
ENDBUGS
