Wow, I'm not sure how or if you are going to be able to run a doctest on a 
form in a controller.

Running it in a web2py shell only returns the form:

In [1] : import os
In [2] : execfile(os.path.join(request.folder,'controllers/default.py'))
In [3] : print do_nothing()
{'form': <gluon.html.FORM object at 0x12028c70>}

I cleaned up your code a bit and it works fine:

def do_nothing():
    form=FORM('Your name:',
              INPUT(_name='name', requires=IS_NOT_EMPTY()),
              INPUT(_type='submit'))
    if form.accepts(request.vars, session):
        response.flash = 'form accepted'
        return dict(message='Your name is %s' % (form.vars.name))
    elif form.errors:
        response.flash = 'form has errors'
    else:
        response.flash = 'please fill the form'
    return dict(form=form)

Reply via email to