1
1
use std:: collections:: BTreeMap ;
2
2
3
3
use assert_fs:: prelude:: * ;
4
- use camino:: Utf8PathBuf ;
5
4
use indoc:: indoc;
6
- use serde_json:: json;
7
-
8
5
use scarb_metadata:: { Cfg , ManifestMetadataBuilder , Metadata , PackageMetadata } ;
9
6
use scarb_test_support:: command:: { CommandExt , Scarb } ;
7
+ use scarb_test_support:: fsx:: PathBufUtf8Ext ;
10
8
use scarb_test_support:: project_builder:: ProjectBuilder ;
11
9
use scarb_test_support:: workspace_builder:: WorkspaceBuilder ;
10
+ use serde_json:: json;
12
11
13
12
fn packages_by_name ( meta : Metadata ) -> BTreeMap < String , PackageMetadata > {
14
13
meta. packages
@@ -285,7 +284,14 @@ fn manifest_targets_and_metadata() {
285
284
] ) )
286
285
. license( Some ( "MIT License" . to_string( ) ) )
287
286
. license_file( Some ( "./license.md" . to_string( ) ) )
288
- . readme( Utf8PathBuf :: from_path_buf( t. join( "README.md" ) . canonicalize( ) . unwrap( ) ) . ok( ) )
287
+ . readme(
288
+ t. join( "README.md" )
289
+ . canonicalize( )
290
+ . unwrap( )
291
+ . try_into_utf8( )
292
+ . unwrap( )
293
+ . into_string( )
294
+ )
289
295
. repository( Some ( "https://github.com/johndoe/repo" . to_string( ) ) )
290
296
. tool( Some ( BTreeMap :: from_iter( [
291
297
( "meta" . to_string( ) , json!( "data" ) ) ,
@@ -610,7 +616,14 @@ fn infer_readme_simple() {
610
616
. unwrap( )
611
617
. manifest_metadata
612
618
. readme,
613
- Utf8PathBuf :: from_path_buf( t. join( "README" ) . canonicalize( ) . unwrap( ) ) . ok( )
619
+ Some (
620
+ t. join( "README" )
621
+ . canonicalize( )
622
+ . unwrap( )
623
+ . try_into_utf8( )
624
+ . unwrap( )
625
+ . into_string( )
626
+ )
614
627
) ;
615
628
616
629
t. child ( "README.txt" ) . touch ( ) . unwrap ( ) ;
@@ -629,7 +642,14 @@ fn infer_readme_simple() {
629
642
. unwrap( )
630
643
. manifest_metadata
631
644
. readme,
632
- Utf8PathBuf :: from_path_buf( t. join( "README.txt" ) . canonicalize( ) . unwrap( ) ) . ok( )
645
+ Some (
646
+ t. join( "README.txt" )
647
+ . canonicalize( )
648
+ . unwrap( )
649
+ . try_into_utf8( )
650
+ . unwrap( )
651
+ . into_string( )
652
+ )
633
653
) ;
634
654
635
655
t. child ( "README.md" ) . touch ( ) . unwrap ( ) ;
@@ -648,7 +668,14 @@ fn infer_readme_simple() {
648
668
. unwrap( )
649
669
. manifest_metadata
650
670
. readme,
651
- Utf8PathBuf :: from_path_buf( t. join( "README.md" ) . canonicalize( ) . unwrap( ) ) . ok( )
671
+ Some (
672
+ t. join( "README.md" )
673
+ . canonicalize( )
674
+ . unwrap( )
675
+ . try_into_utf8( )
676
+ . unwrap( )
677
+ . into_string( )
678
+ )
652
679
) ;
653
680
654
681
t. child ( "Scarb.toml" )
@@ -683,7 +710,14 @@ fn infer_readme_simple() {
683
710
. unwrap( )
684
711
. manifest_metadata
685
712
. readme,
686
- Utf8PathBuf :: from_path_buf( t. join( "a/b/c/MEREAD.md" ) . canonicalize( ) . unwrap( ) ) . ok( )
713
+ Some (
714
+ t. join( "a/b/c/MEREAD.md" )
715
+ . canonicalize( )
716
+ . unwrap( )
717
+ . try_into_utf8( )
718
+ . unwrap( )
719
+ . into_string( )
720
+ )
687
721
) ;
688
722
}
689
723
@@ -762,7 +796,14 @@ fn infer_readme_simple_bool() {
762
796
. unwrap( )
763
797
. manifest_metadata
764
798
. readme,
765
- Utf8PathBuf :: from_path_buf( t. join( "README.md" ) . canonicalize( ) . unwrap( ) ) . ok( )
799
+ Some (
800
+ t. join( "README.md" )
801
+ . canonicalize( )
802
+ . unwrap( )
803
+ . try_into_utf8( )
804
+ . unwrap( )
805
+ . into_string( )
806
+ )
766
807
) ;
767
808
}
768
809
@@ -944,27 +985,72 @@ fn infer_readme_workspace() {
944
985
let packages = packages_by_name ( meta) ;
945
986
assert_eq ! (
946
987
packages. get( "hello" ) . unwrap( ) . manifest_metadata. readme,
947
- Utf8PathBuf :: from_path_buf( t. join( "MEREAD.md" ) . canonicalize( ) . unwrap( ) ) . ok( )
988
+ Some (
989
+ t. join( "MEREAD.md" )
990
+ . canonicalize( )
991
+ . unwrap( )
992
+ . try_into_utf8( )
993
+ . unwrap( )
994
+ . into_string( )
995
+ )
948
996
) ;
949
997
assert_eq ! (
950
998
packages. get( "t7" ) . unwrap( ) . manifest_metadata. readme,
951
- Utf8PathBuf :: from_path_buf( t. join( "MEREAD.md" ) . canonicalize( ) . unwrap( ) ) . ok( )
999
+ Some (
1000
+ t. join( "MEREAD.md" )
1001
+ . canonicalize( )
1002
+ . unwrap( )
1003
+ . try_into_utf8( )
1004
+ . unwrap( )
1005
+ . into_string( )
1006
+ )
952
1007
) ;
953
1008
assert_eq ! (
954
1009
packages. get( "t1" ) . unwrap( ) . manifest_metadata. readme,
955
- Utf8PathBuf :: from_path_buf( t. join( "MEREAD.md" ) . canonicalize( ) . unwrap( ) ) . ok( )
1010
+ Some (
1011
+ t. join( "MEREAD.md" )
1012
+ . canonicalize( )
1013
+ . unwrap( )
1014
+ . try_into_utf8( )
1015
+ . unwrap( )
1016
+ . into_string( )
1017
+ )
956
1018
) ;
957
1019
assert_eq ! (
958
1020
packages. get( "t2" ) . unwrap( ) . manifest_metadata. readme,
959
- Utf8PathBuf :: from_path_buf( t. child( "t2" ) . join( "README.md" ) . canonicalize( ) . unwrap( ) ) . ok( )
1021
+ Some (
1022
+ t. child( "t2" )
1023
+ . join( "README.md" )
1024
+ . canonicalize( )
1025
+ . unwrap( )
1026
+ . try_into_utf8( )
1027
+ . unwrap( )
1028
+ . into_string( )
1029
+ )
960
1030
) ;
961
1031
assert_eq ! (
962
1032
packages. get( "t3" ) . unwrap( ) . manifest_metadata. readme,
963
- Utf8PathBuf :: from_path_buf( t. child( "t3" ) . join( "README.txt" ) . canonicalize( ) . unwrap( ) ) . ok( )
1033
+ Some (
1034
+ t. child( "t3" )
1035
+ . join( "README.txt" )
1036
+ . canonicalize( )
1037
+ . unwrap( )
1038
+ . try_into_utf8( )
1039
+ . unwrap( )
1040
+ . into_string( )
1041
+ )
964
1042
) ;
965
1043
assert_eq ! (
966
1044
packages. get( "t4" ) . unwrap( ) . manifest_metadata. readme,
967
- Utf8PathBuf :: from_path_buf( t. child( "t4" ) . join( "TEST.txt" ) . canonicalize( ) . unwrap( ) ) . ok( )
1045
+ Some (
1046
+ t. child( "t4" )
1047
+ . join( "TEST.txt" )
1048
+ . canonicalize( )
1049
+ . unwrap( )
1050
+ . try_into_utf8( )
1051
+ . unwrap( )
1052
+ . into_string( )
1053
+ )
968
1054
) ;
969
1055
assert_eq ! ( packages. get( "t5" ) . unwrap( ) . manifest_metadata. readme, None ) ;
970
1056
assert_eq ! ( packages. get( "t6" ) . unwrap( ) . manifest_metadata. readme, None ) ;
0 commit comments