>># 
>># Copyright 1990, 1991 by the Massachusetts Institute of Technology and
>># UniSoft Group Limited.
>># 
>># Permission to use, copy, modify, distribute, and sell this software and
>># its documentation for any purpose is hereby granted without fee,
>># provided that the above copyright notice appear in all copies and that
>># both that copyright notice and this permission notice appear in
>># supporting documentation, and that the names of MIT and UniSoft not be
>># used in advertising or publicity pertaining to distribution of the
>># software without specific, written prior permission.  MIT and UniSoft
>># make no representations about the suitability of this software for any
>># purpose.  It is provided "as is" without express or implied warranty.
>># 
>># $XConsortium: rmprscmmnd.m,v 1.7 92/06/11 17:40:12 rws Exp $
>># 
>>#
>>TITLE XrmParseCommand CH10
>>ASSERTION A XrmParseCommand-1
When an argument in argv_in_out matches an option within
table whose argKind is XrmoptionNoArg, then a call to
XrmParseCommand stores the resource specifier with value
value and representation type String in the database
database and removes the argument from argv_in_out.
>>STRATEGY
Create new database to perform tests on.
Load database with initial values, if any.
Initialise test argc and argv
Call XrmParseCommand to parse the argc,argv pair.
Verify that argv was updated as expected.
Verify that the database was updated as expected.
>>ASSERTION A XrmParseCommand-2
When an argument in argv_in_out matches an option within
table whose argKind is XrmoptionIsArg, then a call to
XrmParseCommand stores the resource specifier with the value
set to the argument and representation type String in the
database database and removes the argument from argv_in_out.
>>STRATEGY
Create new database to perform tests on.
Load database with initial values, if any.
Initialise test argc and argv
Call XrmParseCommand to parse the argc,argv pair.
Verify that argv was updated as expected.
Verify that the database was updated as expected.
>>ASSERTION A XrmParseCommand-3
When an argument in argv_in_out matches an option within
table whose argKind is XrmoptionStickyArg, then a call to
XrmParseCommand stores the resource specifier with the value
set to the characters immediately following the argument and
representation type String in the database database and
removes the argument from argv_in_out.
>>STRATEGY
Create new database to perform tests on.
Load database with initial values, if any.
Initialise test argc and argv
Call XrmParseCommand to parse the argc,argv pair.
Verify that argv was updated as expected.
Verify that the database was updated as expected.
>>ASSERTION A XrmParseCommand-4
When an argument in argv_in_out matches an option within
table whose argKind is XrmoptionSepArg, then a call to
XrmParseCommand stores the resource specifier with the value
set to the next argument and representation type String in
the database database and removes both arguments from
argv_in_out.
>>STRATEGY
Create new database to perform tests on.
Load database with initial values, if any.
Initialise test argc and argv
Call XrmParseCommand to parse the argc,argv pair.
Verify that argv was updated as expected.
Verify that the database was updated as expected.
>>ASSERTION A XrmParseCommand-5
When an argument in argv_in_out matches an option within
table whose argKind is XrmoptionResArg, then a call to
XrmParseCommand stores the resource and value specified by
the next argument and representation type String in the
database database and removes both arguments from
argv_in_out.
>>STRATEGY
Create new database to perform tests on.
Load database with initial values, if any.
Initialise test argc and argv
Call XrmParseCommand to parse the argc,argv pair.
Verify that argv was updated as expected.
Verify that the database was updated as expected.
>>ASSERTION A XrmParseCommand-6
When an argument in argv_in_out matches an option within
table whose argKind is XrmoptionSkipArg, then a call to
XrmParseCommand ignores the argument and the following
argument.
>>STRATEGY
Create new database to perform tests on.
Load database with initial values, if any.
Initialise test argc and argv
Call XrmParseCommand to parse the argc,argv pair.
Verify that argv was updated as expected.
Verify that the database was updated as expected.
>>ASSERTION A XrmParseCommand-7
When an argument in argv_in_out matches an option within
table whose argKind is XrmoptionSkipLine, then a call to
XrmParseCommand ignores the argument and the rest of
argv_in_out.
>>STRATEGY
Create new database to perform tests on.
Load database with initial values, if any.
Initialise test argc and argv
Call XrmParseCommand to parse the argc,argv pair.
Verify that argv was updated as expected.
Verify that the database was updated as expected.
>>ASSERTION A XrmParseCommand-8
When an argument in argv_in_out matches an option within
table whose argKind is XrmoptionSkipNArgs, then a call to
XrmParseCommand ignores the argument and the following value
arguments of argv_in_out.
>>STRATEGY
Create new database to perform tests on.
Load database with initial values, if any.
Initialise test argc and argv
Call XrmParseCommand to parse the argc,argv pair.
Verify that argv was updated as expected.
Verify that the database was updated as expected.
>>ASSERTION A XrmParseCommand-9
On a call to XrmParseCommand, the argc_in_out argument is
set to the remaining number of arguments that were not
parsed.
>>STRATEGY
Create new database to perform tests on.
Load database with initial values, if any.
Initialise test argc and argv
Call XrmParseCommand to parse the argc,argv pair.
Verify that argc was updated as expected.
>>ASSERTION B XrmParseCommand-10
On a call to XrmParseCommand, the name is prefixed without
a binding character to the specifier in the option table
before storing the specification in the database.
>>STRATEGY
Report UNTESTED
>>ASSERTION A XrmParseCommand-11
On a call to XrmParseCommand, any unambiguous abbreviation
within argv_in_out for an option member of table is
considered a match for the option.
>>STRATEGY
Create new database to perform tests on.
Load database with initial values, if any.
Initialise test argc and argv
Call XrmParseCommand to parse the argc,argv pair.
Verify that argc was updated as expected.
Verify that argv was updated as expected.
Verify that the database was updated as expected.
>>ASSERTION A XrmParseCommand-12
On a call to XrmParseCommand, the case of arguments is
significant.
>>STRATEGY
Create new database to perform tests on.
Load database with initial values, if any.
Initialise test argc and argv
Call XrmParseCommand to parse the argc,argv pair.
Verify that argc was updated as expected.
Verify that argv was updated as expected.
Verify that the database was updated as expected.
