@@ -414,6 +414,24 @@ class TestPrefs(DefaultEnum):
414414 assert TestPrefs .BAR .value
415415
416416
417+ def test_path_search_ilike (library : Library ):
418+ results = library .search_library (FilterState .from_path ("bar.md" ))
419+ assert results .total_count == 1
420+ assert len (results .items ) == 1
421+
422+
423+ def test_path_search_like (library : Library ):
424+ results = library .search_library (FilterState .from_path ("BAR.MD" ))
425+ assert results .total_count == 0
426+ assert len (results .items ) == 0
427+
428+
429+ def test_path_search_default_with_sep (library : Library ):
430+ results = library .search_library (FilterState .from_path ("one/two" ))
431+ assert results .total_count == 1
432+ assert len (results .items ) == 1
433+
434+
417435def test_path_search_glob_after (library : Library ):
418436 results = library .search_library (FilterState .from_path ("foo*" ))
419437 assert results .total_count == 1
@@ -432,6 +450,50 @@ def test_path_search_glob_both_sides(library: Library):
432450 assert len (results .items ) == 1
433451
434452
453+ def test_path_search_ilike_glob_equality (library : Library ):
454+ results_ilike = library .search_library (FilterState .from_path ("one/two" ))
455+ results_glob = library .search_library (FilterState .from_path ("*one/two*" ))
456+ assert [e .id for e in results_ilike .items ] == [e .id for e in results_glob .items ]
457+ results_ilike , results_glob = None , None
458+
459+ results_ilike = library .search_library (FilterState .from_path ("bar.md" ))
460+ results_glob = library .search_library (FilterState .from_path ("*bar.md*" ))
461+ assert [e .id for e in results_ilike .items ] == [e .id for e in results_glob .items ]
462+ results_ilike , results_glob = None , None
463+
464+ results_ilike = library .search_library (FilterState .from_path ("bar" ))
465+ results_glob = library .search_library (FilterState .from_path ("*bar*" ))
466+ assert [e .id for e in results_ilike .items ] == [e .id for e in results_glob .items ]
467+ results_ilike , results_glob = None , None
468+
469+ results_ilike = library .search_library (FilterState .from_path ("bar.md" ))
470+ results_glob = library .search_library (FilterState .from_path ("*bar.md*" ))
471+ assert [e .id for e in results_ilike .items ] == [e .id for e in results_glob .items ]
472+ results_ilike , results_glob = None , None
473+
474+
475+ def test_path_search_like_glob_equality (library : Library ):
476+ results_ilike = library .search_library (FilterState .from_path ("ONE/two" ))
477+ results_glob = library .search_library (FilterState .from_path ("*ONE/two*" ))
478+ assert [e .id for e in results_ilike .items ] == [e .id for e in results_glob .items ]
479+ results_ilike , results_glob = None , None
480+
481+ results_ilike = library .search_library (FilterState .from_path ("BAR.MD" ))
482+ results_glob = library .search_library (FilterState .from_path ("*BAR.MD*" ))
483+ assert [e .id for e in results_ilike .items ] == [e .id for e in results_glob .items ]
484+ results_ilike , results_glob = None , None
485+
486+ results_ilike = library .search_library (FilterState .from_path ("BAR.MD" ))
487+ results_glob = library .search_library (FilterState .from_path ("*bar.md*" ))
488+ assert [e .id for e in results_ilike .items ] != [e .id for e in results_glob .items ]
489+ results_ilike , results_glob = None , None
490+
491+ results_ilike = library .search_library (FilterState .from_path ("bar.md" ))
492+ results_glob = library .search_library (FilterState .from_path ("*BAR.MD*" ))
493+ assert [e .id for e in results_ilike .items ] != [e .id for e in results_glob .items ]
494+ results_ilike , results_glob = None , None
495+
496+
435497@pytest .mark .parametrize (["filetype" , "num_of_filetype" ], [("md" , 1 ), ("txt" , 1 ), ("png" , 0 )])
436498def test_filetype_search (library , filetype , num_of_filetype ):
437499 results = library .search_library (FilterState .from_filetype (filetype ))
0 commit comments