Mercurial > p > roundup > code
view test/test_memorydb.py @ 5988:39b8bc511ed7
Fix html generation errors for boolean options.
Code was generating xhtml form for html4 output.
In xhtml, Boolean attributes like 'disabled', 'required' are
represented with a value that is the same as the attribute name. E.G.
<input required="required" ...>. Html 5 (and 4) represents the same as
<input required ...> .
Recognize booleans in one of two ways:
value is None
value is the same as the attribute name
Make html4 and xhtml variants of cgi_escape_attrs. Have input_htmlp4
and input_xhtml call the proper variant. Also set HTMLInputMixin
property cgi_escape_atrs to select proper one similar to self.input
definition. Then replace calls to cgi_escape_attr with
self.cgi_escape_attrs to get correct output.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sat, 14 Dec 2019 16:18:15 -0500 |
| parents | d26921b851c3 |
| children | a77a7d04ed23 |
line wrap: on
line source
import unittest, os, shutil, time from roundup import hyperdb from .db_test_base import DBTest, ROTest, SchemaTest, config, setupSchema from . import memorydb class memorydbOpener: module = memorydb def nuke_database(self): # really kill it self.db = None db = None def open_database(self): if self.db is None: self.db = self.module.Database(config, 'admin') return self.db def setUp(self): self.open_database() setupSchema(self.db, 1, self.module) def tearDown(self): if self.db is not None: self.db.close() # nuke and re-create db for restore def nukeAndCreate(self): self.db.close() self.nuke_database() self.db = self.module.Database(config, 'admin') setupSchema(self.db, 0, self.module) class memorydbDBTest(memorydbOpener, DBTest, unittest.TestCase): pass class memorydbROTest(memorydbOpener, ROTest, unittest.TestCase): def setUp(self): self.db = self.module.Database(config) setupSchema(self.db, 0, self.module) class memorydbSchemaTest(memorydbOpener, SchemaTest, unittest.TestCase): pass from .session_common import SessionTest class memorydbSessionTest(memorydbOpener, SessionTest, unittest.TestCase): def setUp(self): self.db = self.module.Database(config, 'admin') setupSchema(self.db, 1, self.module) self.sessions = self.db.sessions # vim: set filetype=python ts=4 sw=4 et si
