Skip to content

Commit 77b3fdb

Browse files
committed
test(complete): Show dot file behavior
1 parent f89b9b8 commit 77b3fdb

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

clap_complete/tests/testsuite/engine.rs

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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/
516524
a_file
517525
b_file
518526
c_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]
530555
fn 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
554586
a_file
555587
b_file
588+
.c_dir/
589+
.d_dir/
556590
c_dir/
557591
d_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]
569620
fn 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/
592650
c_dir/
593651
d_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

Comments
 (0)