[Zope3-checkins] SVN: Zope3/branches/3.3/src/zope/testbrowser/
After the fix of 680,
the testbrowsers usage of *.html for ZPT files failed.
Lennart Regebro
regebro at gmail.com
Thu Aug 17 08:26:07 EDT 2006
Log message for revision 69592:
After the fix of 680, the testbrowsers usage of *.html for ZPT files failed.
Changed:
U Zope3/branches/3.3/src/zope/testbrowser/README.txt
D Zope3/branches/3.3/src/zope/testbrowser/ftests/controls.html
A Zope3/branches/3.3/src/zope/testbrowser/ftests/controls.pt
D Zope3/branches/3.3/src/zope/testbrowser/ftests/forms.html
A Zope3/branches/3.3/src/zope/testbrowser/ftests/forms.pt
D Zope3/branches/3.3/src/zope/testbrowser/ftests/navigate.html
A Zope3/branches/3.3/src/zope/testbrowser/ftests/navigate.pt
D Zope3/branches/3.3/src/zope/testbrowser/ftests/notitle.html
A Zope3/branches/3.3/src/zope/testbrowser/ftests/notitle.pt
D Zope3/branches/3.3/src/zope/testbrowser/ftests/simple.html
A Zope3/branches/3.3/src/zope/testbrowser/ftests/simple.pt
-=-
Modified: Zope3/branches/3.3/src/zope/testbrowser/README.txt
===================================================================
--- Zope3/branches/3.3/src/zope/testbrowser/README.txt 2006-08-17 11:39:03 UTC (rev 69591)
+++ Zope3/branches/3.3/src/zope/testbrowser/README.txt 2006-08-17 12:26:06 UTC (rev 69592)
@@ -20,9 +20,9 @@
An initial page to load can be passed to the ``Browser`` constructor:
- >>> browser = Browser('http://localhost/@@/testbrowser/simple.html')
+ >>> browser = Browser('http://localhost/@@/testbrowser/simple.pt')
>>> browser.url
- 'http://localhost/@@/testbrowser/simple.html'
+ 'http://localhost/@@/testbrowser/simple.pt'
The browser can send arbitrary headers; this is helpful for setting the
"Authorization" header or a language value, so that your tests format values
@@ -34,9 +34,9 @@
An existing browser instance can also `open` web pages:
- >>> browser.open('http://localhost/@@/testbrowser/simple.html')
+ >>> browser.open('http://localhost/@@/testbrowser/simple.pt')
>>> browser.url
- 'http://localhost/@@/testbrowser/simple.html'
+ 'http://localhost/@@/testbrowser/simple.pt'
Once you have opened a web page initially, best practice for writing
testbrowser doctests suggests using 'click' to navigate further (as discussed
@@ -86,7 +86,7 @@
Not all URLs return HTML. Of course our simple page does:
- >>> browser.open('http://localhost/@@/testbrowser/simple.html')
+ >>> browser.open('http://localhost/@@/testbrowser/simple.pt')
>>> browser.isHtml
True
@@ -103,13 +103,13 @@
Another useful helper property is the title:
- >>> browser.open('http://localhost/@@/testbrowser/simple.html')
+ >>> browser.open('http://localhost/@@/testbrowser/simple.pt')
>>> browser.title
'Simple Page'
If a page does not provide a title, it is simply ``None``:
- >>> browser.open('http://localhost/@@/testbrowser/notitle.html')
+ >>> browser.open('http://localhost/@@/testbrowser/notitle.pt')
>>> browser.title
However, if the output is not HTML, then an error will occur trying to access
@@ -130,7 +130,7 @@
``httplib.HTTPMessage`` instance (httplib is a part of Python's standard
library):
- >>> browser.open('http://localhost/@@/testbrowser/simple.html')
+ >>> browser.open('http://localhost/@@/testbrowser/simple.pt')
>>> browser.headers
<httplib.HTTPMessage instance...>
@@ -153,20 +153,20 @@
---------------------------
If you want to simulate clicking on a link, get the link and `click` on it.
-In the `navigate.html` file there are several links set up to demonstrate the
+In the `navigate.pt` file there are several links set up to demonstrate the
capabilities of the link objects and their `click` method.
The simplest way to get a link is via the anchor text. In other words
the text you would see in a browser (text and url searches are substring
searches):
- >>> browser.open('http://localhost/@@/testbrowser/navigate.html')
+ >>> browser.open('http://localhost/@@/testbrowser/navigate.pt')
>>> browser.contents
- '...<a href="navigate.html?message=By+Link+Text">Link Text</a>...'
+ '...<a href="navigate.pt?message=By+Link+Text">Link Text</a>...'
>>> link = browser.getLink('Link Text')
>>> link
<Link text='Link Text'
- url='http://localhost/@@/testbrowser/navigate.html?message=By+Link+Text'>
+ url='http://localhost/@@/testbrowser/navigate.pt?message=By+Link+Text'>
Link objects comply with the ILink interface.
@@ -180,21 +180,21 @@
>>> link.tag # links can also be image maps.
'a'
>>> link.url # it's normalized
- 'http://localhost/@@/testbrowser/navigate.html?message=By+Link+Text'
+ 'http://localhost/@@/testbrowser/navigate.pt?message=By+Link+Text'
>>> link.attrs
- {'href': 'navigate.html?message=By+Link+Text'}
+ {'href': 'navigate.pt?message=By+Link+Text'}
Links can be "clicked" and the browser will navigate to the referenced URL.
>>> link.click()
>>> browser.url
- 'http://localhost/@@/testbrowser/navigate.html?message=By+Link+Text'
+ 'http://localhost/@@/testbrowser/navigate.pt?message=By+Link+Text'
>>> browser.contents
'...Message: <em>By Link Text</em>...'
When finding a link by its text, whitespace is normalized.
- >>> browser.open('http://localhost/@@/testbrowser/navigate.html')
+ >>> browser.open('http://localhost/@@/testbrowser/navigate.pt')
>>> browser.contents
'...> Link Text \n with Whitespace\tNormalization (and parens) </...'
>>> link = browser.getLink('Link Text with Whitespace Normalization '
@@ -205,7 +205,7 @@
'Link Text with Whitespace Normalization (and parens)'
>>> link.click()
>>> browser.url
- 'http://localhost/@@/testbrowser/navigate.html?message=By+Link+Text+with+Normalization'
+ 'http://localhost/@@/testbrowser/navigate.pt?message=By+Link+Text+with+Normalization'
>>> browser.contents
'...Message: <em>By Link Text with Normalization</em>...'
@@ -219,26 +219,26 @@
You can also find the link by its URL,
- >>> browser.open('http://localhost/@@/testbrowser/navigate.html')
+ >>> browser.open('http://localhost/@@/testbrowser/navigate.pt')
>>> browser.contents
- '...<a href="navigate.html?message=By+URL">Using the URL</a>...'
+ '...<a href="navigate.pt?message=By+URL">Using the URL</a>...'
>>> browser.getLink(url='?message=By+URL').click()
>>> browser.url
- 'http://localhost/@@/testbrowser/navigate.html?message=By+URL'
+ 'http://localhost/@@/testbrowser/navigate.pt?message=By+URL'
>>> browser.contents
'...Message: <em>By URL</em>...'
or its id:
- >>> browser.open('http://localhost/@@/testbrowser/navigate.html')
+ >>> browser.open('http://localhost/@@/testbrowser/navigate.pt')
>>> browser.contents
- '...<a href="navigate.html?message=By+Id"
+ '...<a href="navigate.pt?message=By+Id"
id="anchorid">By Anchor Id</a>...'
>>> browser.getLink(id='anchorid').click()
>>> browser.url
- 'http://localhost/@@/testbrowser/navigate.html?message=By+Id'
+ 'http://localhost/@@/testbrowser/navigate.pt?message=By+Id'
>>> browser.contents
'...Message: <em>By Id</em>...'
@@ -246,19 +246,19 @@
supports image maps, though not by specifying the coordinates, but using the
area's id:
- >>> browser.open('http://localhost/@@/testbrowser/navigate.html')
+ >>> browser.open('http://localhost/@@/testbrowser/navigate.pt')
>>> link = browser.getLink(id='zope3')
>>> link.tag
'area'
>>> link.click()
>>> browser.url
- 'http://localhost/@@/testbrowser/navigate.html?message=Zope+3+Name'
+ 'http://localhost/@@/testbrowser/navigate.pt?message=Zope+3+Name'
>>> browser.contents
'...Message: <em>Zope 3 Name</em>...'
Getting a nonexistent link raises an exception.
- >>> browser.open('http://localhost/@@/testbrowser/navigate.html')
+ >>> browser.open('http://localhost/@@/testbrowser/navigate.pt')
>>> browser.getLink('This does not exist')
Traceback (most recent call last):
...
@@ -270,21 +270,21 @@
Like in any normal browser, you can reload a page:
- >>> browser.open('http://localhost/@@/testbrowser/simple.html')
+ >>> browser.open('http://localhost/@@/testbrowser/simple.pt')
>>> browser.url
- 'http://localhost/@@/testbrowser/simple.html'
+ 'http://localhost/@@/testbrowser/simple.pt'
>>> browser.reload()
>>> browser.url
- 'http://localhost/@@/testbrowser/simple.html'
+ 'http://localhost/@@/testbrowser/simple.pt'
You can also go back:
- >>> browser.open('http://localhost/@@/testbrowser/notitle.html')
+ >>> browser.open('http://localhost/@@/testbrowser/notitle.pt')
>>> browser.url
- 'http://localhost/@@/testbrowser/notitle.html'
+ 'http://localhost/@@/testbrowser/notitle.pt'
>>> browser.goBack()
>>> browser.url
- 'http://localhost/@@/testbrowser/simple.html'
+ 'http://localhost/@@/testbrowser/simple.pt'
Controls
@@ -294,7 +294,7 @@
and fill in values for the controls of input forms. To do so, let's first open
a page that has a bunch of controls:
- >>> browser.open('http://localhost/@@/testbrowser/controls.html')
+ >>> browser.open('http://localhost/@@/testbrowser/controls.pt')
Obtaining a Control
~~~~~~~~~~~~~~~~~~~
@@ -926,7 +926,7 @@
Note that if you click a submit object after the associated page has expired,
you will get an error.
- >>> browser.open('http://localhost/@@/testbrowser/controls.html')
+ >>> browser.open('http://localhost/@@/testbrowser/controls.pt')
>>> ctrl = browser.getControl('Submit')
>>> ctrl.click()
>>> ctrl.click()
@@ -936,7 +936,7 @@
All the above also holds true for the image control:
- >>> browser.open('http://localhost/@@/testbrowser/controls.html')
+ >>> browser.open('http://localhost/@@/testbrowser/controls.pt')
>>> browser.getControl('Text Control').value = 'Other Text'
>>> browser.getControl(name='image-value').click()
>>> print browser.contents
@@ -952,7 +952,7 @@
...
</html>
- >>> browser.open('http://localhost/@@/testbrowser/controls.html')
+ >>> browser.open('http://localhost/@@/testbrowser/controls.pt')
>>> ctrl = browser.getControl(name='image-value')
>>> ctrl.click()
>>> ctrl.click()
@@ -962,7 +962,7 @@
But when sending an image, you can also specify the coordinate you clicked:
- >>> browser.open('http://localhost/@@/testbrowser/controls.html')
+ >>> browser.open('http://localhost/@@/testbrowser/controls.pt')
>>> browser.getControl(name='image-value').click((50,25))
>>> print browser.contents
<html>
@@ -983,7 +983,7 @@
be used to do so. The key value is the form's name or id. If more than one
form has the same name or id, the first one will be returned.
- >>> browser.open('http://localhost/@@/testbrowser/forms.html')
+ >>> browser.open('http://localhost/@@/testbrowser/forms.pt')
>>> form = browser.getForm(name='one')
Form instances conform to the IForm interface.
@@ -1006,7 +1006,7 @@
- The action (target URL) when the form is submitted:
>>> form.action
- 'http://localhost/@@/testbrowser/forms.html'
+ 'http://localhost/@@/testbrowser/forms.pt'
- The method (HTTP verb) used to transmit the form data:
@@ -1039,7 +1039,7 @@
discussed above.
Now let me show you briefly that looking up forms is sometimes important. In
-the `forms.html` template, we have four forms all having a text control named
+the `forms.pt` template, we have four forms all having a text control named
`text-value`. Now, if I use the browser's `get` method,
>>> browser.getControl(name='text-value')
@@ -1092,7 +1092,7 @@
Be very careful using raw seconds, cross-machine differences can be huge,
pystones is usually a better choice.
- >>> browser.open('http://localhost/@@/testbrowser/simple.html')
+ >>> browser.open('http://localhost/@@/testbrowser/simple.pt')
>>> browser.lastRequestSeconds < 10 # really big number for safety
True
>>> browser.lastRequestPystones < 10000 # really big number for safety
@@ -1176,7 +1176,7 @@
When URLs have spaces in them, they're handled correctly (before the bug was
fixed, you'd get "ValueError: too many values to unpack"):
- >>> browser.open('http://localhost/@@/testbrowser/navigate.html')
+ >>> browser.open('http://localhost/@@/testbrowser/navigate.pt')
>>> browser.getLink('Spaces in the URL').click()
.goBack() Truncation
@@ -1184,11 +1184,11 @@
The .goBack() method used to truncate the .contents.
- >>> browser.open('http://localhost/@@/testbrowser/navigate.html')
+ >>> browser.open('http://localhost/@@/testbrowser/navigate.pt')
>>> actual_length = len(browser.contents)
- >>> browser.open('http://localhost/@@/testbrowser/navigate.html')
- >>> browser.open('http://localhost/@@/testbrowser/simple.html')
+ >>> browser.open('http://localhost/@@/testbrowser/navigate.pt')
+ >>> browser.open('http://localhost/@@/testbrowser/simple.pt')
>>> browser.goBack()
>>> len(browser.contents) == actual_length
True
Deleted: Zope3/branches/3.3/src/zope/testbrowser/ftests/controls.html
===================================================================
--- Zope3/branches/3.3/src/zope/testbrowser/ftests/controls.html 2006-08-17 11:39:03 UTC (rev 69591)
+++ Zope3/branches/3.3/src/zope/testbrowser/ftests/controls.html 2006-08-17 12:26:06 UTC (rev 69592)
@@ -1,200 +0,0 @@
-<html>
- <body>
-
- <h1>Controls Tests</h1>
-
- <form action="controls.html" method="post">
-
- <div>
- <label for="text-value">Text Control</label>
- <em tal:condition="request/text-value|nothing"
- tal:content="request/text-value"></em>
- <input type="text" name="text-value" id="text-value"
- value="Some Text" />
- </div>
-
- <div>
- <label for="password-value">Password Control</label>
- <em tal:condition="request/password-value|nothing"
- tal:content="request/password-value"></em>
- <input type="password" name="password-value" id="password-value"
- value="Password" />
- </div>
-
- <div>
- <label for="hidden-value">Hidden Control</label> (label: hee hee)
- <em tal:condition="request/hidden-value|nothing"
- tal:content="request/hidden-value"></em>
- <input type="hidden" name="hidden-value" id="hidden-value"
- value="Hidden" />
- </div>
-
- <div>
- <label for="textarea-value">Text Area Control</label>
- <em tal:condition="request/textarea-value|nothing"
- tal:content="request/textarea-value"></em>
- <textarea name="textarea-value" id="textarea-value">
- Text inside
- area!
- </textarea>
- </div>
-
- <div>
- <label for="file-value">File Control</label>
- <em tal:condition="request/file-value|nothing"
- tal:content="request/file-value"></em>
- <input type="file" name="file-value" id="file-value" />
- </div>
-
- <div>
- <label for="single-select-value">Single Select Control</label>
- <em tal:condition="request/single-select-value|nothing"
- tal:content="request/single-select-value"></em>
- <select name="single-select-value" id="single-select-value">
- <option value="1">Uno</option>
- <option value="2">Dos</option>
- <option value="3" label="Third">Tres</option>
- </select>
- </div>
-
- <div>
- <label for="multi-select-value">Multiple Select Control</label>
- <em tal:condition="request/multi-select-value|nothing"
- tal:content="request/multi-select-value"></em>
- <select name="multi-select-value" id="multi-select-value"
- multiple="multiple">
- <option value="1">Un</option>
- <option value="2">Deux</option>
- <option value="3" label="Third">Trois</option>
- </select>
- </div>
-
- <div>
- <em tal:condition="request/single-unvalued-checkbox-value|nothing"
- tal:content="request/single-unvalued-checkbox-value"></em>
- <input type="checkbox" name="single-unvalued-checkbox-value"
- id="single-unvalued-checkbox" checked="checked" />
- <label for="single-unvalued-checkbox">Single Unvalued Checkbox</label>
- </div>
-
- <div>
- <em tal:condition="
- request/single-disabled-unvalued-checkbox-value|nothing"
- tal:content="request/single-disabled-unvalued-checkbox-value"></em>
- <input type="checkbox" name="single-disabled-unvalued-checkbox-value"
- id="single-disabled-unvalued-checkbox" checked="checked"
- disabled="disabled" />
- <label for="single-disabled-unvalued-checkbox">
- Single Disabled Unvalued Checkbox
- </label>
- </div>
-
- <div>
- <em tal:condition="request/single-valued-checkbox-value|nothing"
- tal:content="request/single-valued-checkbox-value"></em>
- <label><input type="checkbox" name="single-valued-checkbox-value"
- value="1" checked="checked" />Single Valued Checkbox
- </label>
- </div>
-
- <div>
- (Multi checkbox: options have the labels)
- <em tal:condition="request/multi-checkbox-value|nothing"
- tal:content="request/multi-checkbox-value"></em>
- <label><input type="checkbox" name="multi-checkbox-value" value="1"
- checked="checked" /> One</label>
- <input type="checkbox" name="multi-checkbox-value" value="2"
- id="multi-checkbox-value-2" />
- <label for="multi-checkbox-value-2">Two</label>
- <label><input type="checkbox" name="multi-checkbox-value" value="3"
- id="multi-checkbox-value-3" checked="checked" />Three
- </label>
- <label for="multi-checkbox-value-3">Third</label>
- </div>
-
- <div>
- (Radio: options have the labels)
- <em tal:condition="request/radio-value|nothing"
- tal:content="request/radio-value"></em>
- <label><input type="radio" name="radio-value" value="1" />Ein</label>
- <input type="radio" name="radio-value" id="radio-value-2" value="2"
- checked="checked" />
- <label for="radio-value-2">Zwei</label>
- <label><input type="radio" name="radio-value" id="radio-value-3"
- value="3" /> Drei</label>
- <label for="radio-value-3">Third</label>
- </div>
-
- <div>
- <label for="image-value">Image Control</label>
- <em tal:condition="request/image-value.x|nothing"
- tal:content="request/image-value.x"></em>
- <em tal:condition="request/image-value.y|nothing"
- tal:content="request/image-value.y"></em>
- <input type="image" name="image-value" id="image-value"
- src="zope3logo.gif" />
- </div>
-
- <div>
- <label for="submit-value">Standard Submit Control</label>
- <em tal:condition="request/submit-value|nothing"
- tal:content="request/submit-value"></em>
- <input type="submit" name="submit-value" id="submit-value"
- value="Submit This" />
- </div>
-
- <div>
- <label for="ambiguous-control-name">Ambiguous Control</label>
- <input type="text" name="ambiguous-control-name"
- id="ambiguous-control-name" value="First" />
- </div>
-
- <div>
- <label for="ambiguous-control-name">Ambiguous Control</label>
- <input type="text" name="ambiguous-control-name"
- id="ambiguous-control-name" value="Second" />
- </div>
-
- <div>
- <label for="label-needs-normalization"> The Label
- Needs Whitespace Normalization
- Badly </label>
- <input type="text" name="label-needs-normalization"
- id="label-needs-normalization" />
- </div>
-
- <div>
- <label for="non-word-characters">*[non word characters should not
- confuse]</label>
- <input type="text" name="non-word-characters"
- id="non-word-characters" />
- </div>
-
- <div>
- <label for="two-labels">Multiple labels really</label>
- <label for="two-labels">really are possible</label>
- <input type="text" name="two-labels"
- id="two-labels" />
- </div>
-
- <div>
- <label>Labels can be connected by containing their respective fields
- <input type="text" name="contained-in-label" />
- </label>
- </div>
-
- <div>
- If you have a select field with a label that overlaps with one of its
- options' labels, that is ambiguous.
- <label for="ambiguous-subcontrol">Sub-control Ambiguity</label>
- <select name="ambiguous-subcontrol" id="ambiguous-subcontrol">
- <option value="">(none)</option>
- <option value="ambiguous">Sub-control Ambiguity Exemplified</option>
- </select>
- </div>
-
-
- </form>
-
- </body>
-</html>
Added: Zope3/branches/3.3/src/zope/testbrowser/ftests/controls.pt
===================================================================
--- Zope3/branches/3.3/src/zope/testbrowser/ftests/controls.pt 2006-08-17 11:39:03 UTC (rev 69591)
+++ Zope3/branches/3.3/src/zope/testbrowser/ftests/controls.pt 2006-08-17 12:26:06 UTC (rev 69592)
@@ -0,0 +1,200 @@
+<html>
+ <body>
+
+ <h1>Controls Tests</h1>
+
+ <form action="controls.pt" method="post">
+
+ <div>
+ <label for="text-value">Text Control</label>
+ <em tal:condition="request/text-value|nothing"
+ tal:content="request/text-value"></em>
+ <input type="text" name="text-value" id="text-value"
+ value="Some Text" />
+ </div>
+
+ <div>
+ <label for="password-value">Password Control</label>
+ <em tal:condition="request/password-value|nothing"
+ tal:content="request/password-value"></em>
+ <input type="password" name="password-value" id="password-value"
+ value="Password" />
+ </div>
+
+ <div>
+ <label for="hidden-value">Hidden Control</label> (label: hee hee)
+ <em tal:condition="request/hidden-value|nothing"
+ tal:content="request/hidden-value"></em>
+ <input type="hidden" name="hidden-value" id="hidden-value"
+ value="Hidden" />
+ </div>
+
+ <div>
+ <label for="textarea-value">Text Area Control</label>
+ <em tal:condition="request/textarea-value|nothing"
+ tal:content="request/textarea-value"></em>
+ <textarea name="textarea-value" id="textarea-value">
+ Text inside
+ area!
+ </textarea>
+ </div>
+
+ <div>
+ <label for="file-value">File Control</label>
+ <em tal:condition="request/file-value|nothing"
+ tal:content="request/file-value"></em>
+ <input type="file" name="file-value" id="file-value" />
+ </div>
+
+ <div>
+ <label for="single-select-value">Single Select Control</label>
+ <em tal:condition="request/single-select-value|nothing"
+ tal:content="request/single-select-value"></em>
+ <select name="single-select-value" id="single-select-value">
+ <option value="1">Uno</option>
+ <option value="2">Dos</option>
+ <option value="3" label="Third">Tres</option>
+ </select>
+ </div>
+
+ <div>
+ <label for="multi-select-value">Multiple Select Control</label>
+ <em tal:condition="request/multi-select-value|nothing"
+ tal:content="request/multi-select-value"></em>
+ <select name="multi-select-value" id="multi-select-value"
+ multiple="multiple">
+ <option value="1">Un</option>
+ <option value="2">Deux</option>
+ <option value="3" label="Third">Trois</option>
+ </select>
+ </div>
+
+ <div>
+ <em tal:condition="request/single-unvalued-checkbox-value|nothing"
+ tal:content="request/single-unvalued-checkbox-value"></em>
+ <input type="checkbox" name="single-unvalued-checkbox-value"
+ id="single-unvalued-checkbox" checked="checked" />
+ <label for="single-unvalued-checkbox">Single Unvalued Checkbox</label>
+ </div>
+
+ <div>
+ <em tal:condition="
+ request/single-disabled-unvalued-checkbox-value|nothing"
+ tal:content="request/single-disabled-unvalued-checkbox-value"></em>
+ <input type="checkbox" name="single-disabled-unvalued-checkbox-value"
+ id="single-disabled-unvalued-checkbox" checked="checked"
+ disabled="disabled" />
+ <label for="single-disabled-unvalued-checkbox">
+ Single Disabled Unvalued Checkbox
+ </label>
+ </div>
+
+ <div>
+ <em tal:condition="request/single-valued-checkbox-value|nothing"
+ tal:content="request/single-valued-checkbox-value"></em>
+ <label><input type="checkbox" name="single-valued-checkbox-value"
+ value="1" checked="checked" />Single Valued Checkbox
+ </label>
+ </div>
+
+ <div>
+ (Multi checkbox: options have the labels)
+ <em tal:condition="request/multi-checkbox-value|nothing"
+ tal:content="request/multi-checkbox-value"></em>
+ <label><input type="checkbox" name="multi-checkbox-value" value="1"
+ checked="checked" /> One</label>
+ <input type="checkbox" name="multi-checkbox-value" value="2"
+ id="multi-checkbox-value-2" />
+ <label for="multi-checkbox-value-2">Two</label>
+ <label><input type="checkbox" name="multi-checkbox-value" value="3"
+ id="multi-checkbox-value-3" checked="checked" />Three
+ </label>
+ <label for="multi-checkbox-value-3">Third</label>
+ </div>
+
+ <div>
+ (Radio: options have the labels)
+ <em tal:condition="request/radio-value|nothing"
+ tal:content="request/radio-value"></em>
+ <label><input type="radio" name="radio-value" value="1" />Ein</label>
+ <input type="radio" name="radio-value" id="radio-value-2" value="2"
+ checked="checked" />
+ <label for="radio-value-2">Zwei</label>
+ <label><input type="radio" name="radio-value" id="radio-value-3"
+ value="3" /> Drei</label>
+ <label for="radio-value-3">Third</label>
+ </div>
+
+ <div>
+ <label for="image-value">Image Control</label>
+ <em tal:condition="request/image-value.x|nothing"
+ tal:content="request/image-value.x"></em>
+ <em tal:condition="request/image-value.y|nothing"
+ tal:content="request/image-value.y"></em>
+ <input type="image" name="image-value" id="image-value"
+ src="zope3logo.gif" />
+ </div>
+
+ <div>
+ <label for="submit-value">Standard Submit Control</label>
+ <em tal:condition="request/submit-value|nothing"
+ tal:content="request/submit-value"></em>
+ <input type="submit" name="submit-value" id="submit-value"
+ value="Submit This" />
+ </div>
+
+ <div>
+ <label for="ambiguous-control-name">Ambiguous Control</label>
+ <input type="text" name="ambiguous-control-name"
+ id="ambiguous-control-name" value="First" />
+ </div>
+
+ <div>
+ <label for="ambiguous-control-name">Ambiguous Control</label>
+ <input type="text" name="ambiguous-control-name"
+ id="ambiguous-control-name" value="Second" />
+ </div>
+
+ <div>
+ <label for="label-needs-normalization"> The Label
+ Needs Whitespace Normalization
+ Badly </label>
+ <input type="text" name="label-needs-normalization"
+ id="label-needs-normalization" />
+ </div>
+
+ <div>
+ <label for="non-word-characters">*[non word characters should not
+ confuse]</label>
+ <input type="text" name="non-word-characters"
+ id="non-word-characters" />
+ </div>
+
+ <div>
+ <label for="two-labels">Multiple labels really</label>
+ <label for="two-labels">really are possible</label>
+ <input type="text" name="two-labels"
+ id="two-labels" />
+ </div>
+
+ <div>
+ <label>Labels can be connected by containing their respective fields
+ <input type="text" name="contained-in-label" />
+ </label>
+ </div>
+
+ <div>
+ If you have a select field with a label that overlaps with one of its
+ options' labels, that is ambiguous.
+ <label for="ambiguous-subcontrol">Sub-control Ambiguity</label>
+ <select name="ambiguous-subcontrol" id="ambiguous-subcontrol">
+ <option value="">(none)</option>
+ <option value="ambiguous">Sub-control Ambiguity Exemplified</option>
+ </select>
+ </div>
+
+
+ </form>
+
+ </body>
+</html>
Property changes on: Zope3/branches/3.3/src/zope/testbrowser/ftests/controls.pt
___________________________________________________________________
Name: svn:eol-style
+ native
Deleted: Zope3/branches/3.3/src/zope/testbrowser/ftests/forms.html
===================================================================
--- Zope3/branches/3.3/src/zope/testbrowser/ftests/forms.html 2006-08-17 11:39:03 UTC (rev 69591)
+++ Zope3/branches/3.3/src/zope/testbrowser/ftests/forms.html 2006-08-17 12:26:06 UTC (rev 69592)
@@ -1,40 +0,0 @@
-<html>
- <body>
-
- <h1>Forms Tests</h1>
-
- <em tal:condition="request/text-value|nothing"
- tal:content="request/text-value" />
-
- <form id="1" name="one" action="forms.html"
- enctype="multipart/form-data" method="post">
- <input type="text" name="text-value" value="First Text" />
- <input type="image" name="image-1" src="zope3logo.gif" />
- <input type="submit" name="submit-1" value="Submit" />
- </form>
-
- <form id="2" name="two" action="forms.html">
- <input type="text" name="text-value" value="Second Text" />
- <input type="submit" name="submit-2" value="Submit" />
- </form>
-
- <form id="3" name="three" action="forms.html">
- <label for="text-value-3">Text Control</label>
- <input type="text" name="text-value" id="text-value-3"
- value="Third Text" />
- <input type="submit" name="submit-3" value="Submit" />
- </form>
-
- <form action="forms.html">
- <label for="text-value-4">Text Control</label>
- <input type="text" name="text-value" id="text-value-4"
- value="Fourth Text" />
- <em tal:condition="python: 'hidden-4' in request.form and
- 'submit-4' not in request.form"
- >Submitted without the submit button.</em>
- <input type="submit" name="submit-4" value="Don't Submit Me" />
- <input type="hidden" name="hidden-4" value="marker" />
- </form>
-
- </body>
-</html>
Added: Zope3/branches/3.3/src/zope/testbrowser/ftests/forms.pt
===================================================================
--- Zope3/branches/3.3/src/zope/testbrowser/ftests/forms.pt 2006-08-17 11:39:03 UTC (rev 69591)
+++ Zope3/branches/3.3/src/zope/testbrowser/ftests/forms.pt 2006-08-17 12:26:06 UTC (rev 69592)
@@ -0,0 +1,40 @@
+<html>
+ <body>
+
+ <h1>Forms Tests</h1>
+
+ <em tal:condition="request/text-value|nothing"
+ tal:content="request/text-value" />
+
+ <form id="1" name="one" action="forms.pt"
+ enctype="multipart/form-data" method="post">
+ <input type="text" name="text-value" value="First Text" />
+ <input type="image" name="image-1" src="zope3logo.gif" />
+ <input type="submit" name="submit-1" value="Submit" />
+ </form>
+
+ <form id="2" name="two" action="forms.pt">
+ <input type="text" name="text-value" value="Second Text" />
+ <input type="submit" name="submit-2" value="Submit" />
+ </form>
+
+ <form id="3" name="three" action="forms.pt">
+ <label for="text-value-3">Text Control</label>
+ <input type="text" name="text-value" id="text-value-3"
+ value="Third Text" />
+ <input type="submit" name="submit-3" value="Submit" />
+ </form>
+
+ <form action="forms.pt">
+ <label for="text-value-4">Text Control</label>
+ <input type="text" name="text-value" id="text-value-4"
+ value="Fourth Text" />
+ <em tal:condition="python: 'hidden-4' in request.form and
+ 'submit-4' not in request.form"
+ >Submitted without the submit button.</em>
+ <input type="submit" name="submit-4" value="Don't Submit Me" />
+ <input type="hidden" name="hidden-4" value="marker" />
+ </form>
+
+ </body>
+</html>
Property changes on: Zope3/branches/3.3/src/zope/testbrowser/ftests/forms.pt
___________________________________________________________________
Name: svn:eol-style
+ native
Deleted: Zope3/branches/3.3/src/zope/testbrowser/ftests/navigate.html
===================================================================
--- Zope3/branches/3.3/src/zope/testbrowser/ftests/navigate.html 2006-08-17 11:39:03 UTC (rev 69591)
+++ Zope3/branches/3.3/src/zope/testbrowser/ftests/navigate.html 2006-08-17 12:26:06 UTC (rev 69592)
@@ -1,39 +0,0 @@
-<html>
- <body>
-
- <h1>Navigation Tests</h1>
-
- <p tal:condition="request/message|nothing">
- Message: <em tal:content="request/message">Message</em>
- </p>
-
- <a href="navigate.html?message=By+Link+Text">Link Text</a>
-
- <a href="navigate.html?message=By+Link+Text+with+Normalization"> Link Text
- with Whitespace Normalization (and parens) </a>
-
- <a href="navigate.html?message=By+URL">Using the URL</a>
-
- <a href="navigate.html?message=By+Name" name="anchorname">By Anchor Name</a>
-
- <a href="navigate.html?message=By+Id" id="anchorid">By Anchor Id</a>
-
- <a href="navigate.html?message=Spaces in URL">Spaces in the URL</a>
-
- <form action="navigate.html" method="post">
- <input name="message" value="By Form Submit" />
- <input type="submit" name="submit-form" value="Submit" />
- </form>
-
- <img src="./zope3logo.gif" usemap="#zope3logo" />
- <map name="zope3logo">
- <area shape="rect" alt="Zope3"
- href="navigate.html?message=Zope+3+Name" id="zope3" title="Zope 3"
- coords="44,7,134,33" />
- <area shape="circle" alt="Logo"
- href="navigate.html?message=Logo" id="logo" title="Logo"
- coords="23,21,18" />
- </map>
-
- </body>
-</html>
Added: Zope3/branches/3.3/src/zope/testbrowser/ftests/navigate.pt
===================================================================
--- Zope3/branches/3.3/src/zope/testbrowser/ftests/navigate.pt 2006-08-17 11:39:03 UTC (rev 69591)
+++ Zope3/branches/3.3/src/zope/testbrowser/ftests/navigate.pt 2006-08-17 12:26:06 UTC (rev 69592)
@@ -0,0 +1,39 @@
+<html>
+ <body>
+
+ <h1>Navigation Tests</h1>
+
+ <p tal:condition="request/message|nothing">
+ Message: <em tal:content="request/message">Message</em>
+ </p>
+
+ <a href="navigate.pt?message=By+Link+Text">Link Text</a>
+
+ <a href="navigate.pt?message=By+Link+Text+with+Normalization"> Link Text
+ with Whitespace Normalization (and parens) </a>
+
+ <a href="navigate.pt?message=By+URL">Using the URL</a>
+
+ <a href="navigate.pt?message=By+Name" name="anchorname">By Anchor Name</a>
+
+ <a href="navigate.pt?message=By+Id" id="anchorid">By Anchor Id</a>
+
+ <a href="navigate.pt?message=Spaces in URL">Spaces in the URL</a>
+
+ <form action="navigate.pt" method="post">
+ <input name="message" value="By Form Submit" />
+ <input type="submit" name="submit-form" value="Submit" />
+ </form>
+
+ <img src="./zope3logo.gif" usemap="#zope3logo" />
+ <map name="zope3logo">
+ <area shape="rect" alt="Zope3"
+ href="navigate.pt?message=Zope+3+Name" id="zope3" title="Zope 3"
+ coords="44,7,134,33" />
+ <area shape="circle" alt="Logo"
+ href="navigate.pt?message=Logo" id="logo" title="Logo"
+ coords="23,21,18" />
+ </map>
+
+ </body>
+</html>
Property changes on: Zope3/branches/3.3/src/zope/testbrowser/ftests/navigate.pt
___________________________________________________________________
Name: svn:eol-style
+ native
Deleted: Zope3/branches/3.3/src/zope/testbrowser/ftests/notitle.html
===================================================================
--- Zope3/branches/3.3/src/zope/testbrowser/ftests/notitle.html 2006-08-17 11:39:03 UTC (rev 69591)
+++ Zope3/branches/3.3/src/zope/testbrowser/ftests/notitle.html 2006-08-17 12:26:06 UTC (rev 69592)
@@ -1,5 +0,0 @@
-<html>
- <body>
- <h1>No Title</h1>
- </body>
-</html>
\ No newline at end of file
Added: Zope3/branches/3.3/src/zope/testbrowser/ftests/notitle.pt
===================================================================
--- Zope3/branches/3.3/src/zope/testbrowser/ftests/notitle.pt 2006-08-17 11:39:03 UTC (rev 69591)
+++ Zope3/branches/3.3/src/zope/testbrowser/ftests/notitle.pt 2006-08-17 12:26:06 UTC (rev 69592)
@@ -0,0 +1,5 @@
+<html>
+ <body>
+ <h1>No Title</h1>
+ </body>
+</html>
\ No newline at end of file
Property changes on: Zope3/branches/3.3/src/zope/testbrowser/ftests/notitle.pt
___________________________________________________________________
Name: svn:eol-style
+ native
Deleted: Zope3/branches/3.3/src/zope/testbrowser/ftests/simple.html
===================================================================
--- Zope3/branches/3.3/src/zope/testbrowser/ftests/simple.html 2006-08-17 11:39:03 UTC (rev 69591)
+++ Zope3/branches/3.3/src/zope/testbrowser/ftests/simple.html 2006-08-17 12:26:06 UTC (rev 69592)
@@ -1,8 +0,0 @@
-<html>
- <head>
- <title>Simple Page</title>
- </head>
- <body>
- <h1>Simple Page</h1>
- </body>
-</html>
Added: Zope3/branches/3.3/src/zope/testbrowser/ftests/simple.pt
===================================================================
--- Zope3/branches/3.3/src/zope/testbrowser/ftests/simple.pt 2006-08-17 11:39:03 UTC (rev 69591)
+++ Zope3/branches/3.3/src/zope/testbrowser/ftests/simple.pt 2006-08-17 12:26:06 UTC (rev 69592)
@@ -0,0 +1,8 @@
+<html>
+ <head>
+ <title>Simple Page</title>
+ </head>
+ <body>
+ <h1>Simple Page</h1>
+ </body>
+</html>
Property changes on: Zope3/branches/3.3/src/zope/testbrowser/ftests/simple.pt
___________________________________________________________________
Name: svn:eol-style
+ native
More information about the Zope3-Checkins
mailing list