zopefoundation / z3c.form

An advanced form and widget framework for Zope 3
Other
8 stars 39 forks source link

Tests fail on Python 3.3 #13

Closed mgedmin closed 10 years ago

mgedmin commented 10 years ago
$ tox -e py33
...
======================================================================
FAIL: /home/mg/src/new-zope-order/z3c.form/.tox/py33/lib/python3.3/site-packages/z3c/form/browser/objectmulti.txt
Doctest: objectmulti.txt
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.3/doctest.py", line 2154, in runTest
    raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for objectmulti.txt
  File "/home/mg/src/new-zope-order/z3c.form/.tox/py33/lib/python3.3/site-packages/z3c/form/browser/objectmulti.txt", line 0

----------------------------------------------------------------------
File "/home/mg/src/new-zope-order/z3c.form/.tox/py33/lib/python3.3/site-packages/z3c/form/browser/objectmulti.txt", line 716, in objectmulti.txt
Failed example:
    print(widget.render())
Expected:
  <html>
    <body>
      <div class="multi-widget required">
        <div class="row" id="foo-0-row">
          <div class="label">
            <label for="foo-0">
              <span>my object widget</span>
              <span class="required">*</span>
            </label>
          </div>
          <div class="widget">
            <div class="multi-widget-checkbox">
              <input class="multi-widget-checkbox checkbox-widget" id="foo-0-remove" name="foo.0.remove" type="checkbox" value="1">
            </div>
            <div class="multi-widget-input">
              <div class="object-widget required">
                <div class="label">
                  <label for="foo-0-widgets-foofield">
                    <span>My foo field</span>
                    <span class="required">*</span>
                  </label>
                </div>
                <div class="widget">
                  <input class="text-widget required int-field" id="foo-0-widgets-foofield" name="foo.0.widgets.foofield" type="text" value="42">
                </div>
                <div class="label">
                  <label for="foo-0-widgets-barfield">
                    <span>My dear bar</span>
                  </label>
                </div>
                <div class="widget">
                  <input class="text-widget int-field" id="foo-0-widgets-barfield" name="foo.0.widgets.barfield" type="text" value="666">
                </div>
                <input name="foo.0-empty-marker" type="hidden" value="1">
              </div>
            </div>
          </div>
        </div>
        <div class="row" id="foo-1-row">
          <div class="label">
            <label for="foo-1">
              <span>my object widget</span>
              <span class="required">*</span>
            </label>
          </div>
          <div class="widget">
            <div class="multi-widget-checkbox">
              <input class="multi-widget-checkbox checkbox-widget" id="foo-1-remove" name="foo.1.remove" type="checkbox" value="1">
            </div>
            <div class="multi-widget-input">
              <div class="object-widget required">
                <div class="label">
                  <label for="foo-1-widgets-foofield">
                    <span>My foo field</span>
                    <span class="required">*</span>
                  </label>
                </div>
                <div class="widget">
                  <input class="text-widget required int-field" id="foo-1-widgets-foofield" name="foo.1.widgets.foofield" type="text" value="46">
                </div>
                <div class="label">
                  <label for="foo-1-widgets-barfield">
                    <span>My dear bar</span>
                  </label>
                </div>
                <div class="widget">
                  <input class="text-widget int-field" id="foo-1-widgets-barfield" name="foo.1.widgets.barfield" type="text" value="98">
                </div>
                <input name="foo.1-empty-marker" type="hidden" value="1">
              </div>
            </div>
          </div>
        </div>
        <div class="buttons">
          <input class="submit-widget button-field" id="foo-buttons-add" name="foo.buttons.add" type="submit" value="Add">
          <input class="submit-widget button-field" id="foo-buttons-remove" name="foo.buttons.remove" type="submit" value="Remove selected">
        </div>
      </div>
      <input name="foo.count" type="hidden" value="2">
    </body>
  </html>

Got:
  <html>
    <body>
      <div class="multi-widget required">
        <div class="buttons">
          <input class="submit-widget button-field" id="foo-buttons-add" name="foo.buttons.add" type="submit" value="Add">
        </div>
      </div>
      <input name="foo.count" type="hidden" value="0">
    </body>
  </html>

Diff:
  <html>
    <body>
      <div class="multi-widget required">
        <div class="buttons (got: row)" +id="foo-0-row">
          <div (got: input) class="submit-widget button-field (got: label)" -id="foo-buttons-add" -name="foo.buttons.add" -type="submit" -value="Add">
            +<label for="foo-0">
              <span>my object widget</span>
              <span class="required">*</span>
            </label>
          </div (got: input)>
          +<div class="widget">
            <div class="multi-widget-checkbox">
              <input class="multi-widget-checkbox checkbox-widget" id="foo-0-remove" name="foo.0.remove" type="checkbox" value="1">
            </div>
            <div class="multi-widget-input">
              <div class="object-widget required">
                <div class="label">
                  <label for="foo-0-widgets-foofield">
                    <span>My foo field</span>
                    <span class="required">*</span>
                  </label>
                </div>
                <div class="widget">
                  <input class="text-widget required int-field" id="foo-0-widgets-foofield" name="foo.0.widgets.foofield" type="text" value="42">
                </div>
                <div class="label">
                  <label for="foo-0-widgets-barfield">
                    <span>My dear bar</span>
                  </label>
                </div>
                <div class="widget">
                  <input class="text-widget int-field" id="foo-0-widgets-barfield" name="foo.0.widgets.barfield" type="text" value="666">
                </div>
                <input name="foo.0-empty-marker" type="hidden" value="1">
              </div>
            </div>
          </div>
        </div>
        +<div class="row" id="foo-1-row">
          <div class="label">
            <label for="foo-1">
              <span>my object widget</span>
              <span class="required">*</span>
            </label>
          </div>
          <div class="widget">
            <div class="multi-widget-checkbox">
              <input class="multi-widget-checkbox checkbox-widget" id="foo-1-remove" name="foo.1.remove" type="checkbox" value="1">
            </div>
            <div class="multi-widget-input">
              <div class="object-widget required">
                <div class="label">
                  <label for="foo-1-widgets-foofield">
                    <span>My foo field</span>
                    <span class="required">*</span>
                  </label>
                </div>
                <div class="widget">
                  <input class="text-widget required int-field" id="foo-1-widgets-foofield" name="foo.1.widgets.foofield" type="text" value="46">
                </div>
                <div class="label">
                  <label for="foo-1-widgets-barfield">
                    <span>My dear bar</span>
                  </label>
                </div>
                <div class="widget">
                  <input class="text-widget int-field" id="foo-1-widgets-barfield" name="foo.1.widgets.barfield" type="text" value="98">
                </div>
                <input name="foo.1-empty-marker" type="hidden" value="1">
              </div>
            </div>
          </div>
        </div>
        +<div class="buttons">
          <input class="submit-widget button-field" id="foo-buttons-add" name="foo.buttons.add" type="submit" value="Add">
          <input class="submit-widget button-field" id="foo-buttons-remove" name="foo.buttons.remove" type="submit" value="Remove selected">
        </div>
      </div>
      <input name="foo.count" type="hidden" value="0 (got: 2)">
    </body>
  </html>

======================================================================
FAIL: /home/mg/src/new-zope-order/z3c.form/.tox/py33/lib/python3.3/site-packages/z3c/form/browser/multi.txt
Doctest: multi.txt
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.3/doctest.py", line 2154, in runTest
    raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for multi.txt
  File "/home/mg/src/new-zope-order/z3c.form/.tox/py33/lib/python3.3/site-packages/z3c/form/browser/multi.txt", line 0

----------------------------------------------------------------------
File "/home/mg/src/new-zope-order/z3c.form/.tox/py33/lib/python3.3/site-packages/z3c/form/browser/multi.txt", line 372, in multi.txt
Failed example:
    print(widget.render())
Expected:
  <html>
    <body>
      <div class="multi-widget">
        <div class="row" id="widget-id-0-row">
          <div class="label">
            <label for="widget-id-0">
              <span>Number</span>
              <span class="required">*</span>
            </label>
          </div>
          <div class="widget">
            <div class="multi-widget-checkbox">
              <input class="multi-widget-checkbox checkbox-widget" id="widget-id-0-remove" name="widget.name.0.remove" type="checkbox" value="1">
            </div>
            <div class="multi-widget-input">
              <input class="text-widget required int-field" id="widget-id-0" name="widget.name.0" type="text" value="42">
            </div>
          </div>
        </div>
        <div class="row" id="widget-id-1-row">
          <div class="label">
            <label for="widget-id-1">
              <span>Number</span>
              <span class="required">*</span>
            </label>
          </div>
          <div class="widget">
            <div class="multi-widget-checkbox">
              <input class="multi-widget-checkbox checkbox-widget" id="widget-id-1-remove" name="widget.name.1.remove" type="checkbox" value="1">
            </div>
            <div class="multi-widget-input">
              <input class="text-widget required int-field" id="widget-id-1" name="widget.name.1" type="text" value="44">
            </div>
          </div>
        </div>
        <div class="buttons">
          <input class="submit-widget button-field" id="widget-name-buttons-add" name="widget.name.buttons.add" type="submit" value="Add">
          <input class="submit-widget button-field" id="widget-name-buttons-remove" name="widget.name.buttons.remove" type="submit" value="Remove selected">
        </div>
      </div>
      <input name="widget.name.count" type="hidden" value="2">
    </body>
  </html>

Got:
  <html>
    <body>
      <div class="multi-widget">
        <div class="buttons">
          <input class="submit-widget button-field" id="widget-name-buttons-add" name="widget.name.buttons.add" type="submit" value="Add">
        </div>
      </div>
      <input name="widget.name.count" type="hidden" value="0">
    </body>
  </html>

Diff:
  <html>
    <body>
      <div class="multi-widget">
        <div class="buttons (got: row)" +id="widget-id-0-row">
          <div (got: input) class="submit-widget button-field (got: label)" -id="widget-name-buttons-add" -name="widget.name.buttons.add" -type="submit" -value="Add">
            +<label for="widget-id-0">
              <span>Number</span>
              <span class="required">*</span>
            </label>
          </div (got: input)>
          +<div class="widget">
            <div class="multi-widget-checkbox">
              <input class="multi-widget-checkbox checkbox-widget" id="widget-id-0-remove" name="widget.name.0.remove" type="checkbox" value="1">
            </div>
            <div class="multi-widget-input">
              <input class="text-widget required int-field" id="widget-id-0" name="widget.name.0" type="text" value="42">
            </div>
          </div>
        </div>
        +<div class="row" id="widget-id-1-row">
          <div class="label">
            <label for="widget-id-1">
              <span>Number</span>
              <span class="required">*</span>
            </label>
          </div>
          <div class="widget">
            <div class="multi-widget-checkbox">
              <input class="multi-widget-checkbox checkbox-widget" id="widget-id-1-remove" name="widget.name.1.remove" type="checkbox" value="1">
            </div>
            <div class="multi-widget-input">
              <input class="text-widget required int-field" id="widget-id-1" name="widget.name.1" type="text" value="44">
            </div>
          </div>
        </div>
        +<div class="buttons">
          <input class="submit-widget button-field" id="widget-name-buttons-add" name="widget.name.buttons.add" type="submit" value="Add">
          <input class="submit-widget button-field" id="widget-name-buttons-remove" name="widget.name.buttons.remove" type="submit" value="Remove selected">
        </div>
      </div>
      <input name="widget.name.count" type="hidden" value="0 (got: 2)">
    </body>
  </html>

----------------------------------------------------------------------
Ran 37 tests in 3.635s

FAILED (failures=2)

The tests also fail on Travis