3 -- Grant of Unlimited Rights
5 -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
6 -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
7 -- unlimited rights in the software and documentation contained herein.
8 -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
9 -- this public release, the Government intends to confer upon all
10 -- recipients unlimited rights equal to those held by the Government.
11 -- These rights include rights to use, duplicate, release or disclose the
12 -- released technical data and computer software in whole or in part, in
13 -- any manner and for any purpose whatsoever, and to have or permit others
18 -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
19 -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
20 -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
21 -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
22 -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
23 -- PARTICULAR PURPOSE OF SAID MATERIAL.
26 -- CHECK THAT GET FOR CHARACTERS AND STRINGS ALLOW A STRING TO SPAN
27 -- OVER MORE THAN ONE LINE, SKIPPING INTERVENING LINE AND PAGE
28 -- TERMINATORS. ALSO CHECK THAT GET ACCEPTS A NULL STRING ACTUAL
29 -- PARAMETER AND A STRING SLICE.
31 -- APPLICABILITY CRITERIA:
32 -- THIS TEST IS APPLICABLE ONLY TO IMPLEMENTATIONS WHICH SUPPORT
38 -- JBG 02/22/84 CHANGED TO .ADA TEST
39 -- RJW 11/04/86 REVISED TEST TO OUTPUT A NOT_APPLICABLE
40 -- RESULT WHEN FILES ARE NOT SUPPORTED.
41 -- JLH 09/04/87 REMOVED DEPENDENCE ON RESET, CORRECTED EXCEPTION
42 -- HANDLING, AND ADDED NEW CASES FOR OBJECTIVE.
51 INCOMPLETE
: EXCEPTION;
55 TEST
("CE3602A", "CHECK THAT GET FOR CHARACTERS AND STRINGS " &
56 "ALLOWS A STRING TO SPAN OVER MORE THAN ONE " &
57 "LINE, SKIPPING INTERVENING LINE AND PAGE " &
58 "TERMINATORS. ALSO CHECK THAT GET ACCEPTS " &
59 "A NULL STRING ACTUAL PARAMETER AND A STRING " &
64 ST
: STRING (1 .. 40);
65 STR
: STRING (1 .. 100);
67 ORIGINAL_LINE_LENGTH
: COUNT
;
69 -- READ_CHARS RETURNS A STRING OF N CHARACTERS FROM A GIVEN FILE.
71 FUNCTION READ_CHARS
(FILE
: FILE_TYPE
;
76 IF N
= 0 THEN RETURN "";
79 RETURN C
&READ_CHARS
(FILE
,N
-1);
83 FAILED
("ERROR ON READ_CHARS");
89 -- CREATE AND INITIALIZE TEST DATA FILE
92 CREATE
(FILE1
, OUT_FILE
, LEGAL_FILE_NAME
);
95 NOT_APPLICABLE
("USE_ERROR RAISED ON TEXT CREATE " &
96 "WITH OUT_FILE MODE");
99 NOT_APPLICABLE
("NAME_ERROR RAISED ON TEXT " &
100 "CREATE WITH OUT_FILE MODE");
103 FAILED
("UNEXPECTED EXCEPTION RAISED ON " &
108 ORIGINAL_LINE_LENGTH
:= LINE_LENGTH
;
110 -- LINE_LENGTH SET IN CASE IMPLEMENTATION REQUIRES BOUNDED LENGTH LINES
112 SET_LINE_LENGTH
(16);
113 PUT
(FILE1
, "THIS LINE SHALL ");
114 SET_LINE_LENGTH
(10);
115 PUT
(FILE1
, "SPAN OVER ");
116 SET_LINE_LENGTH
(14);
117 PUT
(FILE1
, "SEVERAL LINES.");
119 SET_LINE_LENGTH
(ORIGINAL_LINE_LENGTH
);
127 OPEN
(FILE1
, IN_FILE
, LEGAL_FILE_NAME
);
130 NOT_APPLICABLE
("USE_ERROR RAISED ON TEXT " &
131 "OPEN WITH IN_FILE MODE - 1");
135 STR
(1..40) := READ_CHARS
(FILE1
, 40);
138 OPEN
(FILE1
, IN_FILE
, LEGAL_FILE_NAME
);
141 IF STR
(1..40) /= ST
THEN
142 FAILED
("GET FOR STRING INCORRECT");
145 IF STR
(1..40) /= "THIS LINE SHALL SPAN OVER SEVERAL " &
147 FAILED
("INCORRECT VALUE READ");
154 OPEN
(FILE1
, IN_FILE
, LEGAL_FILE_NAME
);
160 FAILED
(" GET FAILED ON NULL STRING");
166 GET
(FILE1
, STR
(10 .. 1));
169 FAILED
("GET FAILED ON A NULL SLICE");