本文整理汇总了Python中zope.publisher.browser.TestRequest.form[Update]方法的典型用法代码示例。如果您正苦于以下问题:Python TestRequest.form[Update]方法的具体用法?Python TestRequest.form[Update]怎么用?Python TestRequest.form[Update]使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zope.publisher.browser.TestRequest
的用法示例。
在下文中一共展示了TestRequest.form[Update]方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_update
# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import form[Update] [as 别名]
def test_update(self):
c = C()
request = TestRequest()
v = EV(c, request)
request.form[Update] = ''
request.form['field.foo'] = u'r foo'
request.form['field.bar'] = u'r bar'
request.form['field.getbaz'] = u'r baz'
request.form['field.a'] = u'c a'
message = v.update()
self.assertTrue(message.startswith('Updated '), message)
self.assertEqual(c.foo, u'r foo')
self.assertEqual(c.bar, u'r bar')
self.assertEqual(c.a , u'c a')
self.assertEqual(c.b , u'c b') # missing from form - unchanged
self.assertEqual(c.getbaz(), u'r baz')
# Verify that calling update multiple times has no effect
c.__dict__.clear()
self.assertEqual(v.update(), message)
self.assertEqual(c.foo, u'c foo')
self.assertEqual(c.bar, u'c bar')
self.assertEqual(c.a , u'c a')
self.assertEqual(c.b , u'c b')
self.assertEqual(c.getbaz(), u'c baz')
示例2: test_hooks
# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import form[Update] [as 别名]
def test_hooks(self):
@implementer(IAdding)
class Adding(object):
pass
adding = Adding()
self._invoke_add()
(descriminator, callable, args, kw) = self._context.last_action
factory = AddViewFactory(*args)
request = TestRequest()
request.form.update(dict([
("field.%s" % k, v)
for (k, v) in dict(SampleData.__dict__).items()
]))
request.form[Update] = ''
view = getMultiAdapter((adding, request), name='addthis')
# Add hooks to V
l=[None]
def add(aself, ob):
l[0] = ob
self.assertEqual(
ob.__dict__,
{'args': ("bar", "baz"),
'kw': {'email': '[email protected]'},
'_foo': 'foo',
})
return ob
V.add = add
V.nextURL = lambda self: 'next'
try:
self.assertEqual(view.update(), '')
self.assertEqual(view.errors, ())
self.assertEqual(l[0].extra1, "extra1")
self.assertEqual(l[0].extra2, "extra2")
self.assertEqual(l[0].name, "foo")
self.assertEqual(l[0].address, "aa")
self.assertEqual(request.response.getHeader("Location"), "next")
# Verify that calling update again doesn't do anything.
l[0] = None
self.assertEqual(view.update(), '')
self.assertEqual(l[0], None)
finally:
# Uninstall hooks
del V.add
del V.nextURL
示例3: test_update_via_adapter
# 需要导入模块: from zope.publisher.browser import TestRequest [as 别名]
# 或者: from zope.publisher.browser.TestRequest import form[Update] [as 别名]
def test_update_via_adapter(self):
f = Foo()
request = TestRequest()
v = BarV(f, request)
# check adapter
self.assertEqual(f.foo, u'Foo foo')
a = IBar(f)
self.assertEqual(a.bar, u'Foo foo')
# update
request.form[Update] = ''
request.form['field.bar'] = u'r bar'
message = v.update()
self.assertTrue(message.startswith('Updated '), message)
self.assertEqual(a.bar, u'r bar')
# wrong update
self.assertFalse(getEvents())