WITH REPORT;
USE REPORT;
WITH TEXT_IO;
USE TEXT_IO;
PROCEDURE CE3102A IS
INCOMPLETE : EXCEPTION;
FILE : FILE_TYPE;
BEGIN
TEST ("CE3102A" , "CHECK THAT STATUS_ERROR IS RAISED " &
"APPROPRIATELY FOR TEXT FILES");
BEGIN
CREATE (FILE, OUT_FILE, LEGAL_FILE_NAME);
EXCEPTION
WHEN USE_ERROR =>
NOT_APPLICABLE ("USE_ERROR RAISED ON CREATE WITH " &
"OUT_FILE MODE");
RAISE INCOMPLETE;
WHEN NAME_ERROR =>
NOT_APPLICABLE ("NAME_ERROR RAISED ON CREATE WITH " &
"OUT_FILE MODE");
RAISE INCOMPLETE;
END;
BEGIN
CREATE (FILE, OUT_FILE);
FAILED ("STATUS_ERROR NOT RAISED FOR CREATE - 1");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RAISED FOR CREATE - 1");
END;
BEGIN
CREATE (FILE, IN_FILE);
FAILED ("STATUS_ERROR NOT RAISED FOR CREATE - 2");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RAISED FOR CREATE - 2");
END;
BEGIN
CREATE (FILE, OUT_FILE, LEGAL_FILE_NAME);
FAILED ("STATUS_ERROR NOT RAISED FOR CREATE - 3");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RAISED FOR CREATE - 3");
END;
BEGIN
OPEN (FILE, OUT_FILE, LEGAL_FILE_NAME);
FAILED ("STATUS_ERROR NOT RAISED FOR OPEN - 1");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RAISED FOR OPEN - 1");
END;
BEGIN
OPEN (FILE, IN_FILE, LEGAL_FILE_NAME);
FAILED ("STATUS_ERROR NOT RAISED FOR OPEN - 2");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RAISED FOR OPEN - 2");
END;
BEGIN
OPEN (FILE, IN_FILE, LEGAL_FILE_NAME (2, "CE3102A"));
FAILED ("STATUS_ERROR NOT RAISED FOR OPEN - 3");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RAISED FOR OPEN - 3");
END;
BEGIN
CREATE (FILE, IN_FILE, LEGAL_FILE_NAME (2, "CE3102A"));
FAILED ("STATUS_ERROR NOT RAISED FOR OPEN - 4");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("UNEXPECTED EXCEPTION RAISED FOR OPEN - 4");
END;
BEGIN
DELETE (FILE);
EXCEPTION
WHEN USE_ERROR =>
NULL;
END;
RESULT;
EXCEPTION
WHEN INCOMPLETE =>
RESULT;
END CE3102A;