1-- CE3604B.ADA 2 3-- Grant of Unlimited Rights 4-- 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 14-- to do so. 15-- 16-- DISCLAIMER 17-- 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. 24--* 25-- OBJECTIVE: 26-- CHECK THAT GET_LINE DOES NOT DO A SKIP_LINE AND NO CHARACTERS ARE 27-- READ WHEN THE INPUT IS AT THEN END OF A LINE AND THE STRING 28-- PARAMETER IS A NULL STRING. ALSO CHECK THAT GET_LINE DOES NOT 29-- SKIP THE LINE TERMINATOR AFTER READING ALL THE CHARACTERS INTO 30-- A STRING WHICH IS EXACTLY EQUAL TO THE NUMBER OF CHARACTERS 31-- REMAINING ON THAT LINE. 32 33-- APPLICABILITY CRITERIA: 34-- THIS TEST IS APPLICABLE ONLY TO IMPLEMENTATIONS WHICH SUPPORT 35-- TEXT FILES. 36 37-- HISTORY: 38-- JLH 10/13/87 CREATED ORIGINAL TEST. 39 40 41WITH REPORT; USE REPORT; 42WITH TEXT_IO; USE TEXT_IO; 43 44PROCEDURE CE3604B IS 45 46BEGIN 47 48 TEST ("CE3604B", "CHECK THAT GET_LINE READS LINES APPROPRIATELY"); 49 50 DECLARE 51 INCOMPLETE : EXCEPTION; 52 FILE : FILE_TYPE; 53 ITEM1 : STRING (1 .. 19); 54 ITEM2 : STRING (1 .. 20); 55 NULL_ITEM : STRING (2 .. 1); 56 LAST : NATURAL; 57 58 BEGIN 59 BEGIN 60 CREATE (FILE, OUT_FILE, LEGAL_FILE_NAME); 61 EXCEPTION 62 WHEN USE_ERROR => 63 NOT_APPLICABLE ("USE_ERROR RAISED ON TEXT CREATE " & 64 "WITH OUT_FILE MODE"); 65 RAISE INCOMPLETE; 66 WHEN NAME_ERROR => 67 NOT_APPLICABLE ("NAME_ERROR RAISED ON TEXT " & 68 "CREATE WITH OUT_FILE MODE"); 69 70 RAISE INCOMPLETE; 71 WHEN OTHERS => 72 FAILED ("UNEXPECTED EXCEPTION RAISED ON TEXT " & 73 "CREATE"); 74 RAISE INCOMPLETE; 75 END; 76 77 PUT (FILE, "FIRST LINE OF INPUT"); 78 NEW_LINE (FILE); 79 PUT (FILE, "SECOND LINE OF INPUT"); 80 NEW_LINE (FILE); 81 PUT (FILE, "THIRD LINE OF INPUT"); 82 83 CLOSE (FILE); 84 85 BEGIN 86 OPEN (FILE, IN_FILE, LEGAL_FILE_NAME); 87 EXCEPTION 88 WHEN USE_ERROR => 89 NOT_APPLICABLE ("USE_ERROR RAISED ON TEXT OPEN " & 90 "WITH IN_FILE MODE"); 91 RAISE INCOMPLETE; 92 END; 93 94 GET (FILE, ITEM1); 95 IF ITEM1 /= "FIRST LINE OF INPUT" THEN 96 FAILED ("INCORRECT VALUE FOR GET"); 97 END IF; 98 99 GET_LINE (FILE, NULL_ITEM, LAST); 100 101 IF LINE (FILE) /= 1 THEN 102 FAILED ("INCORRECT LINE NUMBER AFTER GET_LINE - 1"); 103 END IF; 104 105 IF COL (FILE) /= 20 THEN 106 FAILED ("INCORRECT COLUMN NUMBER AFTER GET_LINE - 1"); 107 END IF; 108 109 SKIP_LINE (FILE); 110 GET_LINE (FILE, ITEM2, LAST); 111 IF ITEM2 /= "SECOND LINE OF INPUT" THEN 112 FAILED ("INCORRECT VALUE FOR GET_LINE"); 113 END IF; 114 115 IF LINE (FILE) /= 2 THEN 116 FAILED ("INCORRECT LINE NUMBER AFTER GET_LINE - 2"); 117 END IF; 118 119 IF COL (FILE) /= 21 THEN 120 FAILED ("INCORRECT COLUMN NUMBER AFTER GET_LINE - 2"); 121 END IF; 122 123 BEGIN 124 DELETE (FILE); 125 EXCEPTION 126 WHEN USE_ERROR => 127 NULL; 128 END; 129 130 EXCEPTION 131 WHEN INCOMPLETE => 132 NULL; 133 END; 134 135 RESULT; 136 137END CE3604B; 138