-- TestMailer.mesa; edited by HGM, March 24, 1981 1:37 AM DIRECTORY Mailer USING [Level, SendMailViaGV, SendMailViaMTP], Put USING [Line], Window USING [Handle]; TestMailer: PROGRAM IMPORTS Mailer, Put = BEGIN wh: Window.Handle = NIL; Info: PROCEDURE [s: STRING, level: Mailer.Level] = BEGIN Put.Line[wh, s]; END; proc: PROCEDURE [from, subject, to, cc: STRING, body: LONG STRING, sender, password: STRING, info: PROCEDURE [s: STRING, level: Mailer.Level]] RETURNS [worked: BOOLEAN]; hgm: STRING = "Murray.PA"; subject: STRING = "Testing"; body: STRING = "This is the body of a test message. Throw it out. "; DoOneTest: PROCEDURE [from, to, cc, sender: STRING] = BEGIN IF ~proc[from, subject, to, cc, body, sender, NIL, Info] THEN Put.Line[wh, "Failed....."] ELSE Put.Line[wh, "Worked..."]; END; RunTests: PROCEDURE [] = BEGIN -- These should work DoOneTest[hgm, hgm, NIL, hgm]; DoOneTest["foo", hgm, NIL, hgm]; -- These should work but complain a bit DoOneTest[hgm, "foo.PA, Murray.PA", NIL, hgm]; DoOneTest["foo", hgm, "foo.PA", hgm]; DoOneTest["foo", hgm, "foo", hgm]; -- These should fail DoOneTest[hgm, "foo", NIL, hgm]; DoOneTest[hgm, "foo.PA", NIL, hgm]; DoOneTest[hgm, hgm, NIL, "foo.PA"]; DoOneTest[hgm, hgm, NIL, "foo"]; END; Put.Line[wh,"Trying GV..."L]; proc _ Mailer.SendMailViaGV; RunTests[]; Put.Line[wh,"Trying MTP..."L]; proc _ Mailer.SendMailViaMTP; RunTests[]; END.