diff options
author | Damien George <damien.p.george@gmail.com> | 2014-12-24 20:28:30 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-12-24 20:28:30 +0000 |
commit | c55a4d82cf03d22933028bd9db4031ef349fdc1f (patch) | |
tree | 82ee56795109357a08c34b5a210608034eedc1f6 /tests | |
parent | 7fdb8d78a47e7d78c93aba3f58cc83b92d0e1729 (diff) | |
download | micropython-c55a4d82cf03d22933028bd9db4031ef349fdc1f.tar.gz micropython-c55a4d82cf03d22933028bd9db4031ef349fdc1f.zip |
py: Make bytes objs work with more str methods; add tests.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/basics/bytes_count.py | 48 | ||||
-rw-r--r-- | tests/basics/bytes_find.py | 23 | ||||
-rw-r--r-- | tests/basics/bytes_partition.py | 29 | ||||
-rw-r--r-- | tests/basics/bytes_replace.py | 13 | ||||
-rw-r--r-- | tests/basics/bytes_split.py | 28 | ||||
-rw-r--r-- | tests/basics/bytes_strip.py | 16 |
6 files changed, 157 insertions, 0 deletions
diff --git a/tests/basics/bytes_count.py b/tests/basics/bytes_count.py new file mode 100644 index 0000000000..95bcfe310e --- /dev/null +++ b/tests/basics/bytes_count.py @@ -0,0 +1,48 @@ +print(b"".count(b"")) +print(b"".count(b"a")) +print(b"a".count(b"")) +print(b"a".count(b"a")) +print(b"a".count(b"b")) +print(b"b".count(b"a")) + +print(b"aaa".count(b"")) +print(b"aaa".count(b"a")) +print(b"aaa".count(b"aa")) +print(b"aaa".count(b"aaa")) +print(b"aaa".count(b"aaaa")) + +print(b"aaaa".count(b"")) +print(b"aaaa".count(b"a")) +print(b"aaaa".count(b"aa")) +print(b"aaaa".count(b"aaa")) +print(b"aaaa".count(b"aaaa")) +print(b"aaaa".count(b"aaaaa")) + +print(b"aaa".count(b"", 1)) +print(b"aaa".count(b"", 2)) +print(b"aaa".count(b"", 3)) + +print(b"aaa".count(b"", 1, 2)) + +print(b"asdfasdfaaa".count(b"asdf", -100)) +print(b"asdfasdfaaa".count(b"asdf", -8)) +print(b"asdf".count(b's', True)) +print(b"asdf".count(b'a', True)) +print(b"asdf".count(b'a', False)) +print(b"asdf".count(b'a', 1 == 2)) +print(b"hello world".count(b'l')) +print(b"hello world".count(b'l', 5)) +print(b"hello world".count(b'l', 3)) +print(b"hello world".count(b'z', 3, 6)) +print(b"aaaa".count(b'a')) +print(b"aaaa".count(b'a', 0, 3)) +print(b"aaaa".count(b'a', 0, 4)) +print(b"aaaa".count(b'a', 0, 5)) +print(b"aaaa".count(b'a', 1, 5)) +print(b"aaaa".count(b'a', -1, 5)) +print(b"abbabba".count(b"abba")) + +def t(): + return True + +print(b"0000".count(b'0', t())) diff --git a/tests/basics/bytes_find.py b/tests/basics/bytes_find.py new file mode 100644 index 0000000000..434669a901 --- /dev/null +++ b/tests/basics/bytes_find.py @@ -0,0 +1,23 @@ +print(b"hello world".find(b"ll")) +print(b"hello world".find(b"ll", None)) +print(b"hello world".find(b"ll", 1)) +print(b"hello world".find(b"ll", 1, None)) +print(b"hello world".find(b"ll", None, None)) +print(b"hello world".find(b"ll", 1, -1)) +print(b"hello world".find(b"ll", 1, 1)) +print(b"hello world".find(b"ll", 1, 2)) +print(b"hello world".find(b"ll", 1, 3)) +print(b"hello world".find(b"ll", 1, 4)) +print(b"hello world".find(b"ll", 1, 5)) +print(b"hello world".find(b"ll", -100)) +print(b"0000".find(b'0')) +print(b"0000".find(b'0', 0)) +print(b"0000".find(b'0', 1)) +print(b"0000".find(b'0', 2)) +print(b"0000".find(b'0', 3)) +print(b"0000".find(b'0', 4)) +print(b"0000".find(b'0', 5)) +print(b"0000".find(b'-1', 3)) +print(b"0000".find(b'1', 3)) +print(b"0000".find(b'1', 4)) +print(b"0000".find(b'1', 5)) diff --git a/tests/basics/bytes_partition.py b/tests/basics/bytes_partition.py new file mode 100644 index 0000000000..3868a81a55 --- /dev/null +++ b/tests/basics/bytes_partition.py @@ -0,0 +1,29 @@ +print(b"asdf".partition(b'g')) +print(b"asdf".partition(b'a')) +print(b"asdf".partition(b's')) +print(b"asdf".partition(b'f')) +print(b"asdf".partition(b'd')) +print(b"asdf".partition(b'asd')) +print(b"asdf".partition(b'sdf')) +print(b"asdf".partition(b'as')) +print(b"asdf".partition(b'df')) +print(b"asdf".partition(b'asdf')) +print(b"asdf".partition(b'asdfa')) +print(b"asdf".partition(b'fasdf')) +print(b"asdf".partition(b'fasdfa')) +print(b"abba".partition(b'a')) +print(b"abba".partition(b'b')) + +try: + print(b"asdf".partition(1)) +except TypeError: + print("Raised TypeError") +else: + print("Did not raise TypeError") + +try: + print(b"asdf".partition(b'')) +except ValueError: + print("Raised ValueError") +else: + print("Did not raise ValueError") diff --git a/tests/basics/bytes_replace.py b/tests/basics/bytes_replace.py new file mode 100644 index 0000000000..24f03e61c2 --- /dev/null +++ b/tests/basics/bytes_replace.py @@ -0,0 +1,13 @@ +print(b"".replace(b"a", b"b")) +print(b"aaa".replace(b"a", b"b", 0)) +print(b"aaa".replace(b"a", b"b", -5)) +print(b"asdfasdf".replace(b"a", b"b")) +print(b"aabbaabbaabbaa".replace(b"aa", b"cc", 3)) +print(b"a".replace(b"aa", b"bb")) +print(b"testingtesting".replace(b"ing", b"")) +print(b"testINGtesting".replace(b"ing", b"ING!")) + +print(b"".replace(b"", b"1")) +print(b"A".replace(b"", b"1")) +print(b"AB".replace(b"", b"1")) +print(b"AB".replace(b"", b"12")) diff --git a/tests/basics/bytes_split.py b/tests/basics/bytes_split.py new file mode 100644 index 0000000000..a9dda1ee8b --- /dev/null +++ b/tests/basics/bytes_split.py @@ -0,0 +1,28 @@ +# default separator (whitespace) +print(b"a b".split()) +print(b" a b ".split(None)) +print(b" a b ".split(None, 1)) +print(b" a b ".split(None, 2)) +print(b" a b c ".split(None, 1)) +print(b" a b c ".split(None, 0)) +print(b" a b c ".split(None, -1)) + +# empty separator should fail +try: + b"abc".split(b'') +except ValueError: + print("ValueError") + +# non-empty separator +print(b"abc".split(b"a")) +print(b"abc".split(b"b")) +print(b"abc".split(b"c")) +print(b"abc".split(b"z")) +print(b"abc".split(b"ab")) +print(b"abc".split(b"bc")) +print(b"abc".split(b"abc")) +print(b"abc".split(b"abcd")) +print(b"abcabc".split(b"bc")) +print(b"abcabc".split(b"bc", 0)) +print(b"abcabc".split(b"bc", 1)) +print(b"abcabc".split(b"bc", 2)) diff --git a/tests/basics/bytes_strip.py b/tests/basics/bytes_strip.py new file mode 100644 index 0000000000..71e4ac1859 --- /dev/null +++ b/tests/basics/bytes_strip.py @@ -0,0 +1,16 @@ +print(b"".strip()) +print(b" \t\n\r\v\f".strip()) +print(b" T E S T".strip()) +print(b"abcabc".strip(b"ce")) +print(b"aaa".strip(b"b")) +print(b"abc efg ".strip(b"g a")) + +print(b' spacious '.lstrip()) +print(b'www.example.com'.lstrip(b'cmowz.')) + +print(b' spacious '.rstrip()) +print(b'mississippi'.rstrip(b'ipz')) + +# Test that stripping unstrippable string returns original object +s = b"abc" +print(id(s.strip()) == id(s)) |