WITH REPORT; USE REPORT;
WITH TEXT_IO; USE TEXT_IO;
PROCEDURE CE3601A IS
BEGIN
TEST ("CE3601A", "STATUS_ERROR RAISED BY GET, PUT, GET_LINE, " &
"PUT_LINE WHEN FILE IS NOT OPEN");
DECLARE
FILE1, FILE2 : FILE_TYPE;
CH: CHARACTER := '%';
LST: NATURAL;
ST: STRING (1 .. 10);
LN : STRING (1 .. 80);
BEGIN
BEGIN
GET (FILE => FILE1, ITEM => CH);
FAILED ("STATUS_ERROR NOT RAISED - GET CHARACTER");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - GET CHARACTER");
END;
BEGIN
GET (FILE => FILE1, ITEM => ST);
FAILED ("STATUS_ERROR NOT RAISED - GET STRING");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - GET STRING");
END;
BEGIN
GET_LINE (FILE => FILE1, ITEM => LN, LAST => LST);
FAILED ("STATUS_ERROR NOT RAISED - GET_LINE");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - GET_LINE");
END;
BEGIN
PUT (FILE => FILE1, ITEM => CH);
FAILED ("STATUS_ERROR NOT RAISED - PUT CHARACTER");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - PUT CHARACTER");
END;
BEGIN
PUT (FILE => FILE1, ITEM => ST);
FAILED ("STATUS_ERROR NOT RAISED - PUT STRING");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - PUT STRING");
END;
BEGIN
PUT_LINE (FILE => FILE1, ITEM => LN);
FAILED ("STATUS_ERROR NOT RAISED - PUT_LINE");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - PUT_LINE");
END;
BEGIN
CREATE (FILE2, OUT_FILE); CLOSE (FILE2); EXCEPTION WHEN USE_ERROR =>
NULL;
END;
BEGIN
GET (FILE => FILE2, ITEM => CH);
FAILED ("STATUS_ERROR NOT RAISED - GET CHARACTER");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - GET CHARACTER");
END;
BEGIN
GET (FILE => FILE2, ITEM => ST);
FAILED ("STATUS_ERROR NOT RAISED - GET STRING");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - GET STRING");
END;
BEGIN
GET_LINE (FILE => FILE2, ITEM => LN, LAST => LST);
FAILED ("STATUS_ERROR NOT RAISED - GET_LINE");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - GET_LINE");
END;
BEGIN
PUT (FILE => FILE2, ITEM => CH);
FAILED ("STATUS_ERROR NOT RAISED - PUT CHARACTER");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - PUT CHARACTER");
END;
BEGIN
PUT (FILE => FILE2, ITEM => ST);
FAILED ("STATUS_ERROR NOT RAISED - PUT STRING");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - PUT STRING");
END;
BEGIN
PUT_LINE (FILE => FILE2, ITEM => LN);
FAILED ("STATUS_ERROR NOT RAISED - PUT_LINE");
EXCEPTION
WHEN STATUS_ERROR =>
NULL;
WHEN OTHERS =>
FAILED ("WRONG EXCEPTION RAISED - PUT_LINE");
END;
END;
RESULT;
END CE3601A;