Aion-Format
view release on metacpan or search on metacpan
t/aion/format/url.t view on Meta::CPAN
use common::sense; use open qw/:std :utf8/; use Carp qw//; use Cwd qw//; use File::Basename qw//; use File::Find qw//; use File::Slurper qw//; use File::Spec qw//; use File::Path qw//; use Scalar::Util qw//; use Test::More 0.98; use String::Diff q...
# # NAME
#
# Aion::Format::Url - ÑÑилиÑÑ Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ декодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ URL-адÑеÑов
#
# # SYNOPSIS
#
subtest 'SYNOPSIS' => sub {
use Aion::Format::Url;
local ($::_g0 = do {to_url_params {a => 1, b => [[1,2],3,{x=>10}]}}, $::_e0 = "a&b[][]&b[][1]=2&b[1]=3&b[2][x]=10"); ::ok $::_g0 eq $::_e0, 'to_url_params {a => 1, b => [[1,2],3,{x=>10}]} # => a&b[][]&b[][1]=2&b[1]=3&b[2][x]=10' or ::diag ::_string_d...
local ($::_g0 = do {normalize_url "?x", "http://load.er/fix/mix?y=6"}, $::_e0 = "http://load.er/fix/mix?x"); ::ok $::_g0 eq $::_e0, 'normalize_url "?x", "http://load.er/fix/mix?y=6" # => http://load.er/fix/mix?x' or ::diag ::_string_diff($::_g0, $::...
#
# # DESCRIPTION
#
# УÑилиÑÑ Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ декодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ URL-адÑеÑов.
#
# # SUBROUTINES
#
# ## to_url_param (;$scalar)
#
# ÐкÑаниÑÑÐµÑ `$scalar` Ð´Ð»Ñ ÑаÑÑи поиÑка URL.
#
::done_testing; }; subtest 'to_url_param (;$scalar)' => sub {
local ($::_g0 = do {to_url_param "a b"}, $::_e0 = "a+b"); ::ok $::_g0 eq $::_e0, 'to_url_param "a b" # => a+b' or ::diag ::_string_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {[map to_url_param, "a b", "ð¦"]}, $::_e0 = do {[qw/a+b %F0%9F%A6%81/]}); ::is_deeply $::_g0, $::_e0, '[map to_url_param, "a b", "ð¦"] # --> [qw/a+b %F0%9F%A6%81/]' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef ...
#
# ## to_url_params (;$hash_ref)
#
# ÐенеÑиÑÑÐµÑ Ð¿Ð¾Ð¸ÑковÑÑ ÑаÑÑÑ URL-адÑеÑа.
#
::done_testing; }; subtest 'to_url_params (;$hash_ref)' => sub {
local $_ = {a => 1, b => [[1,2],3,{x=>10}]};
local ($::_g0 = do {to_url_params}, $::_e0 = "a&b[][]&b[][1]=2&b[1]=3&b[2][x]=10"); ::ok $::_g0 eq $::_e0, 'to_url_params # => a&b[][]&b[][1]=2&b[1]=3&b[2][x]=10' or ::diag ::_string_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# 1. ÐлÑÑи Ñо знаÑениÑми `undef` оÑбÑаÑÑваÑÑÑÑ.
# 1. ÐнаÑение `1` иÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÐºÐ»ÑÑа без знаÑениÑ.
# 1. ÐлÑÑи пÑеобÑазÑÑÑÑÑ Ð² алÑавиÑном поÑÑдке.
#
local ($::_g0 = do {to_url_params {k => "", n => undef, f => 1}}, $::_e0 = "f&k="); ::ok $::_g0 eq $::_e0, 'to_url_params {k => "", n => undef, f => 1} # => f&k=' or ::diag ::_string_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# ## from_url_params (;$scalar)
#
# ÐаÑÑÐ¸Ñ Ð¿Ð¾Ð¸ÑковÑÑ ÑаÑÑÑ URL-адÑеÑа.
#
::done_testing; }; subtest 'from_url_params (;$scalar)' => sub {
local $_ = 'a&b[][]&b[][1]=2&b[1]=3&b[2][x]=10';
local ($::_g0 = do {from_url_params}, $::_e0 = do {{a => 1, b => [[1,2],3,{x=>10}]}}); ::is_deeply $::_g0, $::_e0, 'from_url_params # --> {a => 1, b => [[1,2],3,{x=>10}]}' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# ## from_url_param (;$scalar)
#
# ÐÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¿Ð°ÑÑинга клÑÑей и знаÑений в паÑамеÑÑе URL.
#
# ÐбÑаÑнÑй к `to_url_param`.
#
::done_testing; }; subtest 'from_url_param (;$scalar)' => sub {
local $_ = to_url_param 'â¬';
local ($::_g0 = do {from_url_param}, $::_e0 = "â¬"); ::ok $::_g0 eq $::_e0, 'from_url_param # => â¬' or ::diag ::_string_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# ## parse_url ($url, $onpage, $dir)
#
# ÐаÑÑÐ¸Ñ Ð¸ ноÑмализÑÐµÑ URL.
#
# * `$url` â URL-адÑÐµÑ Ð¸Ð»Ð¸ его ÑаÑÑÑ Ð´Ð»Ñ Ð¿Ð°ÑÑинга.
# * `$onpage` â URL-адÑÐµÑ ÑÑÑаниÑÑ Ñ `$url`. ÐÑли `$url` не завеÑÑен, Ñо он дополнÑеÑÑÑ Ð¾ÑÑÑда. ÐеобÑзаÑелÑнÑй. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑÐµÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ `$o...
# * `$dir` (bool): 1 â ноÑмализоваÑÑ URL-пÑÑÑ Ñ "/" на конÑе, еÑли ÑÑо каÑалог. 0 â без «/».
#
::done_testing; }; subtest 'parse_url ($url, $onpage, $dir)' => sub {
my $res = {
proto => "off",
dom => "off",
domain => "off",
link => "off://off",
orig => "",
onpage => "off://off",
};
local ($::_g0 = do {parse_url ""}, $::_e0 = do {$res}); ::is_deeply $::_g0, $::_e0, 'parse_url "" # --> $res' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
$res = {
( run in 0.831 second using v1.01-cache-2.11-cpan-39bf76dae61 )