......
----------------------------------------------------------------------
Ran 6 tests in 0.001s

OK
[]
[(317, '*'), (324, '.'), (323, 'py')]
[(321, '\\*'), (324, '.'), (323, 'py')]
[(315, '['), (323, 'abc'), (316, ']')]
[(322, '\\')]
[(321, '\\x')]
[(321, '\\\\')]
[(315, '['), (315, '['), (324, ':'), (323, 'alpha'), (324, ':'), (316, ']'), (316, ']')]
[(315, '['), (318, '?'), (316, ']')]
===
*.py
regex   : .*\.py
warnings: []
===
*.?
regex   : .*\..
warnings: []
===
<*>
regex   : <.*>
warnings: []
===
\**+
regex   : \*.*\+
warnings: []
===
\**
regex   : \*.*
warnings: []
===
*.[ch]pp
regex   : .*\.[ch]pp
warnings: []
===
abc
regex   : abc
warnings: []
===
\*
regex   : \*
warnings: []
===
c:\foo
regex   : c:foo
warnings: []
===
strange]one
regex   : strange\]one
warnings: ['Got unescaped right bracket']
===
[[:space:]abc]
regex   : [[:space:]abc]
warnings: []
===
[abc]
regex   : [abc]
warnings: []
===
[\a\b\c]
regex   : [\a\b\c]
warnings: []
===
[abc\[]
regex   : [abc\[]
warnings: []
===
[!not]
regex   : [^not]
warnings: []
===
[^also_not]
regex   : [^also_not]
warnings: []
===
[!*?!\[]
regex   : [^*?!\[]
warnings: []
===
[!\]foo]
regex   : [^]foo]
warnings: []
===
not_closed[a-z
regex   : not_closed\[a-z
warnings: ['Malformed character class; treating as literal']
===
[[:spa[ce:]]
regex   : \[\[:spa\[ce:\]\]
warnings: ['Malformed character class; treating as literal']
===
[
regex   : \[
warnings: ['Malformed character class; treating as literal']
===
\
regex   : \\
warnings: ['Got unescaped trailing backslash']
===
]
regex   : \]
warnings: ['Got unescaped right bracket']