diff options
24 files changed, 90 insertions, 77 deletions
@@ -1,7 +1,7 @@ -PRADO is free software released under the terms of the following BSD license.
+The PRADO framework and the included demos are freeware.
+They are released under the terms of the following BSD License.
-PRADO is released under the BSD License.
-Copyright 2004-2006, PradoSoft (http://www.pradosoft.com)
+Copyright 2004-2006, The PRADO Group (http://www.pradosoft.com)
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -14,9 +14,9 @@ this list of conditions and the following disclaimer. this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
-- Neither the name of the developer nor the names of its contributors may
-be used to endorse or promote products derived from this software without
-specific prior written permission.
+- Neither the name of the PRADO Group nor the names of its contributors
+may be used to endorse or promote products derived from this software
+without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
@@ -7,6 +7,11 @@ NEW: TQueue (Qiang) NEW: TSessionPageStatePersister (Qiang)
NEW: SQLMap (Wei)
+Version 3.0.2 July 2, 2006
+==========================
+BUG: Ticket#213 - PRADO Requirements Checker charset error (Qiang)
+CHG: ensureChildControls() is now invoked in TControl::initRecursive (Qiang)
+
Version 3.0.1 June 4, 2006
==========================
BUG: Ticket#28 - OnClick does not work with Safari/KHTML (Wei)
@@ -14,6 +14,10 @@ version B between A and C, you need to following the instructions for both A and B.
+Upgrading from v3.0.1
+---------------------
+
+
Upgrading from v3.0.0
---------------------
- URL format is modified when THttpRequest.UrlFormat=='Path'.
@@ -67,4 +71,4 @@ All event names must start with 'On'. Upgrading from v2.x and v1.x
----------------------------
-PRADO v3.x is not backward compatible with v2.x and v1.x.
\ No newline at end of file +PRADO v3.x is not backward compatible with v2.x and v1.x.
diff --git a/demos/blog/protected/Pages/Admin/UserMan.page b/demos/blog/protected/Pages/Admin/UserMan.page index 02b1a069..98c1b6ff 100644 --- a/demos/blog/protected/Pages/Admin/UserMan.page +++ b/demos/blog/protected/Pages/Admin/UserMan.page @@ -35,7 +35,7 @@ HeaderText="Role"
ItemStyle.HorizontalAlign="Center"
ItemStyle.Wrap="false"
- ItemStyle.Width="7px" >
+ ItemStyle.Width="50px" >
<prop:ItemTemplate>
<%# $this->Parent->DataItem->Role===0 ? 'User' : 'Admin' %>
</prop:ItemTemplate>
diff --git a/demos/blog/protected/Portlets/CommentPortlet.php b/demos/blog/protected/Portlets/CommentPortlet.php index 4147d6d3..711059ff 100644 --- a/demos/blog/protected/Portlets/CommentPortlet.php +++ b/demos/blog/protected/Portlets/CommentPortlet.php @@ -24,7 +24,8 @@ class CommentPortlet extends Portlet public function onLoad($param)
{
parent::onLoad($param);
- $comments=$this->Application->getModule('data')->queryComments('','ORDER BY create_time DESC','LIMIT 10');
+ $commentLimit=TPropertyValue::ensureInteger($this->Application->Parameters['RecentComments']);
+ $comments=$this->Application->getModule('data')->queryComments('','ORDER BY create_time DESC',"LIMIT $commentLimit");
foreach($comments as $comment)
{
$comment->ID=$this->Service->constructUrl('Posts.ViewPost',array('id'=>$comment->PostID)).'#c'.$comment->ID;
diff --git a/demos/quickstart/protected/comments/CommentList.php b/demos/quickstart/protected/comments/CommentList.php index 4328991f..3bfb7239 100644 --- a/demos/quickstart/protected/comments/CommentList.php +++ b/demos/quickstart/protected/comments/CommentList.php @@ -43,7 +43,6 @@ class CommentList extends TTemplateControl $this->_quickstart->addNewComment($page, $this->email->getText(), $this->content->getText()); $this->multiView1->setActiveViewIndex(1); - $this->listComments($page); } public function setVisible($value) diff --git a/demos/quickstart/protected/pages/Controls/NewControl.page b/demos/quickstart/protected/pages/Controls/NewControl.page index c2640a33..54465ff7 100644 --- a/demos/quickstart/protected/pages/Controls/NewControl.page +++ b/demos/quickstart/protected/pages/Controls/NewControl.page @@ -122,7 +122,7 @@ Other important properties and methods include: <li><tt>Attributes</tt> - collection of custom attributes. This is useful for allowing users to specify attributes of the output HTML elements that are not covered by control properties.</li>
<li><tt>getViewState()</tt> and <tt>setViewState()</tt> - these methods are commonly used for defining properties that are stored in viewstate.</li>
<li><tt>saveState()</tt> and <tt>loadState()</tt> - these two methods can be overriden to provide last step state saving and loading.</li>
- <li>Control lifecycles - Life page lifecycles, controls also have lifecycles. Each control undergoes the following lifecycles in order: constructor, <tt>onInit()</tt>, <tt>onLoad()</tt>, <tt>onPreRender()</tt>, <tt>render()</tt>, and <tt>onUnload</tt>. More details can be found in the <a href="?page=Fundamentals.Pages">page</a> section.</li>
+ <li>Control lifecycles - Like pages, controls also have lifecycles. Each control undergoes the following lifecycles in order: constructor, <tt>onInit()</tt>, <tt>onLoad()</tt>, <tt>onPreRender()</tt>, <tt>render()</tt>, and <tt>onUnload</tt>. More details can be found in the <a href="?page=Fundamentals.Pages">page</a> section.</li>
</ul>
<h3 id="5408">Extending <tt>TWebControl</tt></h3>
diff --git a/framework/PradoBase.php b/framework/PradoBase.php index 9c6ef96b..608784e9 100644 --- a/framework/PradoBase.php +++ b/framework/PradoBase.php @@ -90,7 +90,7 @@ class PradoBase /**
* Class autoload loader.
- * This method is provided to be invoked within an __auload() magic method.
+ * This method is provided to be invoked within an __autoload() magic method.
* @param string class name
*/
public static function autoload($className)
@@ -645,4 +645,4 @@ else // PHP < 5.1.0 }
}
-?>
\ No newline at end of file +?>
diff --git a/framework/Security/TAuthorizationRule.php b/framework/Security/TAuthorizationRule.php index 8248a45a..5c8f0f9b 100644 --- a/framework/Security/TAuthorizationRule.php +++ b/framework/Security/TAuthorizationRule.php @@ -137,7 +137,7 @@ class TAuthorizationRule extends TComponent }
/**
- * @var boolean if this rule applies to everyone
+ * @return boolean if this rule applies to everyone
*/
public function getEveryoneApplied()
{
diff --git a/framework/Web/Javascripts/datepicker/datepicker.js b/framework/Web/Javascripts/datepicker/datepicker.js index e704e950..11bee07e 100644 --- a/framework/Web/Javascripts/datepicker/datepicker.js +++ b/framework/Web/Javascripts/datepicker/datepicker.js @@ -239,13 +239,6 @@ Prado.WebUI.TDatePicker.prototype = var buttonText = today.SimpleFormat(this.Format,this);
todayButton.value = buttonText;
div.appendChild(todayButton);
-
- /*var clearButton = document.createElement("button");
- clearButton.className = "clearButton";
- buttonText = "Clear";
- clearButton.appendChild(document.createTextNode(buttonText));
- div.appendChild(clearButton);
- */
if(Prado.Browser().ie)
{
@@ -283,10 +276,9 @@ Prado.WebUI.TDatePicker.prototype = Event.observe(calendarBody, "click", this.selectDate.bindEvent(this));
- Event.observe(this.control, "blur", this.hide.bind(this));
Prado.Element.focus(this.control);
- },A
+ },
ieHack : function(cleanup)
{
@@ -308,7 +300,7 @@ Prado.WebUI.TDatePicker.prototype = if (!ev) ev = document.parentWindow.event;
var kc = ev.keyCode != null ? ev.keyCode : ev.charCode;
- if(kc == Event.KEY_RETURN || kc == Event.KEY_SPACEBAR)
+ if(kc == Event.KEY_RETURN || kc == Event.KEY_SPACEBAR || kc == Event.KEY_TAB)
{
this.setSelectedDate(this.selectedDate);
Event.stop(ev);
@@ -318,8 +310,7 @@ Prado.WebUI.TDatePicker.prototype = {
Event.stop(ev); this.hide();
}
-
-
+
var getDaysPerMonth = function (nMonth, nYear)
{
nMonth = (nMonth + 12) % 12;
@@ -600,6 +591,7 @@ Prado.WebUI.TDatePicker.prototype = if(!within) this.hide();
},
+
hide : function()
{
if(this.showing)
@@ -667,11 +659,13 @@ Prado.WebUI.TDatePicker.prototype = hover : function(ev)
{
- //conditionally add the hover class to the event target element.
- if(ev.type == "mouseover")
- Event.element(ev).addClassName("hover");
- else
- Event.element(ev).removeClassName("hover");
+ if(Event.element(ev).tagName)
+ {
+ if(ev.type == "mouseover")
+ Event.element(ev).addClassName("hover");
+ else
+ Event.element(ev).removeClassName("hover");
+ }
},
updateHeader : function () {
diff --git a/framework/Web/Javascripts/js/datepicker.js b/framework/Web/Javascripts/js/datepicker.js index e0bba502..090f3cbd 100644 --- a/framework/Web/Javascripts/js/datepicker.js +++ b/framework/Web/Javascripts/js/datepicker.js @@ -23,10 +23,10 @@ div=document.createElement("div");div.className="calendarFooter";this._calDiv.ap this.iePopUp.scrolling="no" this.iePopUp.frameBorder="0" document.body.appendChild(this.iePopUp);} -document.body.appendChild(this._calDiv);this.update();this.updateHeader();this.ieHack(true);previousMonth.hideFocus=true;nextMonth.hideFocus=true;todayButton.hideFocus=true;Event.observe(previousMonth,"click",this.prevMonth.bindEvent(this));Event.observe(nextMonth,"click",this.nextMonth.bindEvent(this));Event.observe(todayButton,"click",this.selectToday.bindEvent(this));Event.observe(this._monthSelect,"change",this.monthSelect.bindEvent(this));Event.observe(this._yearSelect,"change",this.yearSelect.bindEvent(this));Event.observe(this._calDiv,"mousewheel",this.mouseWheelChange.bindEvent(this));Event.observe(calendarBody,"click",this.selectDate.bindEvent(this));Event.observe(this.control,"blur",this.hide.bind(this));Prado.Element.focus(this.control);},ieHack:function(cleanup) +document.body.appendChild(this._calDiv);this.update();this.updateHeader();this.ieHack(true);previousMonth.hideFocus=true;nextMonth.hideFocus=true;todayButton.hideFocus=true;Event.observe(previousMonth,"click",this.prevMonth.bindEvent(this));Event.observe(nextMonth,"click",this.nextMonth.bindEvent(this));Event.observe(todayButton,"click",this.selectToday.bindEvent(this));Event.observe(this._monthSelect,"change",this.monthSelect.bindEvent(this));Event.observe(this._yearSelect,"change",this.yearSelect.bindEvent(this));Event.observe(this._calDiv,"mousewheel",this.mouseWheelChange.bindEvent(this));Event.observe(calendarBody,"click",this.selectDate.bindEvent(this));Prado.Element.focus(this.control);},ieHack:function(cleanup) {if(this.iePopUp) {this.iePopUp.style.display="block";this.iePopUp.style.top=(this._calDiv.offsetTop-1)+"px";this.iePopUp.style.left=(this._calDiv.offsetLeft-1)+"px";this.iePopUp.style.width=Math.abs(this._calDiv.offsetWidth-2)+"px";this.iePopUp.style.height=(this._calDiv.offsetHeight+1)+"px";if(cleanup)this.iePopUp.style.display="none";}},keyPressed:function(ev) -{if(!this.showing)return;if(!ev)ev=document.parentWindow.event;var kc=ev.keyCode!=null?ev.keyCode:ev.charCode;if(kc==Event.KEY_RETURN||kc==Event.KEY_SPACEBAR) +{if(!this.showing)return;if(!ev)ev=document.parentWindow.event;var kc=ev.keyCode!=null?ev.keyCode:ev.charCode;if(kc==Event.KEY_RETURN||kc==Event.KEY_SPACEBAR||kc==Event.KEY_TAB) {this.setSelectedDate(this.selectedDate);Event.stop(ev);this.hide();} if(kc==Event.KEY_ESC) {Event.stop(ev);this.hide();} @@ -110,7 +110,8 @@ for(i=1;i<=monthLength;i++,index++){var slot=this.dateSlot[index];var slotNode=s if(d1.toISODate()==selected){slotNode.className+=" selected";} d1=new Date(d1.getFullYear(),d1.getMonth(),d1.getDate()+1);} var lastDateIndex=index;while(index<42){this.dateSlot[index].value=-1;this.dateSlot[index].data.data=String.fromCharCode(160);this.dateSlot[index].data.parentNode.className="empty";++index;}},hover:function(ev) +{if(Event.element(ev).tagName) {if(ev.type=="mouseover") Event.element(ev).addClassName("hover");else -Event.element(ev).removeClassName("hover");},updateHeader:function(){var options=this._monthSelect.options;var m=this.selectedDate.getMonth();for(var i=0;i<options.length;++i){options[i].selected=false;if(options[i].value==m){options[i].selected=true;}} +Event.element(ev).removeClassName("hover");}},updateHeader:function(){var options=this._monthSelect.options;var m=this.selectedDate.getMonth();for(var i=0;i<options.length;++i){options[i].selected=false;if(options[i].value==m){options[i].selected=true;}} options=this._yearSelect.options;var year=this.selectedDate.getFullYear();for(var i=0;i<options.length;++i){options[i].selected=false;if(options[i].value==year){options[i].selected=true;}}}};
\ No newline at end of file diff --git a/framework/Web/Javascripts/prado/controls.js b/framework/Web/Javascripts/prado/controls.js index de409e94..2497c586 100644 --- a/framework/Web/Javascripts/prado/controls.js +++ b/framework/Web/Javascripts/prado/controls.js @@ -61,6 +61,7 @@ Prado.WebUI.PostBackControl.prototype = var src = Event.element(event);
var doPostBack = true;
var onclicked = null;
+
if(this._elementOnClick)
{
var onclicked = this._elementOnClick(event);
diff --git a/framework/Web/Services/TPageService.php b/framework/Web/Services/TPageService.php index af2ddce3..1df4ffde 100644 --- a/framework/Web/Services/TPageService.php +++ b/framework/Web/Services/TPageService.php @@ -695,7 +695,7 @@ class TPageConfiguration extends TComponent $ps=explode(',',$pages);
foreach($ps as $p)
{
- if($page===trim($p))
+ if(strcasecmp($page,trim($p))===0)
{
$ruleApplies=true;
break;
@@ -719,7 +719,7 @@ class TPageConfiguration extends TComponent $properties=$node->getAttributes();
if(($id=$properties->itemAt('id'))===null)
throw new TConfigurationException('pageserviceconf_page_invalid',$configPath);
- if($id===$page)
+ if(strcasecmp($id,$page)===0)
$this->_properties=array_merge($this->_properties,$properties->toArray());
}
}
diff --git a/framework/Web/UI/TControl.php b/framework/Web/UI/TControl.php index eced51ea..d5079382 100644 --- a/framework/Web/UI/TControl.php +++ b/framework/Web/UI/TControl.php @@ -1165,6 +1165,7 @@ class TControl extends TApplicationComponent implements IRenderable, IBindable */
protected function initRecursive($namingContainer=null)
{
+ $this->ensureChildControls();
if($this->getHasControls())
{
if($this instanceof INamingContainer)
@@ -1235,7 +1236,6 @@ class TControl extends TApplicationComponent implements IRenderable, IBindable if($this->getVisible(false))
{
- $this->ensureChildControls();
if(isset($this->_rf[self::RF_ADAPTER]))
$this->_rf[self::RF_ADAPTER]->onPreRender(null);
else
diff --git a/framework/Web/UI/WebControls/TLinkButton.php b/framework/Web/UI/WebControls/TLinkButton.php index 7f9baab8..7487b37a 100644 --- a/framework/Web/UI/WebControls/TLinkButton.php +++ b/framework/Web/UI/WebControls/TLinkButton.php @@ -85,18 +85,18 @@ class TLinkButton extends TWebControl implements IPostBackEventHandler, IButtonC else if($this->getEnabled()) // in this case, parent will not render 'disabled'
$writer->addAttribute('disabled','disabled');
}
-
+
/**
* Renders the client-script code.
*/
protected function renderClientControlScript($writer)
{
//create unique no-op url references
- $nop = "#".$this->getClientID();
+ $nop = "javascript:;//".$this->getClientID();
$writer->addAttribute('href', $nop);
- $cs = $this->getPage()->getClientScript();
+ $cs = $this->getPage()->getClientScript();
$cs->registerPostBackControl(get_class($this),$this->getPostBackOptions());
- }
+ }
/**
* Returns postback specifications for the button.
@@ -252,4 +252,4 @@ class TLinkButton extends TWebControl implements IPostBackEventHandler, IButtonC }
}
-?>
\ No newline at end of file +?>
@@ -7,7 +7,7 @@ <body>
<h1>PRADO Framework for PHP 5 </h1>
-<p>Version 3.0.1, June 4, 2006<br>
+<p>Version 3.0.2, July 2, 2006<br>
Copyright© 2004-2006 by <a href="http://www.pradosoft.com/">PradoSoft</a><br>
All Rights Reserved.
</p>
diff --git a/requirements/messages-bg.txt b/requirements/messages-bg.txt index 62387ee8..ea54f02c 100644 --- a/requirements/messages-bg.txt +++ b/requirements/messages-bg.txt @@ -1,20 +1,28 @@ -all passed = Поздравления! Конфигурацията на вашия сървър удовлетворява всички изисквания на PRADO.
-passed with warnings = Конфигурацията на вашия сървър удовлетворява минималните изисквания на PRADO. Моля, обърнете внимание на предупрежденията по-долу.
-failed = За съжаление, вашият сървър не удовлетворява изискванията на PRADO.
-PHP version check = Проверка за версията на PHP
-PHP 5.0.4 or higher required = Изисква се PHP 5.0.4 или по-висока версия.
-PHP 5.1.0 or higher preferred = Препоръчва се PHP 5.1.0 или по-висока версия. Това ще предотврати грешката предизвикана от рекурсивните __get/__set извиквания.
-SQLite extension check = Проверка за SQLite
-SQLite extension optional = SQLite разширението е незадължително. Ако не е заредено, няма да можете да ползвате TSqliteCache.
-Memcache extension check = Проверка за Memcache
-Memcache extension optional = Memcache разширението е незадължително. Ако не е заредено, няма да можете да ползвате TMemCache.
-APC extension check = Проверка за APC cache
-APC extension optional = APC разширението е незадължително. Ако не е заредено, няма да можете да ползвате TAPCCache.
-Zlib extension check = Проверка за Zlib
-Zlib extension optional = Zlib разширението е незадължително. Ако не е заредено, състоянието на страницата няма да бъде компресирано и размера на страницата може да се увеличи.
-DOM extension check = Проверка за DOM разширението
-DOM extension required = DOM разширението е задължително за PRADO. Използва се в TXmlDocument за анализ на XML-базирани конфигурации.
-ICONV extension check = Проверка за ICONV функцията
-ICONV extension optional = ICONV разширението е незадължително. Ако не е заредено, е възможно някои компоненти свързани с интернационализацията да не работят коректно.
-Mcrypt extension check = Проверка за Mcrypt
-Mcrypt extension optional = Mcrypt разширението е незадължително. Ако не е заредено, чувствителни данни като viewstate, няма да могат да бъдат криптирани.
\ No newline at end of file +all passed = Поздравления! Конфигурацията на вашия сървър удовлетворява всички изисквания на PRADO.
+passed with warnings = Конфигурацията на вашия сървър удовлетворява минималните изисквания на PRADO. Моля, обърнете внимание на предупрежденията по-долу.
+failed = За съжаление, вашият сървър не удовлетворява изискванията на PRADO.
+PHP version check = Проверка за версията на PHP
+PHP 5.0.4 or higher required = Изисква се PHP 5.0.4 или по-висока версия.
+PHP 5.1.0 or higher preferred = Препоръчва се PHP 5.1.0 или по-висока версия. Това ще предотврати грешката предизвикана от рекурсивните __get/__set извиквания.
+SQLite extension check = Проверка за SQLite
+SQLite extension optional = SQLite разширението е незадължително. Ако не е заредено, няма да можете да ползвате TSqliteCache.
+Memcache extension check = Проверка за Memcache
+Memcache extension optional = Memcache разширението е незадължително. Ако не е заредено, няма да можете да ползвате TMemCache.
+APC extension check = Проверка за APC cache
+APC extension optional = APC разширението е незадължително. Ако не е заредено, няма да можете да ползвате TAPCCache.
+Zlib extension check = Проверка за Zlib
+Zlib extension optional = Zlib разширението е незадължително. Ако не е заредено, състоянието на страницата няма да бъде компресирано и размера на страницата може да се увеличи.
+DOM extension check = Проверка за DOM разширението
+DOM extension required = DOM разширението е задължително за PRADO. Използва се в TXmlDocument за анализ на XML-базирани конфигурации.
+ICONV extension check = Проверка за ICONV разширението
+ICONV extension optional = ICONV разширението е незадължително. Ако не е заредено, е възможно някои компоненти свързани с интернационализацията да не работят коректно.
+Mcrypt extension check = Проверка за Mcrypt
+Mcrypt extension optional = Mcrypt разширението е незадължително. Ако не е заредено, чувствителни данни като viewstate, няма да могат да бъдат криптирани.
+$_SERVER["HTTP_ACCEPT"] check = Проверка за $_SERVER["HTTP_ACCEPT"]
+HTTP_ACCEPT required = $_SERVER["HTTP_ACCEPT"] е задължително за многоезиковата поддръжка.
+$_SERVER["SCRIPT_FILENAME"] check = Проверка за $_SERVER["SCRIPT_FILENAME"]
+SCRIPT_FILENAME required = $_SERVER["SCRIPT_FILENAME"] трябва да указва файловия път до този проверовъчен скрипт.
+$_SERVER["REQUEST_URI"] check = Проверка за $_SERVER["REQUEST_URI"]
+REQUEST_URI required = $_SERVER["REQUEST_URI"] или $_SERVER["QUERY_STRING"] трябва да е достъпен за да е възможно анализирането на потребителските заявки.
+$_SERVER["PATH_INFO"] check = Проверка за $_SERVER["PATH_INFO"]
+PATH_INFO required = $_SERVER["PATH_INFO"] или $_SERVER["PHP_SELF"] и $_SERVER["SCRIPT_NAME"] се изискват за да се определи URL информацията за пътя.
\ No newline at end of file diff --git a/requirements/template-bg.html b/requirements/template-bg.html index b6ac5889..a12934b3 100644 --- a/requirements/template-bg.html +++ b/requirements/template-bg.html @@ -1,6 +1,6 @@ -<html>
+<html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset="utf-8"/>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="content-language" content="bg"/>
<title>Проверка за изискванията на PRADO</title>
<style>
diff --git a/requirements/template-zh.html b/requirements/template-zh.html index 966d04ce..cbd80a60 100644 --- a/requirements/template-zh.html +++ b/requirements/template-zh.html @@ -1,6 +1,6 @@ <html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset="utf-8"/>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="content-language" content="en"/>
<title>PRADO配置需求检查</title>
<style>
diff --git a/requirements/template.html b/requirements/template.html index def4a6a7..9de211f2 100644 --- a/requirements/template.html +++ b/requirements/template.html @@ -1,6 +1,6 @@ <html>
<head>
-<meta http-equiv="Content-Type" content="text/html; charset="utf-8"/>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="content-language" content="en"/>
<title>PRADO Requirements Checker</title>
<style>
diff --git a/tests/FunctionalTests/quickstart/Controls/Wizard1TestCase.php b/tests/FunctionalTests/quickstart/Controls/Wizard1TestCase.php index ea071612..8b2da6f3 100644 --- a/tests/FunctionalTests/quickstart/Controls/Wizard1TestCase.php +++ b/tests/FunctionalTests/quickstart/Controls/Wizard1TestCase.php @@ -14,7 +14,7 @@ class Wizard1TestCase extends SeleniumTestCase $this->verifyVisible('ctl0_body_Wizard1_SideBarList_ctl0_SideBarButton');
$this->verifyAttribute('ctl0_body_Wizard1_SideBarList_ctl1_SideBarButton@disabled','regexp:true|disabled');
$this->select('ctl0$body$Wizard1$DropDownList1', "label=Purple");
- $this->clickAndWait('ctl0$body$Wizard1$ctl8$ctl1');
+ $this->clickAndWait('ctl0$body$Wizard1$ctl6$ctl1');
// step 2
$this->verifyTextPresent('Your favorite color is: Purple');
diff --git a/tests/FunctionalTests/quickstart/Controls/Wizard2TestCase.php b/tests/FunctionalTests/quickstart/Controls/Wizard2TestCase.php index ca94bb19..04d448cb 100644 --- a/tests/FunctionalTests/quickstart/Controls/Wizard2TestCase.php +++ b/tests/FunctionalTests/quickstart/Controls/Wizard2TestCase.php @@ -14,7 +14,7 @@ class Wizard2TestCase extends SeleniumTestCase $this->verifyVisible('ctl0_body_Wizard1_SideBarList_ctl0_SideBarButton');
$this->verifyAttribute('ctl0_body_Wizard1_SideBarList_ctl1_SideBarButton@disabled','regexp:true|disabled');
$this->select('ctl0$body$Wizard1$DropDownList1', "label=Blue");
- $this->clickAndWait('ctl0$body$Wizard1$ctl8$ctl1');
+ $this->clickAndWait('ctl0$body$Wizard1$ctl6$ctl1');
// step 2
$this->verifyTextPresent('Your favorite color is: Blue');
diff --git a/tests/FunctionalTests/quickstart/Controls/Wizard3TestCase.php b/tests/FunctionalTests/quickstart/Controls/Wizard3TestCase.php index 807e7dc6..855ed545 100644 --- a/tests/FunctionalTests/quickstart/Controls/Wizard3TestCase.php +++ b/tests/FunctionalTests/quickstart/Controls/Wizard3TestCase.php @@ -12,15 +12,15 @@ class Wizard3TestCase extends SeleniumTestCase $this->verifyTextPresent('A Mini Survey');
$this->verifyTextPresent('PRADO QuickStart Sample');
$this->click('ctl0_body_Wizard3_StudentCheckBox');
- $this->clickAndWait('ctl0$body$Wizard3$ctl8$ctl0');
+ $this->clickAndWait('ctl0$body$Wizard3$ctl4$ctl0');
// step 2
$this->select('ctl0$body$Wizard3$DropDownList11', "label=Chemistry");
- $this->clickAndWait('ctl0$body$Wizard3$ctl9$ctl1');
+ $this->clickAndWait('ctl0$body$Wizard3$ctl5$ctl1');
// step 3
$this->select('ctl0$body$Wizard3$DropDownList22', "label=Tennis");
- $this->clickAndWait('ctl0$body$Wizard3$ctl10$ctl1');
+ $this->clickAndWait('ctl0$body$Wizard3$ctl6$ctl1');
// step 4
$this->verifyTextPresent('You are a college student');
@@ -31,11 +31,11 @@ class Wizard3TestCase extends SeleniumTestCase $this->open("../../demos/quickstart/index.php?page=Controls.Samples.TWizard.Sample3&notheme=true", "");
// step 1
- $this->clickAndWait('ctl0$body$Wizard3$ctl8$ctl0');
+ $this->clickAndWait('ctl0$body$Wizard3$ctl4$ctl0');
// step 3
$this->select('ctl0$body$Wizard3$DropDownList22', "label=Baseball");
- $this->clickAndWait('ctl0$body$Wizard3$ctl10$ctl1');
+ $this->clickAndWait('ctl0$body$Wizard3$ctl6$ctl1');
// step 4
$this->verifyTextNotPresent('You are a college student');
diff --git a/tests/FunctionalTests/quickstart/Controls/Wizard5TestCase.php b/tests/FunctionalTests/quickstart/Controls/Wizard5TestCase.php index e25ce86d..b1df9213 100644 --- a/tests/FunctionalTests/quickstart/Controls/Wizard5TestCase.php +++ b/tests/FunctionalTests/quickstart/Controls/Wizard5TestCase.php @@ -14,11 +14,11 @@ class Wizard5TestCase extends SeleniumTestCase $this->verifyVisible('ctl0_body_Wizard1_SideBarList_ctl1_SideBarButton');
$this->verifyAttribute('ctl0_body_Wizard1_SideBarList_ctl2_SideBarButton@disabled','regexp:true|disabled');
$this->select('ctl0_body_Wizard1_DropDownList1', "label=Cyan");
- $this->clickAndWait('ctl0$body$Wizard1$ctl6$ctl0');
+ $this->clickAndWait('ctl0$body$Wizard1$ctl4$ctl0');
// step 2
$this->select('ctl0_body_Wizard1_Step2_DropDownList2','label=Football');
- $this->clickAndWait('ctl0$body$Wizard1$ctl8$ctl0');
+ $this->clickAndWait('ctl0$body$Wizard1$ctl6$ctl0');
// step 1
$this->verifySelected('ctl0_body_Wizard1_DropDownList1','label=Cyan');
@@ -26,7 +26,7 @@ class Wizard5TestCase extends SeleniumTestCase // step 2
$this->verifySelected('ctl0_body_Wizard1_Step2_DropDownList2','label=Football');
- $this->clickAndWait('ctl0$body$Wizard1$ctl8$ctl1');
+ $this->clickAndWait('ctl0$body$Wizard1$ctl6$ctl1');
// step 3
$this->verifyTextPresent('Your favorite color is: Cyan');
|