Aion-Fs
view release on metacpan or search on metacpan
t/aion/fs.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::Fs - ÑÑилиÑÑ Ð´Ð»Ñ Ñайловой ÑиÑÑемÑ: ÑÑение, запиÑÑ, поиÑк, замена Ñайлов и Ñ.д.
#
# # VERSION
#
# 0.2.2
#
# # SYNOPSIS
#
subtest 'SYNOPSIS' => sub {
use Aion::Fs;
lay mkpath "hello/world.txt", "hi!";
lay mkpath "hello/moon.txt", "noreplace";
lay mkpath "hello/big/world.txt", "hellow!";
lay mkpath "hello/small/world.txt", "noenter";
::like scalar do {mtime "hello";}, qr{^\d+(\.\d+)?$}, 'mtime "hello"; # ~> ^\d+(\.\d+)?$'; undef $::_g0; undef $::_e0;
local ($::_g0 = do {[map cat, grep -f, find ["hello/big", "hello/small"]];}, $::_e0 = do {[qw/ hellow! noenter /]}); ::is_deeply $::_g0, $::_e0, '[map cat, grep -f, find ["hello/big", "hello/small"]]; # --> [qw/ hellow! noenter /]' or ::diag ::_stru...
my @noreplaced = replace { s/h/$a $b H/ }
find "hello", "-f", "*.txt", qr/\.txt$/, sub { /\.txt$/ },
noenter "*small*",
errorenter { warn "find $_: $!" };
local ($::_g0 = do {\@noreplaced;}, $::_e0 = do {["hello/moon.txt"]}); ::is_deeply $::_g0, $::_e0, '\@noreplaced; # --> ["hello/moon.txt"]' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {cat "hello/world.txt";}, $::_e0 = "hello/world.txt :utf8 Hi!"); ::ok $::_g0 eq $::_e0, 'cat "hello/world.txt"; # => hello/world.txt :utf8 Hi!' or ::diag ::_string_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {cat "hello/moon.txt";}, $::_e0 = "noreplace"); ::ok $::_g0 eq $::_e0, 'cat "hello/moon.txt"; # => noreplace' or ::diag ::_string_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {cat "hello/big/world.txt";}, $::_e0 = "hello/big/world.txt :utf8 Hellow!"); ::ok $::_g0 eq $::_e0, 'cat "hello/big/world.txt"; # => hello/big/world.txt :utf8 Hellow!' or ::diag ::_string_diff($::_g0, $::_e0); undef $::_g0; undef...
local ($::_g0 = do {cat "hello/small/world.txt";}, $::_e0 = "noenter"); ::ok $::_g0 eq $::_e0, 'cat "hello/small/world.txt"; # => noenter' or ::diag ::_string_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
local ($::_g0 = do {[find "hello", "*.txt"];}, $::_e0 = do {[qw! hello/moon.txt hello/world.txt hello/big/world.txt hello/small/world.txt !]}); ::is_deeply $::_g0, $::_e0, '[find "hello", "*.txt"]; # --> [qw! hello/moon.txt hello/world.txt he...
my @dirs;
my $iter = find "hello", "-d";
while(<$iter>) {
push @dirs, $_;
}
local ($::_g0 = do {\@dirs;}, $::_e0 = do {[qw! hello hello/big hello/small !]}); ::is_deeply $::_g0, $::_e0, '\@dirs; # --> [qw! hello hello/big hello/small !]' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
erase reverse find "hello";
local ($::_g0 = do {-e "hello";}, $::_e0 = do {undef}); ::ok defined($::_g0) == defined($::_e0) && $::_g0 eq $::_e0, '-e "hello"; # -> undef' or ::diag ::_struct_diff($::_g0, $::_e0); undef $::_g0; undef $::_e0;
#
# # DESCRIPTION
#
# ÐÑÐ¾Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð¾Ð±Ð»ÐµÐ³ÑÐ°ÐµÑ Ð¸ÑполÑзование Ñайловой ÑиÑÑемÑ.
#
# ÐодÑли `File::Path`, `File::Slurper` и
# `File::Find` обÑÐµÐ¼ÐµÐ½ÐµÐ½Ñ ÑазлиÑнÑми возможноÑÑÑми, коÑоÑÑе иÑполÑзÑÑÑÑÑ Ñедко, но ÑÑебÑÑÑ Ð²Ñемени на ознакомление и Ñем ÑамÑм повÑÑаÑÑ Ð¿Ð¾Ñог...
#
# Ð `Aion::Fs` же иÑполÑзован пÑинÑип пÑогÑаммиÑÐ¾Ð²Ð°Ð½Ð¸Ñ KISS - Ñем пÑоÑе, Ñем лÑÑÑе!
#
( run in 1.151 second using v1.01-cache-2.11-cpan-5511b514fd6 )