summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremerson.prado <emerson.prado@dataprev.gov.br>2019-03-05 13:54:20 -0300
committeremerson.prado <emerson.prado@dataprev.gov.br>2019-03-05 13:55:26 -0300
commitf6d7ffa4760b50bcec29f7e8eeed8bd2d5fe88bb (patch)
treecac588737380b52168874186ba98a33f29dee63c
parentffb1e0a3f37aa8238d50f5443c2f85d83c5f84aa (diff)
downloadpexpect-f6d7ffa4760b50bcec29f7e8eeed8bd2d5fe88bb.tar.gz
Add unit tests for regex coercing functions
-rwxr-xr-xtests/test_expect.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/test_expect.py b/tests/test_expect.py
index 2232e37..4726b94 100755
--- a/tests/test_expect.py
+++ b/tests/test_expect.py
@@ -121,6 +121,36 @@ class ExpectTestCase (PexpectTestCase.PexpectTestCase):
expected_type = unicode
return re.compile(expect_string), expected_type
+ def test_coerce_expect_re_enc_none (self):
+ '''This test that compiled regex patterns will always be bytes type
+ when spawn objects have no encoding or encoding=None
+ '''
+ r, expected_type = self._select_types()
+ p = pexpect.spawn('true')
+ c = pexpect.spawnbase.SpawnBase._coerce_expect_re(p, r)
+ self.assertIsInstance(c.pattern, expected_type)
+ p.expect (pexpect.EOF)
+
+ def test_coerce_expect_re_enc_ascii (self):
+ '''This test that compiled regex patterns won't ever be bytes type
+ when spawn objects have ascii encoding
+ '''
+ r, expected_type = self._select_types('ascii')
+ p = pexpect.spawn('true', encoding='ascii')
+ c = pexpect.spawnbase.SpawnBase._coerce_expect_re(p, r)
+ self.assertIsInstance(c.pattern, expected_type)
+ p.expect (pexpect.EOF)
+
+ def test_coerce_expect_re_enc_utf8 (self):
+ '''This test that compiled regex patterns won't ever be bytes type
+ when spawn objects have utf-8 encoding
+ '''
+ r, expected_type = self._select_types('utf-8')
+ p = pexpect.spawn('true', encoding='utf-8')
+ c = pexpect.spawnbase.SpawnBase._coerce_expect_re(p, r)
+ self.assertIsInstance(c.pattern, expected_type)
+ p.expect (pexpect.EOF)
+
def test_expect_order (self):
'''This tests that patterns are matched in the same order as given in the pattern_list.