I updated the trunk/core code to work around this problem and redeployed
core 0.6.0 to Maven repo. Please see the
InternalProfileTestCase.

Later, we may need to re-visit this issue since the group locating may be
affected without the position information if we
have multiple elements with the same tag.

Thanks,

Jian

On Thu, May 14, 2009 at 2:51 PM, Rohan Holt <[email protected]> wrote:

> That sounds like the easiest solution. Thanks for the update.
> R
>
> On 14 May 2009, at 19:39, Jian Fang wrote:
>
> I created a test case using your html and UI module and can re-produce your
> error.
> Seems jQuery does have limitation/issue on the has() selector. One way to
> work around this
> is to let Tellurium core filter out the position attribute when build the
> has() selector.
>
> On Thu, May 14, 2009 at 12:23 PM, Jian Fang <[email protected]>wrote:
>
>> Rohan,
>>
>> Thanks for reporting this. Just saw the post because of the Google outage.
>>
>>
>> I will look into it.
>>
>> Mikhail, could you please add the html in the post to Tellurium test page
>> so that I
>> can create a test case for it?
>>
>> Thanks,
>>
>> Jian
>>
>>
>> On Thu, May 14, 2009 at 11:06 AM, rohanh <[email protected]> wrote:
>>
>>>
>>> Not sure if this is a Tellurium issue or a JQuery issue but given the
>>> following model
>>>
>>>       Form(uid: "UserEditPrivateProfileForm", clocator: [tag: "form",
>>> name: "theForm", method: "post"], group: "true"){
>>>                /*
>>>               InputBox(uid: "Address1"   ,clocator: [tag: "input" ,
>>> type: "text"  ,name: "address1"])
>>>                InputBox(uid: "Address2"   ,clocator: [tag: "input" ,
>>> type:
>>> "text"  ,name: "address2"])
>>>                InputBox(uid: "Address3"   ,clocator: [tag: "input" ,
>>> type:
>>> "text"  ,name: "city"])
>>>                InputBox(uid: "PostCode"   ,clocator: [tag: "input" ,
>>> type:
>>> "text"  ,name: "postcode"])
>>>                InputBox(uid: "Telephone"  ,clocator: [tag: "input" ,
>>> type:
>>> "text"  ,name: "tel"])
>>>                InputBox(uid: "Email"      ,clocator: [tag: "input" ,
>>> type:
>>> "text"  ,name: "email"])
>>>                Selector(uid: "Gender"     ,clocator: [tag: "select",
>>> name: "gender"])
>>>                InputBox(uid: "Mobile"     ,clocator: [tag: "input" ,
>>> type:
>>> "text"  ,name: "Mobile"])
>>>               */
>>>               List(uid: "Fields" , clocator: [tag: "div", class:
>>> "test", position: "2"], separator: "div") {
>>>                    Container(uid: "all") {
>>>                      InputBox(uid: "item"    , clocator: [:])
>>>                      Selector(uid: "selector", clocator: [:])
>>>                    }
>>>               }
>>>                SubmitButton(uid: "Submit" ,clocator: [tag: "input" ,
>>> type:
>>> "submit",name: "submit"], respond: ["click", "mouseOut", "mouseOver"])
>>>        }
>>>
>>>
>>> a call to getListSize("UserEditPrivateProfileForm.Fields") generates
>>> the following JQuery selector:
>>>
>>> 5:11:00.631 INFO - Command request: getListSize[jquery=#main form
>>> [name=theForm][method=post]:has(div.test:eq(1), input[type=submit]
>>> [name=submit]) div.test:eq(1), div] on session
>>> 65c1e3d5c462489cb6402b2d663a99ef
>>> 15:11:00.647 INFO - Got result: ERROR: Element jquery=#main form
>>> [name=theForm][method=post]:has(div.test:eq(1), input[type=submit]
>>> [name=submit]) div.test:eq(1) not found on session
>>> 65c1e3d5c462489cb6402b2d663a99ef
>>>
>>> The problem with this seems to be the :eq(1) within the has(). If I
>>> change the selector from
>>>
>>> #main form[name=theForm][method=post]:has(div.test:eq(1), input
>>> [type=submit][name=submit]) div.test:eq(1)
>>>
>>> to
>>>
>>> #main form[name=theForm][method=post]:has(div.test, input[type=submit]
>>> [name=submit]) div.test:eq(1)
>>>
>>> The correct List div is returned....
>>>
>>> Maybe this is a restriction with JQuery but I am not sure. I would
>>> have expected a has() to take any valid selector...
>>>
>>> Here is the html to test with if you wish:
>>>
>>> <form method="post"  name="theForm">
>>>       <div class="domtab3">
>>>           <ul class="domtabs3">
>>>               <li><a href="#t1" title="Internal
>>> Profile"><span>Internal Profile</span></a></li>
>>>               <li><a href="#t2" title="Private Profile"><span>Private
>>> Profile</span></a></li>
>>>               <li><a href="#t3" title="Public Profile"><span>Public
>>> Profile</span></a></li>
>>>               <li><a href="#t4" title="Work History"><span>Work
>>> History</span></a></li>
>>>           </ul>
>>>           <INPUT TYPE="hidden" NAME="tabsub" ID="tabsub"
>>> VALUE="internal">
>>>           <div class="test">
>>>               <span><a name="t1" id="t1"></a></span>
>>>           </div>
>>>           <div class="test">
>>>               <span><a name="t2" id="t2"></a></span>
>>>               <div>
>>>                   <div>Address</div>
>>>                   <div><input type="text" name="address1"
>>> value="address line 1" size="40" ></div>
>>>               </div>
>>>               <div>
>>>                   <div></div>
>>>                   <div><input type="text" name="address2"
>>> value="address line 2" size="40" ></div>
>>>               </div>
>>>               <div>
>>>                   <div></div>
>>>                   <div><input type="text" name="city" value="address
>>> line 3" size="30" ></div>
>>>               </div>
>>>               <div>
>>>                   <div>Postcode</div>
>>>                   <div><input type="text" name="postcode"
>>> value="postcode" size="30" ></div>
>>>               </div>
>>>               <div>
>>>                   <div>Tel*</div>
>>>                   <div><input type="text" value="" size="30"
>>> name="tel"></div>
>>>               </div>
>>>               <div>
>>>                   <div>Email*</div>
>>>                   <div><input type="text"
>>> value="[email protected]" size="30" name="email"></div>
>>>               </div>
>>>               <INPUT TYPE="submit" NAME="submit" VALUE="Save"
>>> class='submit' onClick="d=document.getElementById
>>> ('tabsub');d.value='private';return true;">
>>>           </div>
>>>           <div class="test">
>>>               <span><a name="t3" id="t3"></a></span>
>>>               <div>
>>>                   <div>Name</div>
>>>                   <div><input type="text" size="30"
>>> name="newusername" value="admin"></div>
>>>               </div>
>>>               <div>
>>>                   <div><strong>Birth Date</strong></div>
>>>                   <div><input name="Birth Date" type="text" size="30"
>>> value=""></div>
>>>               </div>
>>>               <div>
>>>                   <div><strong>Job Title</strong></div>
>>>                   <div><input name="Job Title" type="text" size="30"
>>> value=""></div>
>>>               </div>
>>>               <div>
>>>                   <div><strong>Company</strong></div>
>>>                   <div><input name="Company" type="text" size="30"
>>> value=""></div>
>>>               </div>
>>>
>>>               <INPUT TYPE="submit" NAME="submit" VALUE="Save"
>>> class='submit' onClick="d=document.getElementById
>>> ('tabsub');d.value='public';">
>>>           </div>
>>>           <div class="test">
>>>               <span><a name="t4" id="t4"></a></span>
>>>               <a href="/members/admin/index_edit.html?
>>> add_new_job=1">Add new job...</a><br><br>
>>>               <INPUT TYPE="submit" NAME="submit" VALUE="Save"
>>> class='submit' onClick="d=document.getElementById
>>> ('tabsub');d.value='jobs';;return 1;">
>>>           </div>
>>>       </div>
>>> </form>
>>>
>>>
>>>
>>
>
>
>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"tellurium-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/tellurium-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to