24 lines
1.8 KiB
Plaintext
24 lines
1.8 KiB
Plaintext
TESTUPF contains functions for testing the new implementation of UNPACKFILENAME.STRING (now in ADIR) and the original definition.
|
|
|
|
The original definition is also provided here, under the name OLD-UNPACKFILENAME.STRING
|
|
|
|
TESTUPF also includes some test functions, and some of the strings that I have been testing with.
|
|
|
|
(TRY FILE ONEDIRFLG DIRFLG)
|
|
|
|
returns a comparison of the behavior of the original version and the new version in a list of the form
|
|
|
|
(FILE ONEDIRFLG DIRFLG) MATCH ORIG NEW)
|
|
|
|
where MATCH is = if ORIG and NEW are EQUAL, otherwise NIL. (For convenience, a list of this form can also be passed in as an argument.)
|
|
|
|
(TRYALL FILES ALLFLG ONDIRFLG DIRFLG)
|
|
|
|
applies TRY to each file-string in FILES, prints and reports what it discovers. If ALLFLG, it prints the result on every file, otherwise just the mismatches. Value is a list of TRY values that it printed.
|
|
|
|
(DT FILES) sets up a call to TRYALL for DIRFLG testing (setting DIRFLG NIL, FIELD, RETURN for each file in FILES).
|
|
|
|
The variable TESTS has the strings that I have tested against, the variable DOTTEDNAMES has the strings that I intend to be different (.cshrc as NAME, not EXTENSION). The new behavior avoids the bug that (PACKFILENAME.STRING 'EXTENSION "txt "BODY ".bashrc") produces ".txt" instead of ".bashrc.txt".
|
|
|
|
The variable RETURNFAILS is a list of strings with DIRFLG=RETURN that also don¹t match, in that the DIRECTORY and SUBDIRECTORY classifications are inverted between old and new for strings beginning with ª>". But the old code is inconsistent for these inputs: it returns different classifications of those substrings with or without the RETURN. (I think RETURN is for the case "/Users/kaplan" where the caller knows that the whole thing is a directory, doesn¹t want ªkaplanº to be parsed as a name. Just wants it to be normalized, with host and device stripped off.)
|