diff options
| author | xue <> | 2006-04-22 12:53:22 +0000 | 
|---|---|---|
| committer | xue <> | 2006-04-22 12:53:22 +0000 | 
| commit | 72a75d7d0f5681df3fd98c684ab6f22baefb365c (patch) | |
| tree | 40cc63eb41f47e0ac392c692619640dca57cd262 | |
| parent | 3ad074e9410153fefaa2343165a68a355400fd6e (diff) | |
Merge from 3.0 branch till 956.
7 files changed, 26 insertions, 18 deletions
| diff --git a/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.page b/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.page index 97fe260c..c079e875 100644 --- a/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.page +++ b/demos/quickstart/protected/pages/Controls/Samples/TRadioButtonList/Home.page @@ -135,7 +135,7 @@ Auto postback radio button list: -<h2>Checkbox Lists with DataBinding</h2>
 +<h2>Radio Button Lists with DataBinding</h2>
  <table class="sampletable">
 diff --git a/framework/Web/UI/WebControls/TCheckBox.php b/framework/Web/UI/WebControls/TCheckBox.php index c3e5e640..ff7f57f7 100644 --- a/framework/Web/UI/WebControls/TCheckBox.php +++ b/framework/Web/UI/WebControls/TCheckBox.php @@ -307,12 +307,11 @@ class TCheckBox extends TWebControl implements IPostBackDataHandler, IValidatabl  	{
  		$attributes=$this->getViewState('InputAttributes',null);
  		if($attributes && $attributes->contains('value'))
 -			$value=$attributes->itemAt('value');
 +			return $attributes->itemAt('value');
  		else if($this->hasAttribute('value'))
 -			$value=$this->getAttribute('value');
 +			return $this->getAttribute('value');
  		else
 -			$value='';
 -		return $value===''?$this->getUniqueID():$value;
 +			return '';
  	}
  	/**
 @@ -341,7 +340,8 @@ class TCheckBox extends TWebControl implements IPostBackDataHandler, IValidatabl  		if($clientID!=='')
  			$writer->addAttribute('id',$clientID);
  		$writer->addAttribute('type','checkbox');
 -		$writer->addAttribute('value',$this->getValueAttribute());
 +		if(($value=$this->getValueAttribute())!=='')
 +			$writer->addAttribute('value',$value);
  		if(($uniqueID=$this->getUniqueID())!=='')
  			$writer->addAttribute('name',$uniqueID);
  		if($this->getChecked())
 diff --git a/framework/Web/UI/WebControls/TRadioButton.php b/framework/Web/UI/WebControls/TRadioButton.php index dc5320b6..9a523b55 100644 --- a/framework/Web/UI/WebControls/TRadioButton.php +++ b/framework/Web/UI/WebControls/TRadioButton.php @@ -101,6 +101,14 @@ class TRadioButton extends TCheckBox  		$this->setViewState('GroupName',$value,'');
  	}
 +	protected function getValueAttribute()
 +	{
 +		if(($value=parent::getValueAttribute())==='')
 +			return $this->getUniqueID();
 +		else
 +			return $value;
 +	}
 +
  	/**
  	 * @return string the name used to fetch radiobutton post data
  	 */
 diff --git a/tests/FunctionalTests/quickstart/Controls/CheckBoxTestCase.php b/tests/FunctionalTests/quickstart/Controls/CheckBoxTestCase.php index 324c243f..f93786ab 100644 --- a/tests/FunctionalTests/quickstart/Controls/CheckBoxTestCase.php +++ b/tests/FunctionalTests/quickstart/Controls/CheckBoxTestCase.php @@ -9,28 +9,28 @@ class CheckBoxTestCase extends SeleniumTestCase  		$this->verifyTitle("PRADO QuickStart Sample", "");
  		// a regular checkbox
 -		$this->click("//input[@name='ctl0\$body\$ctl0' and @value='ctl0\$body\$ctl0']", "");
 +		$this->click("//input[@name='ctl0\$body\$ctl0']", "");
  		// a checkbox with customized value
  		$this->click("//input[@name='ctl0\$body\$ctl1' and @value='value']", "");
  		// an auto postback checkbox
  		$this->verifyTextNotPresent("I'm clicked");
 -		$this->clickAndWait("//input[@name='ctl0\$body\$ctl2' and @value='ctl0\$body\$ctl2']", "");
 +		$this->clickAndWait("//input[@name='ctl0\$body\$ctl2']", "");
  		$this->verifyTextPresent("I'm clicked");
 -		$this->clickAndWait("//input[@name='ctl0\$body\$ctl2' and @value='ctl0\$body\$ctl2']", "");
 +		$this->clickAndWait("//input[@name='ctl0\$body\$ctl2']", "");
  		$this->verifyTextPresent("I'm clicked");
  		// a checkbox causing validation on a textbox
  		$this->verifyNotVisible('ctl0_body_ctl3');
 -		$this->click("//input[@name='ctl0\$body\$ctl4' and @value='ctl0\$body\$ctl4']", "");
 +		$this->click("//input[@name='ctl0\$body\$ctl4']", "");
  //		$this->pause(1000);
  		$this->verifyVisible('ctl0_body_ctl3');
 -		$this->click("//input[@name='ctl0\$body\$ctl4' and @value='ctl0\$body\$ctl4']", "");
 +		$this->click("//input[@name='ctl0\$body\$ctl4']", "");
  //		$this->pause(1000);
  		$this->verifyVisible('ctl0_body_ctl3');
  		$this->type("ctl0\$body\$TextBox", "test");
 -		$this->clickAndWait("//input[@name='ctl0\$body\$ctl4' and @value='ctl0\$body\$ctl4']", "");
 +		$this->clickAndWait("//input[@name='ctl0\$body\$ctl4']", "");
  		$this->verifyNotVisible('ctl0_body_ctl3');
  		// a checkbox validated by a required field validator
 @@ -38,13 +38,13 @@ class CheckBoxTestCase extends SeleniumTestCase  		$this->click("//input[@type='submit' and @value='Submit']", "");
  //		$this->pause(1000);
  		$this->verifyVisible('ctl0_body_ctl6');
 -		$this->click("//input[@name='ctl0\$body\$CheckBox' and @value='ctl0\$body\$CheckBox']", "");
 +		$this->click("//input[@name='ctl0\$body\$CheckBox']", "");
  		$this->clickAndWait("//input[@type='submit' and @value='Submit']", "");
  		$this->verifyNotVisible('ctl0_body_ctl6');
  		// a checkbox validated by a required field validator using AutoPostBack
  		$this->verifyNotVisible('ctl0_body_ctl7');
 -		$this->click("//input[@name='ctl0\$body\$CheckBox2' and @value='ctl0\$body\$CheckBox2']", "");
 +		$this->click("//input[@name='ctl0\$body\$CheckBox2']", "");
  //		$this->pause(1000);
  		$this->verifyVisible('ctl0_body_ctl7');
  //		$this->clickAndWait("//input[@name='ctl0\$body\$CheckBox2' and @value='ctl0\$body\$CheckBox2']", "");
 diff --git a/tests/FunctionalTests/quickstart/Controls/DataGrid3TestCase.php b/tests/FunctionalTests/quickstart/Controls/DataGrid3TestCase.php index b92cc9f5..4f53a38e 100644 --- a/tests/FunctionalTests/quickstart/Controls/DataGrid3TestCase.php +++ b/tests/FunctionalTests/quickstart/Controls/DataGrid3TestCase.php @@ -19,7 +19,7 @@ class DataGrid3TestCase extends SeleniumTestCase  		$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->click("//input[@name='ctl0\$body\$DataGrid\$ctl2\$ctl10']", "");
  		$this->select("ctl0\$body\$DataGrid\$ctl2\$Rating", "label=1");
  		$this->clickAndWait("link=Save", "");
 diff --git a/tests/FunctionalTests/quickstart/Controls/DataList2TestCase.php b/tests/FunctionalTests/quickstart/Controls/DataList2TestCase.php index 9b6e98d2..8b4e6811 100644 --- a/tests/FunctionalTests/quickstart/Controls/DataList2TestCase.php +++ b/tests/FunctionalTests/quickstart/Controls/DataList2TestCase.php @@ -22,7 +22,7 @@ class DataList2TestCase extends SeleniumTestCase  		$this->clickAndWait("id=ctl0_body_DataList_ctl5_ctl0", "");
  		$this->type("ctl0\$body\$DataList\$ctl5\$ProductQuantity", "11");
  		$this->type("ctl0\$body\$DataList\$ctl5\$ProductPrice", "140.99");
 -		$this->click("//input[@name='ctl0\$body\$DataList\$ctl5\$ProductImported' and @value='ctl0\$body\$DataList\$ctl5\$ProductImported']", "");
 +		$this->click("//input[@name='ctl0\$body\$DataList\$ctl5\$ProductImported']", "");
  		$this->clickAndWait("link=Save", "");
  		// verify item is saved
 @@ -34,7 +34,7 @@ class DataList2TestCase extends SeleniumTestCase  		$this->clickAndWait("id=ctl0_body_DataList_ctl3_ctl1", "");
  		$this->type("ctl0\$body\$DataList\$ctl3\$ProductName", "Hard Drive");
  		$this->type("ctl0\$body\$DataList\$ctl3\$ProductQuantity", "23");
 -		$this->click("//input[@name='ctl0\$body\$DataList\$ctl3\$ProductImported' and @value='ctl0\$body\$DataList\$ctl3\$ProductImported']", "");
 +		$this->click("//input[@name='ctl0\$body\$DataList\$ctl3\$ProductImported']", "");
  		$this->clickAndWait("link=Cancel", "");
  		// verify item is canceled
 diff --git a/tests/FunctionalTests/quickstart/Controls/PanelTestCase.php b/tests/FunctionalTests/quickstart/Controls/PanelTestCase.php index 32134512..a73c76d4 100644 --- a/tests/FunctionalTests/quickstart/Controls/PanelTestCase.php +++ b/tests/FunctionalTests/quickstart/Controls/PanelTestCase.php @@ -8,7 +8,7 @@ class PanelTestCase extends SeleniumTestCase  		$this->verifyTextPresent("This is panel content with", "");
  		$this->verifyElementPresent("//span[text()='label']");
  		$this->verifyTextPresent("grouping text", "");
 -		$this->click("//input[@name='ctl0\$body\$ctl17' and @value='ctl0\$body\$ctl17']", "");
 +		$this->click("//input[@name='ctl0\$body\$ctl17']", "");
  		$this->verifyTextNotPresent("You have clicked on 'button2'.");
  		$this->clickAndWait("//input[@type='submit' and @value='button2']", "");
  		$this->verifyTextPresent("You have clicked on 'button2'.");
 | 
