1-- CE3403E.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 SKIP_LINE INCREMENTS THE CURRENT LINE NUMBER BY ONE 27-- AND SETS THE CURRENT COLUMN NUMBER TO ONE IF THE LINE TERMINATOR 28-- IS NOT FOLLOWED BY A PAGE TERMINATOR, AND THAT IT SETS BOTH THE 29-- LINE AND COLUMN NUMBERS TO ONE AND INCREMENTS THE CURRENT PAGE 30-- NUMBER BY ONE IF THE LINE TERMINATOR IS FOLLOWED BY A PAGE 31-- TERMINATOR. 32 33-- APPLICABILITY CRITERIA: 34-- THIS TEST IS ONLY APPLICABLE TO IMPLEMENTATIONS WHICH 35-- SUPPORT TEXT FILES. 36 37-- HISTORY: 38-- ABW 08/26/82 39-- SPS 09/20/82 40-- TBN 11/04/86 REVISED TEST TO OUTPUT A NON_APPLICABLE 41-- RESULT WHEN FILES ARE NOT SUPPORTED. 42-- DWC 09/09/87 REVISED TEST TO USE A FILE NAME, REMOVED 43-- DEPENDENCE ON RESET, AND ATTEMPTED TO 44-- DELETE THE FILE. 45 46WITH REPORT; 47USE REPORT; 48WITH TEXT_IO; 49USE TEXT_IO; 50 51PROCEDURE CE3403E IS 52 53 INCOMPLETE : EXCEPTION; 54 FILE : FILE_TYPE; 55 ONE : POSITIVE_COUNT := POSITIVE_COUNT(IDENT_INT(1)); 56 TWO : POSITIVE_COUNT := POSITIVE_COUNT(IDENT_INT(2)); 57 CHAR : CHARACTER := ('C'); 58 59BEGIN 60 61 TEST ("CE3403E" , "CHECK THAT SKIP_LINE SETS COLUMN, " & 62 "LINE, AND PAGE NUMBERS CORRECTLY"); 63 64 BEGIN 65 CREATE (FILE, OUT_FILE, LEGAL_FILE_NAME); 66 EXCEPTION 67 WHEN USE_ERROR => 68 NOT_APPLICABLE ("USE_ERROR RAISED; TEXT CREATE " & 69 "WITH OUT_FILE MODE"); 70 RAISE INCOMPLETE; 71 WHEN NAME_ERROR => 72 NOT_APPLICABLE ("NAME_ERROR RAISED; TEXT CREATE " & 73 "WITH OUT_FILE MODE"); 74 RAISE INCOMPLETE; 75 WHEN OTHERS => 76 FAILED ("UNEXPECTED EXCEPTION RAISED; TEXT CREATE"); 77 RAISE INCOMPLETE; 78 END; 79 80 PUT (FILE, CHAR); 81 NEW_LINE (FILE); 82 PUT (FILE, CHAR); 83 NEW_PAGE (FILE); 84 PUT (FILE, CHAR); 85 86 CLOSE (FILE); 87 88 BEGIN 89 OPEN (FILE, IN_FILE, LEGAL_FILE_NAME); 90 EXCEPTION 91 WHEN USE_ERROR => 92 NOT_APPLICABLE ("USE_ERROR RAISED; TEXT OPEN " & 93 "WITH IN_FILE MODE"); 94 RAISE INCOMPLETE; 95 END; 96 97 IF (LINE (FILE) /= ONE) OR (PAGE (FILE) /= ONE) THEN 98 FAILED ("INCORRECT LINE AND PAGE NUMBERS"); 99 ELSE 100 101-- LINE TERMINATOR NOT FOLLOWED BY PAGE TERMINATOR 102 103 GET (FILE, CHAR); 104 105 IF CHAR /= 'C' THEN 106 FAILED ("INCORRECT VALUE READ - 1"); 107 END IF; 108 109 SKIP_LINE (FILE); 110 IF LINE (FILE) /= TWO THEN 111 FAILED ("FIRST SUBTEST - LINE NOT INCREMENTED"); 112 END IF; 113 IF COL (FILE) /= ONE THEN 114 FAILED ("FIRST SUBTEST - COLUMN NOT SET TO ONE"); 115 END IF; 116 117-- LINE TERMINATOR FOLLOWED BY PAGE TERMINATOR 118 119 GET (FILE, CHAR); 120 121 IF CHAR /= 'C' THEN 122 FAILED ("INCORRECT VALUE READ - 2"); 123 END IF; 124 125 SKIP_LINE (FILE); 126 IF LINE (FILE) /= ONE THEN 127 FAILED ("SECOND SUBTEST - LINE NOT SET TO ONE"); 128 END IF; 129 IF COL (FILE) /= ONE THEN 130 FAILED ("SECOND SUBTEST - COLUMN NOT SET TO ONE"); 131 END IF; 132 IF PAGE (FILE) /= TWO THEN 133 FAILED ("SECOND SUBTEST - PAGE NOT INCREMENTED"); 134 END IF; 135 END IF; 136 137 BEGIN 138 DELETE (FILE); 139 EXCEPTION 140 WHEN USE_ERROR => 141 NULL; 142 END; 143 144 RESULT; 145 146EXCEPTION 147 WHEN INCOMPLETE => 148 RESULT; 149 150END CE3403E; 151