<?php class QuickstartTextBoxTestCase extends PradoGenericSelenium2Test { function test () { $this->url("../../demos/quickstart/index.php?page=Controls.Samples.TTextBox.Home&notheme=true&lang=en"); $this->assertEquals("PRADO QuickStart Sample", $this->title()); // a normal textbox $this->type("ctl0\$body\$ctl0", "test"); // textbox with maxlength set $this->assertAttribute("ctl0\$body\$ctl1@size","4"); $this->assertAttribute("ctl0\$body\$ctl1@maxlength","6"); $this->type("ctl0\$body\$ctl1", "textte"); // vCard textboxes $this->assertAttribute("ctl0\$body\$ctl2@vcard_name","vCard.FirstName"); $this->type("ctl0\$body\$ctl2", "first"); $this->assertAttribute("ctl0\$body\$ctl3@vcard_name","vCard.LastName"); $this->type("ctl0\$body\$ctl3", "last"); // a disabled textbox $this->assertAttribute("ctl0\$body\$ctl4@disabled","regexp:true|disabled"); // a read-only textbox $this->assertAttribute("ctl0\$body\$ctl5@readonly","regexp:true|readonly"); // auto postback textbox, CausesValidation=false $this->assertValue("ctl0\$body\$ctl6", "change me"); $this->typeSpecial("ctl0\$body\$ctl6", "change mes"); $this->assertValue("ctl0\$body\$ctl6", "text changed"); // auto postback textbox, CausesValidation=true $this->assertNotVisible('ctl0_body_ctl7'); $this->typeSpecial("ctl0\$body\$TextBox3", "test"); // $this->pause(1000); $this->assertVisible('ctl0_body_ctl7'); $this->typeSpecial("ctl0\$body\$TextBox3", "non test"); $this->assertNotVisible('ctl0_body_ctl7'); // submitting textbox with a button $this->type("ctl0\$body\$TextBox1", "texttext"); $this->byXPath("//input[@type='submit' and @value='Submit']")->click(); $this->assertValue("ctl0\$body\$TextBox1", "You just entered 'texttext'."); // SafeText $this->assertText("ctl0_body_Output","test"); $this->typeSpecial("ctl0\$body\$TextBox2","<a href=javascript:xxx>malicious code</a>"); $this->assertText("ctl0_body_Output","malicious code"); // password $this->assertAttribute("ctl0\$body\$ctl9@type","password"); // ------------------multiline textbox---------------------- // regular textbox $this->type("ctl0\$body\$ctl10", "This is a\nmultiline\ntextbox."); $this->type("ctl0\$body\$ctl11", "This is a multiline text box. In HTML, it is displayed as a textarea. End of message "); // a disabled multiline textbox $this->assertAttribute("ctl0\$body\$ctl12@disabled","regexp:true|disabled"); // a read-only multiline textbox $this->assertAttribute("ctl0\$body\$ctl13@readonly","regexp:true|readonly"); $this->assertAttribute("ctl0\$body\$ctl13@wrap","off"); // auto postback textbox $this->assertValue("ctl0\$body\$ctl14", "change me"); $this->typeSpecial("ctl0\$body\$ctl14", "change mes"); $this->assertValue("ctl0\$body\$ctl14", "text changed"); $this->assertValue("ctl0\$body\$ctl10", "This is a\nmultiline\ntextbox."); $this->assertValue("ctl0\$body\$ctl11", "This is a multiline text box. In HTML, it is displayed as a textarea. End of message "); // textbox associated with a validator $this->assertNotVisible('ctl0_body_ctl15'); $this->typeSpecial("ctl0\$body\$MultiTextBox3", "demo"); // $this->pause(1000); $this->assertVisible('ctl0_body_ctl15'); $this->typeSpecial("ctl0\$body\$MultiTextBox3", "non demo"); $this->assertNotVisible('ctl0_body_ctl15'); } }