/* * Copyright (C) 2026 Mateusz GruszczyƄski @linuxiarz.pl * Source-Available Code / Dual-Licensed. * * Free for non-commercial and evaluation use under terms of BSL/GPLv3. * Commercial or production use requires a valid paid license. * See LICENSE file in repository root for details. */ use super::*; #[test] fn share_exchange_redirects_to_canonical_resource_path() { let uri: Uri = "/w/private?view=all&share=secret&page=2".parse().unwrap(); assert_eq!(canonical_resource_url(&uri), "/w/private?view=all&page=2"); } #[test] fn encoded_or_repeated_parameters_are_parsed_without_rejection() { let uri: Uri = "/w/private?%73hare=one&share=two".parse().unwrap(); assert_eq!( share_token_from_query(uri.query()), (true, Some("one".into())) ); assert_eq!(canonical_resource_url(&uri), "/w/private"); } #[test] fn malformed_share_parameter_is_still_removed_from_the_url() { let uri: Uri = "/w/private?share=%ZZ&keep=no".parse().unwrap(); assert_eq!(share_token_from_query(uri.query()), (true, None)); assert_eq!(canonical_resource_url(&uri), "/w/private?keep=no"); }