Mercurial > hgrepos > Python > apps > py-cutils
annotate tests/test_match.py @ 296:ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Needed to implement inclusions and exclusions.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sun, 02 Mar 2025 22:54:40 +0100 |
| parents | |
| children | 141a3aa0b403 |
| rev | line source |
|---|---|
|
296
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
1 # -*- coding: utf-8 -*- |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
2 r"""Unit tests for :mod:`cutils.util.glob` |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
3 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
4 """ |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
5 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
6 from __future__ import absolute_import, print_function |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
7 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
8 import _test_setup # noqa: F401 imported but unused |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
9 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
10 import sys |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
11 import unittest |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
12 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
13 from cutils.util.glob import CharIter |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
14 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
15 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
16 class TestCharIter(unittest.TestCase): |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
17 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
18 def test_transitive_iter(self): |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
19 it = CharIter("1234") |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
20 self.assertIs(iter(it), it) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
21 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
22 def test_native_str(self): |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
23 it = CharIter("1234") |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
24 chars = [] |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
25 for c in it: |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
26 chars.append(c) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
27 self.assertEqual("1234", "".join(chars)) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
28 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
29 def test_unicode_str(self): |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
30 it = CharIter(u"1234") |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
31 chars = [] |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
32 for c in it: |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
33 chars.append(c) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
34 self.assertEqual(u"1234", "".join(chars)) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
35 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
36 def test_byte_str(self): |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
37 it = CharIter(b"1234") |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
38 chars = [] |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
39 for c in it: |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
40 chars.append(c) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
41 self.assertEqual(b"1234", b"".join(chars)) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
42 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
43 def test_peek_exhausted(self): |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
44 it = CharIter("1234") |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
45 for _ in it: |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
46 pass |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
47 self.assertIsNone(it.peek()) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
48 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
49 def test_peek_first(self): |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
50 it = CharIter("1234") |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
51 self.assertEqual("1", it.peek()) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
52 chars = "".join(it) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
53 self.assertEqual("1234", chars) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
54 self.assertIsNone(it.peek()) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
55 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
56 def test_peek_from_second(self): |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
57 it = CharIter("1234") |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
58 self.assertEqual("1", it.peek()) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
59 self.assertEqual("1", next(it)) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
60 self.assertEqual("2", it.peek()) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
61 chars = "".join(it) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
62 self.assertEqual("234", chars) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
63 self.assertIsNone(it.peek()) |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
64 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
65 |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
66 if __name__ == "__main__": |
|
ca293f708cb4
Begin some preparation for handling glob-style patterns in treeview.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
67 sys.exit(unittest.main()) |
