680
680
#[ test]
681
681
fn suggest_multi_positional ( ) {
682
682
let mut cmd = Command :: new ( "dynamic" )
683
- . arg ( clap:: Arg :: new ( "positional-1" ) . value_parser ( [ "pos_1 " ] ) )
683
+ . arg ( clap:: Arg :: new ( "positional-1" ) . value_parser ( [ "pos_1_a" , "pos_1_b" , "pos_1_c "] ) )
684
684
. arg (
685
685
clap:: Arg :: new ( "positional-2" )
686
686
. value_parser ( [ "pos_2_a" , "pos_2_b" , "pos_2_c" ] )
@@ -694,7 +694,7 @@ fn suggest_multi_positional() {
694
694
) ;
695
695
696
696
assert_data_eq ! (
697
- complete!( cmd, "pos_1 pos_a [TAB]" ) ,
697
+ complete!( cmd, "pos_1_a pos_2_a [TAB]" ) ,
698
698
snapbox:: str ![ [ r#"
699
699
pos_2_a
700
700
pos_2_b
@@ -703,7 +703,7 @@ pos_2_c
703
703
) ;
704
704
705
705
assert_data_eq ! (
706
- complete!( cmd, "pos_1 pos_a pos_b [TAB]" ) ,
706
+ complete!( cmd, "pos_1_a pos_2_a pos_2_b [TAB]" ) ,
707
707
snapbox:: str ![ [ r#"
708
708
pos_2_a
709
709
pos_2_b
@@ -712,7 +712,7 @@ pos_2_c
712
712
) ;
713
713
714
714
assert_data_eq ! (
715
- complete!( cmd, "--format json pos_1 [TAB]" ) ,
715
+ complete!( cmd, "--format json pos_1_a [TAB]" ) ,
716
716
snapbox:: str ![ [ r#"
717
717
pos_2_a
718
718
pos_2_b
@@ -723,7 +723,7 @@ pos_2_c
723
723
) ;
724
724
725
725
assert_data_eq ! (
726
- complete!( cmd, "--format json pos_1 pos_a [TAB]" ) ,
726
+ complete!( cmd, "--format json pos_1_a pos_2_a [TAB]" ) ,
727
727
snapbox:: str ![ [ r#"
728
728
pos_2_a
729
729
pos_2_b
@@ -732,15 +732,15 @@ pos_2_c
732
732
) ;
733
733
734
734
assert_data_eq ! (
735
- complete!( cmd, "--format json pos_1 pos_a pos_b pos_c [TAB]" ) ,
735
+ complete!( cmd, "--format json pos_1_a pos_2_a pos_2_b pos_2_c [TAB]" ) ,
736
736
snapbox:: str ![ [ r#"
737
737
--format
738
738
--help Print help
739
739
"# ] ]
740
740
) ;
741
741
742
742
assert_data_eq ! (
743
- complete!( cmd, "--format json -- pos_1 pos_a [TAB]" ) ,
743
+ complete!( cmd, "--format json -- pos_1_a pos_2_a [TAB]" ) ,
744
744
snapbox:: str ![ [ r#"
745
745
pos_2_a
746
746
pos_2_b
@@ -749,7 +749,7 @@ pos_2_c
749
749
) ;
750
750
751
751
assert_data_eq ! (
752
- complete!( cmd, "--format json -- pos_1 pos_a pos_b [TAB]" ) ,
752
+ complete!( cmd, "--format json -- pos_1_a pos_2_a pos_2_b [TAB]" ) ,
753
753
snapbox:: str ![ [ r#"
754
754
pos_2_a
755
755
pos_2_b
@@ -758,7 +758,10 @@ pos_2_c
758
758
) ;
759
759
760
760
assert_data_eq ! (
761
- complete!( cmd, "--format json -- pos_1 pos_a pos_b pos_c [TAB]" ) ,
761
+ complete!(
762
+ cmd,
763
+ "--format json -- pos_1_a pos_2_a pos_2_b pos_2_c [TAB]"
764
+ ) ,
762
765
snapbox:: str ![ ]
763
766
) ;
764
767
}
@@ -767,8 +770,8 @@ pos_2_c
767
770
fn suggest_multi_positional_unbounded ( ) {
768
771
let mut cmd = Command :: new ( "dynamic" )
769
772
. arg (
770
- clap:: Arg :: new ( "positional" )
771
- . value_parser ( [ "pos_1 " , "pos_2 " ] )
773
+ clap:: Arg :: new ( "positional-1 " )
774
+ . value_parser ( [ "pos_1_a " , "pos_1_b" , "pos_1_c "] )
772
775
. num_args ( 2 ..) ,
773
776
)
774
777
. arg (
@@ -779,17 +782,18 @@ fn suggest_multi_positional_unbounded() {
779
782
) ;
780
783
781
784
assert_data_eq ! (
782
- complete!( cmd, "pos_1 [TAB]" ) ,
785
+ complete!( cmd, "pos_1_a [TAB]" ) ,
783
786
snapbox:: str ![ [ r#"
784
- pos_1
785
- pos_2
787
+ pos_1_a
788
+ pos_1_b
789
+ pos_1_c
786
790
"# ] ]
787
791
) ;
788
792
789
- assert_data_eq ! ( complete!( cmd, "pos_1 --[TAB]" ) , snapbox:: str ![ "" ] ) ;
793
+ assert_data_eq ! ( complete!( cmd, "pos_1_a --[TAB]" ) , snapbox:: str ![ "" ] ) ;
790
794
791
795
assert_data_eq ! (
792
- complete!( cmd, "pos_1 --format [TAB]" ) ,
796
+ complete!( cmd, "pos_1_a --format [TAB]" ) ,
793
797
snapbox:: str ![ [ r#"
794
798
json
795
799
yaml
@@ -798,27 +802,29 @@ toml
798
802
) ;
799
803
800
804
assert_data_eq ! (
801
- complete!( cmd, "pos_1 --format json [TAB]" ) ,
805
+ complete!( cmd, "pos_1_a --format json [TAB]" ) ,
802
806
snapbox:: str ![ [ r#"
803
- pos_1
804
- pos_2
807
+ pos_1_a
808
+ pos_1_b
809
+ pos_1_c
805
810
--format
806
811
--help Print help
807
812
"# ] ]
808
813
) ;
809
814
810
815
assert_data_eq ! (
811
- complete!( cmd, "pos_1 pos_2 --[TAB]" ) ,
816
+ complete!( cmd, "pos_1_a pos_1_b --[TAB]" ) ,
812
817
snapbox:: str ![ [ r#"
813
818
--format
814
819
--help Print help
815
820
"# ] ]
816
821
) ;
817
822
assert_data_eq ! (
818
- complete!( cmd, "pos_1 pos_2 --format json [TAB]" ) ,
823
+ complete!( cmd, "pos_1_a pos_1_b --format json [TAB]" ) ,
819
824
snapbox:: str ![ [ r#"
820
- pos_1
821
- pos_2
825
+ pos_1_a
826
+ pos_1_b
827
+ pos_1_c
822
828
--format
823
829
--help Print help
824
830
"# ] ]
0 commit comments