devtools/test/unittest_qunit.py
author Denis Laxalde <denis.laxalde@logilab.fr>
Mon, 09 Nov 2015 11:34:28 +0100
changeset 10975 6615ecb60244
parent 10940 343a43503018
permissions -rw-r--r--
[tox] Use generating environments Drop the "env" option, which is unknown, and set a generative_ "envlist". Then use conditional dependencies based on factors_ to avoid repeating environment sections. The only singular one is the "cubicweb" environment because of its "commands". At some point, it'd be nice to find a way to have python version prefixes (py27-hooks or py34-web) for environment names but I could not find a way to extract the package name from such names. .. _generative: http://tox.readthedocs.org/en/latest/config.html#generative-envlist .. _factors: http://tox.readthedocs.org/en/latest/config.html#factors-and-factor-conditional-settings

from cubicweb.devtools import qunit


def js(name):
    return '/static/js_examples/' + name

class QUnitTestCaseTC(qunit.QUnitTestCase):

    all_js_tests = (
                    (js('test_simple_success.js'),),
                    (js('test_with_dep.js'), (js('dep_1.js'),)),
                    (js('test_with_ordered_deps.js'), (js('dep_1.js'), js('deps_2.js'),)),
                   )


    def test_simple_failure(self):
        js_tests = list(self._test_qunit(js('test_simple_failure.js')))
        self.assertEqual(len(js_tests), 3)
        test_1, test_2, test_3 = js_tests
        self.assertRaises(self.failureException, test_1[0], *test_1[1:])
        self.assertRaises(self.failureException, test_2[0], *test_2[1:])
        test_3[0](*test_3[1:])


if __name__ == '__main__':
    from unittest import main
    main()