diff options
5 files changed, 139 insertions, 1 deletions
| diff --git a/.gitattributes b/.gitattributes index b9ee5322..dcde542b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -785,6 +785,9 @@ tests/FunctionalTests/quickstart/Controls/BulletedListTestCase.php -text  tests/FunctionalTests/quickstart/Controls/ButtonTestCase.php -text  tests/FunctionalTests/quickstart/Controls/CheckBoxListTestCase.php -text  tests/FunctionalTests/quickstart/Controls/CheckBoxTestCase.php -text +tests/FunctionalTests/quickstart/Controls/DataGrid1TestCase.php -text +tests/FunctionalTests/quickstart/Controls/DataGrid2TestCase.php -text +tests/FunctionalTests/quickstart/Controls/DataGrid3TestCase.php -text  tests/FunctionalTests/quickstart/Controls/DataList1TestCase.php -text  tests/FunctionalTests/quickstart/Controls/DataList2TestCase.php -text  tests/FunctionalTests/quickstart/Controls/DropDownListTestCase.php -text diff --git a/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample2.php b/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample2.php index 03795910..d40e3be3 100644 --- a/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample2.php +++ b/demos/quickstart/protected/pages/Controls/Samples/TDataGrid/Sample2.php @@ -54,7 +54,7 @@ class Sample2 extends TPage  				'rating'=>4,
  			),
  			array(
 -				'ISBN'=>'0321278658 ',
 +				'ISBN'=>'0321278658',
  				'title'=>'Extreme Programming Explained : Embrace Change',
  				'publisher'=>'Addison-Wesley Professional',
  				'price'=>34.99,
 diff --git a/tests/FunctionalTests/quickstart/Controls/DataGrid1TestCase.php b/tests/FunctionalTests/quickstart/Controls/DataGrid1TestCase.php new file mode 100644 index 00000000..d20a7955 --- /dev/null +++ b/tests/FunctionalTests/quickstart/Controls/DataGrid1TestCase.php @@ -0,0 +1,33 @@ +<?php
 +
 +class DataGrid1TestCase extends SeleniumTestCase
 +{
 +	function test()
 +	{
 +		$this->open("../../demos/quickstart/index.php?page=Controls.Samples.TDataGrid.Sample1&notheme=true", "");
 +
 +		// verify if all required texts are present
 +		$this->verifyTextPresent('id','');
 +		$this->verifyTextPresent('name','');
 +		$this->verifyTextPresent('quantity','');
 +		$this->verifyTextPresent('price','');
 +		$this->verifyTextPresent('imported','');
 +		$this->verifyTextPresent('ITN001','');
 +		$this->verifyTextPresent('Motherboard','');
 +		$this->verifyTextPresent('100','');
 +		$this->verifyTextPresent('true','');
 +		$this->verifyTextPresent('ITN019','');
 +		$this->verifyTextPresent('Speaker','');
 +		$this->verifyTextPresent('35','');
 +		$this->verifyTextPresent('65','');
 +		$this->verifyTextPresent('false','');
 +
 +		// verify specific table tags
 +		$this->verifyElementPresent("ctl0_body_DataGrid");
 +		$this->verifyAttribute("ctl0_body_DataGrid@rules","all");
 +		$this->verifyAttribute("ctl0_body_DataGrid@cellpadding","2");
 +		$this->verifyAttribute("ctl0_body_DataGrid@cellspacing","0");
 +	}
 +}
 +
 +?>
\ No newline at end of file diff --git a/tests/FunctionalTests/quickstart/Controls/DataGrid2TestCase.php b/tests/FunctionalTests/quickstart/Controls/DataGrid2TestCase.php new file mode 100644 index 00000000..64c44fc3 --- /dev/null +++ b/tests/FunctionalTests/quickstart/Controls/DataGrid2TestCase.php @@ -0,0 +1,51 @@ +<?php
 +
 +class DataGrid2TestCase extends SeleniumTestCase
 +{
 +	function test()
 +	{
 +		$this->open("../../demos/quickstart/index.php?page=Controls.Samples.TDataGrid.Sample2&notheme=true", "");
 +
 +		// verify if all required texts are present
 +		$this->verifyTextPresent('Book Title','');
 +		$this->verifyTextPresent('Publisher','');
 +		$this->verifyTextPresent('Price','');
 +		$this->verifyTextPresent('In-stock','');
 +		$this->verifyTextPresent('Rating','');
 +
 +		// verify book titles
 +		$this->verifyElementPresent("//a[@href='http://www.amazon.com/gp/product/0596007124' and text()='Head First Design Patterns']",'');
 +		$this->verifyElementPresent("//a[@href='http://www.amazon.com/gp/product/0321278658' and text()='Extreme Programming Explained : Embrace Change']",'');
 +
 +		// verify publishers
 +		$this->verifyTextPresent("O'Reilly Media, Inc.",'');
 +		$this->verifyTextPresent("Addison-Wesley Professional",'');
 +
 +		// verify prices
 +		$this->verifyTextPresent("\$37.49",'');
 +		$this->verifyTextPresent("\$38.49",'');
 +
 +		// verify in-stock
 +		$this->verifyAttribute('ctl0_body_DataGrid_ctl1_ctl6@checked','regexp:true|checked');
 +		$this->verifyAttribute('ctl0_body_DataGrid_ctl1_ctl6@disabled','regexp:true|disabled');
 +		$this->verifyAttribute('ctl0_body_DataGrid_ctl2_ctl6@checked','regexp:true|checked');
 +		$this->verifyAttribute('ctl0_body_DataGrid_ctl6_ctl6@checked','regexp:false|null');
 +		$this->verifyAttribute('ctl0_body_DataGrid_ctl6_ctl6@disabled','regexp:true|disabled');
 +
 +		// verify ratings
 +		//$this->verifyElementPresent("//img[@src='images/star5.gif']",'');
 +		//$this->verifyElementPresent("//img[@src='images/star2.gif']",'');
 +
 +		// verify toggle column visibility
 +		$this->clickAndWait("//input[@name='ctl0\$body\$ctl1\$0' and @value='Book Title']", "");
 +		$this->verifyTextNotPresent('Head First Design Patterns','');
 +		$this->clickAndWait("//input[@name='ctl0\$body\$ctl1\$3' and @value='In-stock']", "");
 +		$this->verifyElementNotPresent('ctl0_body_DataGrid_ctl1_ctl6','');
 +		$this->clickAndWait("//input[@name='ctl0\$body\$ctl1$3' and @value='In-stock']", "");
 +		$this->verifyElementPresent('ctl0_body_DataGrid_ctl1_ctl6','');
 +		$this->clickAndWait("//input[@name='ctl0\$body\$ctl1$0' and @value='Book Title']", "");
 +		$this->verifyTextPresent('Head First Design Patterns','');
 +	}
 +}
 +
 +?>
\ No newline at end of file diff --git a/tests/FunctionalTests/quickstart/Controls/DataGrid3TestCase.php b/tests/FunctionalTests/quickstart/Controls/DataGrid3TestCase.php new file mode 100644 index 00000000..80e1c0e4 --- /dev/null +++ b/tests/FunctionalTests/quickstart/Controls/DataGrid3TestCase.php @@ -0,0 +1,51 @@ +<?php
 +
 +class DataGrid3TestCase extends SeleniumTestCase
 +{
 +	function test()
 +	{
 +		$this->open("../../demos/quickstart/index.php?page=Controls.Samples.TDataGrid.Sample3&notheme=true", "");
 +
 +		// verify the 2nd row of data
 +		$this->verifyTextPresent("Design Patterns: Elements of Reusable Object-Oriented Software", "");
 +		$this->verifyTextPresent("Addison-Wesley Professional", "");
 +		$this->verifyTextPresent("$47.04", "");
 +		$this->verifyAttribute('ctl0_body_DataGrid_ctl2_ctl7@checked','regexp:true|checked');
 +		$this->verifyAttribute('ctl0_body_DataGrid_ctl2_ctl7@disabled','regexp:true|disabled');
 +		//$this->verifyElementPresent("//img[@src='images/star5.gif']",'');
 +
 +		// edit the 2nd row
 +		$this->clickAndWait("id=ctl0_body_DataGrid_ctl2_ctl9", "");
 +		$this->type("ctl0\$body\$DataGrid\$ctl2\$ctl7", "Design Pattern: Elements of Reusable Object-Oriented Software");
 +		$this->type("ctl0\$body\$DataGrid\$ctl2\$ctl8", "Addison Wesley Professional");
 +		$this->type("ctl0\$body\$DataGrid\$ctl2\$ctl9", "\$57.04");
 +		$this->click("//input[@name='ctl0\$body\$DataGrid\$ctl2\$ctl10' and @value='ctl0\$body\$DataGrid\$ctl2\$ctl10']", "");
 +		$this->select("ctl0\$body\$DataGrid\$ctl2\$Rating", "label=1");
 +		$this->clickAndWait("link=Save", "");
 +
 +		// verify the 2nd row is saved
 +		$this->verifyTextPresent("Design Pattern: Elements of Reusable Object-Oriented Software", "");
 +		$this->verifyTextPresent("Addison Wesley Professional", "");
 +		$this->verifyTextPresent("$57.04", "");
 +		$this->verifyAttribute('ctl0_body_DataGrid_ctl2_ctl7@checked','regexp:false|null');
 +		$this->verifyAttribute('ctl0_body_DataGrid_ctl2_ctl7@disabled','regexp:true|disabled');
 +		//$this->verifyElementPresent("//img[@src='images/star1.gif']",'');
 +
 +		// verify cancel editting the 3rd row
 +		$this->clickAndWait("id=ctl0_body_DataGrid_ctl3_ctl9", "");
 +		$this->clickAndWait("link=Cancel", "");
 +		$this->verifyTextPresent("Design Patterns Explained : A New Perspective on Object-Oriented Design", "");
 +
 +		// verify deleting
 +		$this->clickAndWait("id=ctl0_body_DataGrid_ctl3_ctl10", "");
 +		$this->verifyConfirmation("Are you sure?");
 +		$this->verifyTextNotPresent("Design Patterns Explained : A New Perspective on Object-Oriented Design", "");
 +
 +		$this->verifyTextPresent("Extreme Programming Explained : Embrace Change",'');
 +		$this->chooseCancelOnNextConfirmation();
 +		$this->click("id=ctl0_body_DataGrid_ctl5_ctl10", "");
 +		$this->verifyTextPresent("Extreme Programming Explained : Embrace Change",'');
 +	}
 +}
 +
 +?>
\ No newline at end of file | 
