11"""Tests for dbcore query parsing helpers."""
22
3+ import sys
4+
35import pytest
46
57from beets .dbcore import ModelQuery , query , sort
68from beets .dbcore .queryparse import QueryTerm
9+ from beets .test ._common import WIN32_NO_IMPLICIT_PATHS
710from beets .test .fixtures import ModelFixture1 , SortFixture
811
912_p = pytest .param
@@ -26,12 +29,25 @@ class TestQueryTermParsing:
2629 ("test:" , ("test" , "" , query .SubstringQuery )),
2730 (r":regexp" , (None , "regexp" , query .RegexpQuery )),
2831 (r"test::regexp" , ("test" , "regexp" , query .RegexpQuery )),
29- (r"test\:val" , (None , "test:val" , query .SubstringQuery )),
32+ _p (
33+ r"test\:val" ,
34+ (None , "test:val" , query .SubstringQuery ),
35+ marks = pytest .mark .skipif (
36+ sys .platform == "win32" ,
37+ reason = "Backslash is parsed as a path separator in Windows" ,
38+ ),
39+ ),
3040 (r":test\:regexp" , (None , "test:regexp" , query .RegexpQuery )),
3141 ("year:1999" , ("year" , "1999" , query .NumericQuery )),
3242 ("year:1999..2010" , ("year" , "1999..2010" , query .NumericQuery )),
3343 ("" , (None , "" , query .SubstringQuery )),
34- ("/tmp" , ("path" , "/tmp" , query .PathQuery )),
44+ _p (
45+ "/tmp" ,
46+ ("path" , "/tmp" , query .PathQuery ),
47+ marks = pytest .mark .skipif (
48+ sys .platform == "win32" , reason = WIN32_NO_IMPLICIT_PATHS
49+ ),
50+ ),
3551 ],
3652 )
3753 def test_query_term_parsing (self , query_string , expected ):
0 commit comments