OILS / builtin / trap_osh_test.py View on Github | oils.pub

42 lines, 29 significant
1#!/usr/bin/env python2
2"""
3trap_osh_test.py: Tests for trap_osh.py
4"""
5from __future__ import print_function
6
7import unittest
8
9from builtin import trap_osh # module under test
10
11
12class TrapTest(unittest.TestCase):
13
14 def setUp(self):
15 pass
16
17 def tearDown(self):
18 pass
19
20 def testParse(self):
21 cases = [
22 ('0', 'EXIT'),
23 (' 0 ', None),
24 ('EXIT', 'EXIT'),
25 ('eXIT', 'EXIT'),
26 ('2', 'INT'),
27 (' 2 ', None),
28 ('iNT', 'INT'),
29 ('sIGINT', 'INT'),
30 (' 42 ', None),
31 ('-150', None),
32 ('100000', None),
33 ('zzz', None),
34 ]
35 for user_str, expected in cases:
36 print('CASE %r' % user_str)
37 parsed_id = trap_osh._ParseSignalOrHook(user_str, None)
38 self.assertEqual(expected, parsed_id)
39
40
41if __name__ == '__main__':
42 unittest.main()