示例#1
0
 protected override void OnPreRender(EventArgs e)
 {
     // O valor por omissão é 'true' pelo que no primeiro acesso está válido
     // porque não foi avaliado. Assim não é preciso testar essa situação.
     if (!this.IsValid)
     {
         Page.Session[CAPTCHA_KEY] = data = CreateCaptchaData();
     }
     base.OnPreRender(e);
 }
示例#2
0
        public void ConstructorTest()
        {
            string code = "examplecode";

            string id = "someid";

            CaptchaData target = new CaptchaData(code, id);
            Assert.AreEqual<string>("examplecode", target.Code);
            Assert.AreEqual<string>("someid", target.Id);
            Assert.AreEqual<string>("http://services.sapo.pt/Captcha/Show?id=someid", target.Url);
        }
示例#3
0
 protected override void OnLoad(EventArgs e)
 {
     if (Page.IsPostBack)
     {
         data = Page.Session[CAPTCHA_KEY] as CaptchaData;
     }
     else
     {
         Page.Session[CAPTCHA_KEY] = data = CreateCaptchaData();
     }
     base.OnLoad(e);
 }
示例#4
0
        public void GenerateTest()
        {
            MockRepository mock = new MockRepository();

            CaptchaGenerator generator = CreateGenerator(
                "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                    "<Captcha xmlns=\"http://services.sapo.pt/Metadata/Captcha\">" +
                    "<id>59094f26e1e7129b2d52c7f47b571468a7a92e55</id><code>redes900</code><msg>ok</msg>" +
                    "</Captcha>",
                mock);

            CaptchaData expected = new CaptchaData("redes900", "59094f26e1e7129b2d52c7f47b571468a7a92e55");
            CaptchaData actual = generator.Generate();

            Assert.AreEqual(expected.Id, actual.Id, "Incorrect id.");
            Assert.AreEqual(expected.Code, actual.Code, "Incorrect code.");
            Assert.AreEqual(expected.Url, actual.Url, "Incorrect url.");

            mock.VerifyAll();
        }