Blob Blame History Raw
# $XConsortium: StringParse.scr /main/4 1995/07/17 20:47:16 drk $
# Motif
#
# Copyright (c) 1987-2012, The Open Group. All rights reserved.
#
# These libraries and programs are free software; you can
# redistribute them and/or modify them under the terms of the GNU
# Lesser General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option)
# any later version.
#
# These libraries and programs are distributed in the hope that
# they 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 these librararies and programs; if not, write
# to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
# Floor, Boston, MA 02110-1301 USA
# 
# 
# HISTORY

# @) The following panels tests the XmParseMapping and XmStringParse API.
# An empty drawing area widget should be displayed in the test window.

# C)
Continue

# #) In this first panel, the character string \"One./Two/>Tab\" is parsed 
# replacing the patterns \"/" with a separator and \">" with a tab. 

# #) XmStringParse() is called with XmNincludeStatus = XmTERMINATE for
# each of the XmParseMapping entries of the XmParseTable.
# The XmString should terminate after the first pattern is encountered.
# Verify that the XmString displayed matches the text below:

# @) One. 

# #) XmStringParse() is called with XmNincludeStatus = XmINSERT for
# each of the XmParseMapping entries and the delimiter is a \".\".
# The XmString should terminate prior to the \".\" character. 
# Verify that the XmString displayed matches the text below:
 
# @) One 

# #) XmStringParse() is called with XmNincludeStatus = XmINSERT for
# each of the XmParseMapping entries and no delimiter is specified.
# The XmString should terminate after the entire character string is parsed. 
# Verify that the XmString displayed matches the text below, where the word
# \"Tab\" is indented by one inch:

# @) One.
# @) Two
# @) 	Tab

# C)
CompareVisual DrawArea
Continue

# #)  Call XmStringUnparse() to retrieve the original character string
# which was parsed to create an XmString.
# A message will be printed to the terminal indicating whether or not
# XmStringUnparse() was successful in generating the original character
# string.

# C)
Continue

# @) A parse proc is assigned to the XmParseMapping which converts the
# pattern \"/\" to a string.  Now when the pattern \"/\" is encountered,
# the word \"String\" is inserted into the string prior to the separator.

# #) When XmStringParse() is called, the XmString should terminate after
# the first pattern is encountered.
# Verify that the XmString displayed matches the text below:

# @) One. String
# C)
CompareVisual DrawArea
Continue

# #) When XmStringParse() is called, the XmString should terminate at
# the end of the character string. 
# Verify that the XmString displayed matches the text below:

# @) One. String
# @) Two String
# @) 	Tab

# C)
CompareVisual DrawArea
Continue


# #)  A new parse table is created which replaces the pattern \">\"
# with an XmString direction component with direction set to
# XmSTRING_DIRECTION_L_TO_R and replaces the pattern \"<\" with
# the an XmString direction component with direction set to
# XmSTRING_DIRECTION_R_TO_L. 
# XmStringTableParseStringArray() is called to parse an array 
# of character strings containing these patterns and returns
# a table of XmStrings.
# The following strings should be displayed:

# @) Left To Right
# @) Right To Left
# @) Left To Right
# @) Right To Left 

# #)  Call XmStringTableUnparse() to retrieve the original character string
# which was parsed to create the XmStrings.
# A message will be printed to the terminal indicating whether or not
# XmStringTableUnparse() was successful in generating the original character
# string.

# C)
Continue

# #)  XmStringTableToXmString() is called to convert an array of XmStrings to
# one XmString with a specified break component inserted between each
# of the original XmStrings.
# XmStringGetNextComponent() is then called to traverse the new XmString
# to ensure each of the components is correct.
# A message will be printed to the terminal indicating whether or not
# XmStringTableToXmString() was successful in building the one XmString.

# #) XmStringToXmStringTable() is then called to convert the one XmString
# back to a table of XmStrings. Each XmString in the returned table is 
# compared with its corresponding XmString in the original table.
# If all the XmStrings match, the function was successful.
# A message will be printed to the terminal indicating whether or not
# XmStringToXmStringTable() was successful or not. 

# C)
Continue

# E)
Exit