@@ -1903,6 +1903,31 @@ fn reverse_dependencies_includes_published_by_user_when_present() {
1903
1903
) ;
1904
1904
}
1905
1905
1906
+ #[ test]
1907
+ fn reverse_dependencies_query_supports_u64_version_number_parts ( ) {
1908
+ let ( app, anon, user) = TestApp :: init ( ) . with_user ( ) ;
1909
+ let user = user. as_model ( ) ;
1910
+
1911
+ let large_but_valid_version_number = format ! ( "1.0.{}" , std:: u64 :: MAX ) ;
1912
+
1913
+ app. db ( |conn| {
1914
+ let c1 = CrateBuilder :: new ( "c1" , user. id ) . expect_build ( conn) ;
1915
+ // The crate that depends on c1...
1916
+ CrateBuilder :: new ( "c2" , user. id )
1917
+ // ...has a patch version at the limits of what the semver crate supports
1918
+ . version ( VersionBuilder :: new ( & large_but_valid_version_number) . dependency ( & c1, None ) )
1919
+ . expect_build ( conn) ;
1920
+ } ) ;
1921
+
1922
+ let deps = anon. reverse_dependencies ( "c1" ) ;
1923
+ assert_eq ! ( deps. dependencies. len( ) , 1 ) ;
1924
+ assert_eq ! ( deps. meta. total, 1 ) ;
1925
+ assert_eq ! ( deps. dependencies[ 0 ] . crate_id, "c1" ) ;
1926
+ assert_eq ! ( deps. versions. len( ) , 1 ) ;
1927
+ assert_eq ! ( deps. versions[ 0 ] . krate, "c2" ) ;
1928
+ assert_eq ! ( deps. versions[ 0 ] . num, large_but_valid_version_number) ;
1929
+ }
1930
+
1906
1931
#[ test]
1907
1932
fn author_license_and_description_required ( ) {
1908
1933
let ( _, _, _, token) = TestApp :: init ( ) . with_token ( ) ;
0 commit comments