@@ -506,13 +506,21 @@ fn suggest_value_hint_file_path() {
506506 let testdir_path = testdir. path ( ) . unwrap ( ) ;
507507
508508 fs:: write ( testdir_path. join ( "a_file" ) , "" ) . unwrap ( ) ;
509+ fs:: write ( testdir_path. join ( ".a_file" ) , "" ) . unwrap ( ) ;
509510 fs:: write ( testdir_path. join ( "b_file" ) , "" ) . unwrap ( ) ;
511+ fs:: write ( testdir_path. join ( ".b_file" ) , "" ) . unwrap ( ) ;
510512 fs:: create_dir_all ( testdir_path. join ( "c_dir" ) ) . unwrap ( ) ;
513+ fs:: create_dir_all ( testdir_path. join ( ".c_dir" ) ) . unwrap ( ) ;
511514 fs:: create_dir_all ( testdir_path. join ( "d_dir" ) ) . unwrap ( ) ;
515+ fs:: create_dir_all ( testdir_path. join ( ".d_dir" ) ) . unwrap ( ) ;
512516
513517 assert_data_eq ! (
514518 complete!( cmd, "--input [TAB]" , current_dir = Some ( testdir_path) ) ,
515519 snapbox:: str ![ [ r#"
520+ .a_file
521+ .b_file
522+ .c_dir/
523+ .d_dir/
516524a_file
517525b_file
518526c_dir/
@@ -524,16 +532,38 @@ d_dir/
524532 complete!( cmd, "--input a[TAB]" , current_dir = Some ( testdir_path) ) ,
525533 snapbox:: str ![ "a_file" ] ,
526534 ) ;
535+ assert_data_eq ! (
536+ complete!( cmd, "--input .[TAB]" , current_dir = Some ( testdir_path) ) ,
537+ snapbox:: str ![ [ r#"
538+ ./.a_file
539+ ./.b_file
540+ ./.c_dir/
541+ ./.d_dir/
542+ ./a_file
543+ ./b_file
544+ ./c_dir/
545+ ./d_dir/
546+ "# ] ] ,
547+ ) ;
548+ assert_data_eq ! (
549+ complete!( cmd, "--input .a[TAB]" , current_dir = Some ( testdir_path) ) ,
550+ snapbox:: str ![ ".a_file" ] ,
551+ ) ;
527552}
528553
529554#[ test]
530555fn suggest_value_path_file ( ) {
531556 let testdir = snapbox:: dir:: DirRoot :: mutable_temp ( ) . unwrap ( ) ;
532557 let testdir_path = testdir. path ( ) . unwrap ( ) ;
558+
533559 fs:: write ( testdir_path. join ( "a_file" ) , "" ) . unwrap ( ) ;
560+ fs:: write ( testdir_path. join ( ".a_file" ) , "" ) . unwrap ( ) ;
534561 fs:: write ( testdir_path. join ( "b_file" ) , "" ) . unwrap ( ) ;
562+ fs:: write ( testdir_path. join ( ".b_file" ) , "" ) . unwrap ( ) ;
535563 fs:: create_dir_all ( testdir_path. join ( "c_dir" ) ) . unwrap ( ) ;
564+ fs:: create_dir_all ( testdir_path. join ( ".c_dir" ) ) . unwrap ( ) ;
536565 fs:: create_dir_all ( testdir_path. join ( "d_dir" ) ) . unwrap ( ) ;
566+ fs:: create_dir_all ( testdir_path. join ( ".d_dir" ) ) . unwrap ( ) ;
537567
538568 let mut cmd = Command :: new ( "dynamic" )
539569 . arg (
@@ -551,8 +581,12 @@ fn suggest_value_path_file() {
551581 assert_data_eq ! (
552582 complete!( cmd, "--input [TAB]" , current_dir = Some ( testdir_path) ) ,
553583 snapbox:: str ![ [ r#"
584+ .a_file
585+ .b_file
554586a_file
555587b_file
588+ .c_dir/
589+ .d_dir/
556590c_dir/
557591d_dir/
558592- stdio
@@ -563,16 +597,38 @@ d_dir/
563597 complete!( cmd, "--input a[TAB]" , current_dir = Some ( testdir_path) ) ,
564598 snapbox:: str ![ "a_file" ] ,
565599 ) ;
600+ assert_data_eq ! (
601+ complete!( cmd, "--input .[TAB]" , current_dir = Some ( testdir_path) ) ,
602+ snapbox:: str ![ [ r#"
603+ ./.a_file
604+ ./.b_file
605+ ./a_file
606+ ./b_file
607+ ./.c_dir/
608+ ./.d_dir/
609+ ./c_dir/
610+ ./d_dir/
611+ "# ] ] ,
612+ ) ;
613+ assert_data_eq ! (
614+ complete!( cmd, "--input .a[TAB]" , current_dir = Some ( testdir_path) ) ,
615+ snapbox:: str ![ ".a_file" ] ,
616+ ) ;
566617}
567618
568619#[ test]
569620fn suggest_value_path_dir ( ) {
570621 let testdir = snapbox:: dir:: DirRoot :: mutable_temp ( ) . unwrap ( ) ;
571622 let testdir_path = testdir. path ( ) . unwrap ( ) ;
623+
572624 fs:: write ( testdir_path. join ( "a_file" ) , "" ) . unwrap ( ) ;
625+ fs:: write ( testdir_path. join ( ".a_file" ) , "" ) . unwrap ( ) ;
573626 fs:: write ( testdir_path. join ( "b_file" ) , "" ) . unwrap ( ) ;
627+ fs:: write ( testdir_path. join ( ".b_file" ) , "" ) . unwrap ( ) ;
574628 fs:: create_dir_all ( testdir_path. join ( "c_dir" ) ) . unwrap ( ) ;
629+ fs:: create_dir_all ( testdir_path. join ( ".c_dir" ) ) . unwrap ( ) ;
575630 fs:: create_dir_all ( testdir_path. join ( "d_dir" ) ) . unwrap ( ) ;
631+ fs:: create_dir_all ( testdir_path. join ( ".d_dir" ) ) . unwrap ( ) ;
576632
577633 let mut cmd = Command :: new ( "dynamic" )
578634 . arg (
@@ -589,6 +645,8 @@ fn suggest_value_path_dir() {
589645 complete!( cmd, "--input [TAB]" , current_dir = Some ( testdir_path) ) ,
590646 snapbox:: str ![ [ r#"
591647.
648+ .c_dir/
649+ .d_dir/
592650c_dir/
593651d_dir/
594652"# ] ] ,
@@ -598,6 +656,19 @@ d_dir/
598656 complete!( cmd, "--input c[TAB]" , current_dir = Some ( testdir_path) ) ,
599657 snapbox:: str ![ "c_dir/" ] ,
600658 ) ;
659+ assert_data_eq ! (
660+ complete!( cmd, "--input .[TAB]" , current_dir = Some ( testdir_path) ) ,
661+ snapbox:: str ![ [ r#"
662+ ./.c_dir/
663+ ./.d_dir/
664+ ./c_dir/
665+ ./d_dir/
666+ "# ] ] ,
667+ ) ;
668+ assert_data_eq ! (
669+ complete!( cmd, "--input .c[TAB]" , current_dir = Some ( testdir_path) ) ,
670+ snapbox:: str ![ ".c_dir/" ] ,
671+ ) ;
601672}
602673
603674#[ test]
0 commit comments