WITH REPORT;
USE REPORT;
WITH TEXT_IO;
USE TEXT_IO;
PROCEDURE CE3407C IS
INCOMPLETE : EXCEPTION;
FILE_IN : FILE_TYPE;
CHAR : CHARACTER := 'C';
ITEM_CHAR : CHARACTER;
BEGIN
TEST ("CE3407C", "CHECK THAT THE FILE PARAMETER OF END_OF_PAGE " &
"IS OPTIONAL, AND THAT THE FUNCTION IS THEN " &
"APPLIED TO THE CURRENT DEFAULT INPUT FILE");
BEGIN
CREATE (FILE_IN, OUT_FILE, LEGAL_FILE_NAME);
EXCEPTION
WHEN USE_ERROR =>
NOT_APPLICABLE ("USE_ERROR RAISED ON TEXT CREATE WITH " &
"MODE OUT_FILE");
RAISE INCOMPLETE;
WHEN NAME_ERROR =>
NOT_APPLICABLE ("NAME_ERROR RAISED ON TEXT CREATE " &
"WITH MODE OUT_FILE");
RAISE INCOMPLETE;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RAISED ON TEXT CREATE");
RAISE INCOMPLETE;
END;
FOR I IN 1..3 LOOP
PUT (FILE_IN, CHAR);
END LOOP;
NEW_PAGE (FILE_IN);
PUT (FILE_IN, 'D');
CLOSE (FILE_IN);
BEGIN
OPEN (FILE_IN, IN_FILE, LEGAL_FILE_NAME);
EXCEPTION
WHEN USE_ERROR =>
NOT_APPLICABLE ("USE_ERROR RAISED ON TEXT OPEN WITH " &
"IN_FILE MODE");
RAISE INCOMPLETE;
END;
SET_INPUT (FILE_IN);
IF END_OF_PAGE THEN
FAILED ("INCORRECT VALUE AT FIRST POSITION");
END IF;
IF END_OF_PAGE /= END_OF_PAGE (FILE_IN) THEN
FAILED ("END OF PAGE DOES NOT OPERATE WITH DEFAULT FILE");
END IF;
GET (ITEM_CHAR);
GET (ITEM_CHAR);
GET (ITEM_CHAR);
IF END_OF_PAGE /= TRUE THEN
FAILED ("INCORRECT VALUE BEFORE PAGE TERMINATOR");
END IF;
IF END_OF_PAGE /= END_OF_PAGE (FILE_IN) THEN
FAILED ("END_OF_PAGE WITHOUT PARAMETER DOES " &
"NOT OPERATE ON THE DEFAULT INPUT FILE");
END IF;
GET (ITEM_CHAR);
IF NOT (END_OF_PAGE) THEN
FAILED ("INCORRECT VALUE AT LAST POSITION");
END IF;
BEGIN
DELETE (FILE_IN);
EXCEPTION
WHEN USE_ERROR =>
NULL;
END;
RESULT;
EXCEPTION
WHEN INCOMPLETE =>
RESULT;
END CE3407C;