source: pyenvjasmine/pyenvjasmine/tests/test_runner.py@ 0:0175515fceea

Last change on this file since 0:0175515fceea was 0:0175515fceea, checked in by Borja Lopez <borja@…>, 9 years ago

Imported sources from http://repos.betabug.ch/pyenvjasmine

File size: 3.6 KB
Line 
1import unittest
2import os
3
4from pyenvjasmine.runner import TestRunner
5
6
7class RunnerTests(unittest.TestCase):
8 def setUp(self):
9 pass
10
11 def tearDown(self):
12 pass
13
14 def test_runner_defaults(self):
15 """
16 Test the runner, using default values (which wil run the demo specs)
17 """
18 jstests = TestRunner()
19 output = jstests.run()
20 self.assertTrue('Failed: 0' in output)
21 self.assertTrue('Passed: 5' in output)
22
23 def test_runner_params(self):
24 """
25 Test the runner, giving it some parameters
26 """
27 here = os.path.dirname(__file__)
28 sample = os.path.join(here, 'sample')
29 conf_file = os.path.join(sample, 'configfile.js')
30 envjasmine_dir = os.path.join(os.path.dirname(here), 'envjasmine')
31 jstests = TestRunner(
32 rootdir=envjasmine_dir,
33 testdir=sample,
34 configfile=conf_file,
35 )
36 output = jstests.run(spec='tests/specs/test_demo.spec.js')
37 lines = output.splitlines()
38 self.assertTrue(lines[0].endswith('specs/test_demo.spec.js'),
39 "wrong output: %s" % str(output))
40 self.assertTrue(lines[1].startswith('[ Envjs/1.6 (Rhino;'),
41 "wrong output: %s" % str(output))
42 self.assertTrue('Passed: 4' in lines)
43 self.assertTrue('Failed: 0' in lines)
44 self.assertTrue('Total : 4' in lines)
45
46 def test_write_browser_htmlfile_markup_is_correct(self):
47 """
48 Test the created markup
49 """
50 here = os.path.dirname(__file__)
51 sample = os.path.join(here, 'sample')
52 browser_conf_file = os.path.join(sample, 'browser.configfile.js')
53 envjasmine_dir = os.path.join(os.path.dirname(here), 'envjasmine')
54 jstests = TestRunner(
55 rootdir=envjasmine_dir,
56 testdir=sample,
57 browser_configfile=browser_conf_file
58 )
59 expected = jstests.create_testRunnerHtml()
60 jstests.run(spec='tests/specs/test_demo.spec.js')
61 with open("browser.runner.html",'r') as file:
62 actual = file.read()
63 self.assertEqual(expected, actual)
64
65 def test_runner_with_browser_configfile(self):
66 """
67 Test the runner, giving it some parameters incl the browser config file
68 """
69 here = os.path.dirname(__file__)
70 sample = os.path.join(here, 'sample')
71 browser_conf_file = os.path.join(sample, 'browser.configfile.js')
72 envjasmine_dir = os.path.join(os.path.dirname(here), 'envjasmine')
73 jstests = TestRunner(
74 rootdir=envjasmine_dir,
75 testdir=sample,
76 browser_configfile=browser_conf_file
77 )
78 jstests.run(spec='tests/specs/test_demo.spec.js')
79
80 def test_get_environment(self):
81 """
82 Testing the OS specific code
83 Could not figure out how to do this using mock,
84 so monkey patching the old way.
85 """
86 from pyenvjasmine.runner import get_environment
87 import os
88 old_os_name = os.name
89 try:
90 os.name = 'nt'
91 res = get_environment()
92 self.assertEqual(res, '--environment=WIN')
93 os.name = 'posix'
94 res = get_environment()
95 self.assertEqual(res, '--environment=UNIX')
96 finally:
97 os.name = old_os_name
98
99 def test_not_capture_output(self):
100 """
101 Running a test without capturing output
102 """
103 jstests = TestRunner()
104 print '--- output expected ---'
105 output = jstests.run(capture_output=False)
106 print '--- end output expected ---'
107 self.assertEqual(output, None)
108
Note: See TracBrowser for help on using the repository browser.