WITH REPORT; USE REPORT;
WITH TEXT_IO; USE TEXT_IO;
PROCEDURE EE3204A IS
FILE1, FILE2 : FILE_TYPE;
ITEM : CHARACTER := 'B';
INCOMPLETE : EXCEPTION;
BEGIN
TEST ("EE3204A", "CHECK THAT AFTER THE DEFAULT FILES HAVE BEEN " &
"REDEFINED, OUTPUT ON THE STANDARD " &
"FILES IS STILL PROPERLY HANDLED");
BEGIN
BEGIN
CREATE (FILE1, OUT_FILE, LEGAL_FILE_NAME);
EXCEPTION
WHEN USE_ERROR =>
NOT_APPLICABLE ("USE_ERROR RAISED ON CREATE " &
"WITH MODE OUT_FILE");
RAISE INCOMPLETE;
WHEN NAME_ERROR =>
NOT_APPLICABLE ("NAME_ERROR RAISED ON CREATE " &
"WITH MODE OUT_FILE");
RAISE INCOMPLETE;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RAISED ON CREATE");
RAISE INCOMPLETE;
END;
CREATE (FILE2, OUT_FILE, LEGAL_FILE_NAME(2));
PUT (FILE2, 'A');
NEW_LINE (FILE2);
PUT (FILE2, 'B');
CLOSE (FILE2);
BEGIN
OPEN (FILE2, IN_FILE, LEGAL_FILE_NAME(2));
EXCEPTION
WHEN USE_ERROR =>
NOT_APPLICABLE ("USE_ERROR RAISED ON OPEN WITH " &
"WITH MODE IN_FILE");
RAISE INCOMPLETE;
END;
SET_INPUT (FILE2);
GET (ITEM);
IF ITEM /= 'A' THEN
FAILED ("INCORRECT VALUE READ FROM DEFAULT FILE");
END IF;
SET_OUTPUT (FILE1);
PUT ("THIS TEST FAILS IF THIS APPEARS IN STANDARD OUTPUT");
NEW_LINE;
PUT ("THIS TEST FAILS IF THIS APPEARS IN STANDARD OUTPUT");
PUT (STANDARD_OUTPUT, "FIRST LINE OF INPUT");
NEW_LINE (STANDARD_OUTPUT);
PUT (STANDARD_OUTPUT, "SECOND LINE OF INPUT");
SPECIAL_ACTION ("CHECK THAT THE CONTENTS OF THE STANDARD " &
"OUTPUT FILE ARE CORRECT");
SPECIAL_ACTION ("IT SHOULD CONTAIN:");
SPECIAL_ACTION ("TEST HEADER LINES");
SPECIAL_ACTION ("FIRST LINE OF INPUT");
SPECIAL_ACTION ("SECOND LINE OF INPUT");
BEGIN
DELETE (FILE1);
DELETE (FILE2);
EXCEPTION
WHEN USE_ERROR =>
NULL;
END;
EXCEPTION
WHEN INCOMPLETE =>
NULL;
END;
RESULT;
END EE3204A;