def test_many_star(self): actual = _build_pattern_string( '**/**/foo/**/**/bar/**/**abc****def**/**') expect = '^([^/]*/)*([^/]*/)*foo/([^/]*/)*([^/]*/)*bar/([^/]*/)*[^/]*[^/]*abc[^/]*[^/]*[^/]*[^/]*def[^/]*[^/]*/.*$' self.assertSequenceEqual(expect, actual)
def test_translate_three_star_at_end(self): actual = _build_pattern_string('foo/***') expect = '^foo/[^/]*[^/]*[^/]*/?$' eq_(expect, actual)
def test_double_star_without_leading_slash(self): actual = _build_pattern_string('foo/bar**/abc') expect = '^foo/bar[^/]*[^/]*/abc/?$' eq_(expect, actual)
def test_translate_single_star_at_end(self): actual = _build_pattern_string('foo*') expect = '^foo[^/]*/?$' eq_(expect, actual)
def test_translate_single_star_between_slash(self): actual = _build_pattern_string('foo/*/bar') expect = '^foo/[^/]*/bar/?$' eq_(expect, actual)
def test_translate_single_star_at_begin(self): actual = _build_pattern_string('*foo') expect = '^[^/]*foo/?$' eq_(expect, actual)
def test_translate_single_star_at_middle(self): actual = _build_pattern_string('f*oo') expect = '^f[^/]*oo/?$' eq_(expect, actual)
def test_translate_wrong_double_star_at_begin_2(self): actual = _build_pattern_string('**foo/**') expect = '^[^/]*[^/]*foo/.*$' eq_(expect, actual)
def test_translate_double_star_at_middle(self): actual = _build_pattern_string('foo/**/bar') expect = '^foo/([^/]*/)*bar/?$' eq_(expect, actual)
def test_translate_double_star_at_end(self): actual = _build_pattern_string('foo/**') expect = '^foo/.*$' eq_(expect, actual)
def test_translate_double_star_at_begin(self): actual = _build_pattern_string('**/foo') expect = '^([^/]*/)*foo/?$' eq_(expect, actual)
def test_add_shorthand(self): actual = _build_pattern_string('foo/') expect = '^foo/.*$' eq_(expect, actual)
def test_translate_dot(self): actual = _build_pattern_string('foo.txt') expect = '^foo\.txt/?$' eq_(expect, actual)
def test_normalize_path(self): actual = _build_pattern_string('foo\\bar') expect = '^foo/bar/?$' eq_(expect, actual)
def test_ok(self): actual = _build_pattern_string('foo') expect = '^foo/?$' eq_(expect, actual)
def test_empty(self): actual = _build_pattern_string('') expect = '^$' eq_(expect, actual)