cubicweb/devtools/test/unittest_qunit.py
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Fri, 03 Nov 2017 16:31:59 +0100
changeset 12237 2dd0dcb2e5f9
parent 11898 c5d3382f14e9
child 12824 bc623a3e44e9
permissions -rw-r--r--
[test] Drop no more used "maxeid" based deletion in BaseQuerierTC and derived tests This is probably only necessary for QuerierTC itself, move it there and drop incantation from other derived classes to deactivate this feature.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11898
c5d3382f14e9 [devtools/test] Skip qunit tests in case of timeout
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11076
diff changeset
     1
from unittest import SkipTest
c5d3382f14e9 [devtools/test] Skip qunit tests in case of timeout
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11076
diff changeset
     2
10887
a0315e9f4c20 [tests] Don't import QUnitTestCase into tests' global namespace
Rémi Cardona <remi.cardona@logilab.fr>
parents: 8930
diff changeset
     3
from cubicweb.devtools import qunit
a0315e9f4c20 [tests] Don't import QUnitTestCase into tests' global namespace
Rémi Cardona <remi.cardona@logilab.fr>
parents: 8930
diff changeset
     4
5742
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     5
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     6
def js(name):
10935
049209b9e9d6 [qunit] stop dealing with filesystem paths
Rémi Cardona <remi.cardona@logilab.fr>, Julien Cristau <julien.cristau@logilab.fr>
parents: 10887
diff changeset
     7
    return '/static/js_examples/' + name
5742
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     8
10887
a0315e9f4c20 [tests] Don't import QUnitTestCase into tests' global namespace
Rémi Cardona <remi.cardona@logilab.fr>
parents: 8930
diff changeset
     9
class QUnitTestCaseTC(qunit.QUnitTestCase):
5742
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    10
11898
c5d3382f14e9 [devtools/test] Skip qunit tests in case of timeout
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11076
diff changeset
    11
    timeout_error = SkipTest
5742
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    12
    all_js_tests = (
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    13
                    (js('test_simple_success.js'),),
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    14
                    (js('test_with_dep.js'), (js('dep_1.js'),)),
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    15
                    (js('test_with_ordered_deps.js'), (js('dep_1.js'), js('deps_2.js'),)),
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    16
                   )
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    17
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    18
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    19
    def test_simple_failure(self):
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    20
        js_tests = list(self._test_qunit(js('test_simple_failure.js')))
6340
470d8e828fda [test] update test to unittest2 api (still using lgc.testlib though)
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 5742
diff changeset
    21
        self.assertEqual(len(js_tests), 3)
5742
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    22
        test_1, test_2, test_3 = js_tests
11076
403a901b6b1e [devtools] Re-implement generative tests using subtests
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11057
diff changeset
    23
        self.assertRaises(self.failureException, test_1[1], *test_1[2:])
403a901b6b1e [devtools] Re-implement generative tests using subtests
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11057
diff changeset
    24
        self.assertRaises(self.failureException, test_2[1], *test_2[2:])
403a901b6b1e [devtools] Re-implement generative tests using subtests
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11057
diff changeset
    25
        test_3[1](*test_3[2:])
5742
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    26
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    27
74c19dac29cf Add a QUnitTestCase class to run qunit test case.
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    28
if __name__ == '__main__':
10887
a0315e9f4c20 [tests] Don't import QUnitTestCase into tests' global namespace
Rémi Cardona <remi.cardona@logilab.fr>
parents: 8930
diff changeset
    29
    from unittest import main
a0315e9f4c20 [tests] Don't import QUnitTestCase into tests' global namespace
Rémi Cardona <remi.cardona@logilab.fr>
parents: 8930
diff changeset
    30
    main()