WITH REPORT;
USE REPORT;
WITH TEXT_IO;
USE TEXT_IO;
PROCEDURE CE3413C IS
INCOMPLETE : EXCEPTION;
BEGIN
TEST ("CE3413C", "CHECK THAT PAGE OPERATES ON DEFAULT IN_FILE " &
"AND OUT_FILE FILES");
DECLARE
F1, F2 : FILE_TYPE;
C : POSITIVE_COUNT;
X : CHARACTER;
BEGIN
BEGIN
CREATE (F1, OUT_FILE, LEGAL_FILE_NAME);
EXCEPTION
WHEN USE_ERROR =>
NOT_APPLICABLE ("USE_ERROR RAISED ON TEXT CREATE " &
"WITH OUT_FILE MODE");
RAISE INCOMPLETE;
WHEN NAME_ERROR =>
NOT_APPLICABLE ("NAME_ERROR RAISED ON TEXT " &
"CREATE WITH OUT_FILE MODE");
RAISE INCOMPLETE;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RAISED ON " &
"TEXT CREATE");
RAISE INCOMPLETE;
END;
BEGIN
CREATE (F2, OUT_FILE);
EXCEPTION
WHEN USE_ERROR =>
NOT_APPLICABLE ("USE_ERROR RAISED ON TEXT CREATE " &
"FOR TEMPORARY FILES WITH " &
"OUT_FILE MODE");
RAISE INCOMPLETE;
END;
SET_OUTPUT (F2);
IF PAGE (F2) /= 1 AND PAGE (STANDARD_OUTPUT) /= 1 THEN
FAILED ("PAGE INCORRECT SUBTEST - 1");
END IF;
FOR I IN 1 .. 3 LOOP
PUT (F1, "STRING");
NEW_PAGE (F1);
END LOOP;
IF PAGE (F1) /= 4 THEN
FAILED ("PAGE INCORRECT SUBTEST - 2");
END IF;
SET_LINE_LENGTH (F2, 3);
SET_PAGE_LENGTH (F2, 1);
PUT ("OUTPUT STRING");
IF PAGE /= PAGE(F2) THEN
FAILED ("PAGE INCORRECT SUBTEST - 3");
END IF;
CLOSE (F1);
BEGIN
OPEN (F1, IN_FILE, LEGAL_FILE_NAME);
EXCEPTION
WHEN USE_ERROR =>
NOT_APPLICABLE ("USE_ERROR RAISED ON TEXT OPEN " &
"IN_FILE MODE");
RAISE INCOMPLETE;
END;
SET_INPUT (F1);
IF PAGE (F1) /= 1 THEN
FAILED ("PAGE INCORRECT SUBTEST - 4");
END IF;
SKIP_PAGE(F1);
SKIP_PAGE(F1);
IF PAGE (F1) /= PAGE (CURRENT_INPUT) THEN
FAILED ("PAGE INCORRECT SUBTEST - 5");
END IF;
BEGIN
DELETE (F1);
EXCEPTION
WHEN USE_ERROR =>
NULL;
END;
CLOSE (F2);
EXCEPTION
WHEN INCOMPLETE =>
NULL;
END;
RESULT;
END CE3413C;