summaryrefslogtreecommitdiff
path: root/addons/web/static/test/testing.js
AgeCommit message (Collapse)Author
2012-11-16[REM] test runner feature which probably caused more trouble than it caughtXavier Morel
avoid catching exception in executed callback, it just hinders debugging by generated completely bonkers traces bzr revid: xmo@openerp.com-20121116105554-hu45anetrj1a8tl6
2012-11-16[FIX] deferred.pipe -> deferred.thenXavier Morel
bzr revid: xmo@openerp.com-20121116101417-mkcjrdtocl6w7408
2012-11-16[IMP] setup & teardown of test runnerXavier Morel
simplify code and make setup & teardown processes more reliable add testing.Stack tools which stacks promise-returning functions around the actual promise-returning function to execute (the test case itself). testing.Stack returns an object with 3 methods, ``push([setup][, teardown])``, ``unshift([setup][, teardown])`` and ``execute(fn, *args)``. ``push`` and ``unshift`` create a new stack with the provided setup and teardown added respectively at the top and bottom of the stack. ``execute`` will walk the stack from bottom to top executing ``setup`` handlers (and waiting on their result), if all setup handlers execute without failure the ``fn`` callback gets executed (and waited on) then *all* ``teardown`` handlers are executed from top to bottom: | setup | setup | setup | setup | fn | teardown | teardown | teardown V teardown If a ``setup`` handler fails (the promise is rejected), teardowns will start executing *from the previous level* (so the ``teardown`` matching the failed ``setup`` will *not* be run), but all ``teardowns`` below that will be run regardless, even if one fails the next one will still be executed. The stack will either ultimately return a promise rejection using the *first* rejection it got (a rejection may be cascading, so the rejection of a setup may also lead to or be linked to a teardown being rejected later), or will return the resolution from ``fn``. If ``execute`` is passed further arguments, those arguments will in turn be forwarded to ``fn`` as well as all ``setup`` and ``teardown`` handlers. bzr revid: xmo@openerp.com-20121116071712-zuld957icellezum
2012-10-25[ADD] first 90% of non-sucky testing API, last 90% leftXavier Morel
also all existing tests shoud now be completely broken and need to be fixed bzr revid: xmo@openerp.com-20121025154745-rw2gktfd6tp68k2m
2012-08-14[IMP] sed -i '' -e 's/connection/session/g'Christophe Simonis
bzr revid: chs@openerp.com-20120814152900-8r84kyz0qy1hwkvz
2012-07-04[TEST] saving of record being edited, improve RPC mocking to allow dispatch ↵Xavier Morel
on ORM method name bzr revid: xmo@openerp.com-20120704132822-3p4h1c6cyr0qvn2x
2012-07-04[IMP] extract some testing primitives to a dedicated module, migrate search ↵Xavier Morel
view tests to those bzr revid: xmo@openerp.com-20120704112406-1lqwahtdo7fnla8o