Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/perl-namespace-clean/t/ |
Upload File : |
use strict; use warnings; use Test::More tests => 13; eval q{ package Class1; sub cleaned1 {} use namespace::clean; 1; } or die $@; ok !Class1->can('cleaned1'), 'basic clean'; eval q{ package Class1; sub cleaned2 {} use namespace::clean; 1; } or die $@; ok !Class1->can('cleaned2'), 'clean same class again'; eval q{ package Class2; sub cleaned1 {} use namespace::clean; sub left1 {} no namespace::clean; sub cleaned2 {} use namespace::clean; 1; } or die $@; ok !Class2->can('cleaned1'), 'basic clean before no'; ok +Class2->can('left1'), 'basic no clean'; ok !Class2->can('cleaned2'), 'basic clean after no'; eval q{ package Class2; sub cleaned3 {} use namespace::clean; sub left2 {} no namespace::clean; sub cleaned4 {} use namespace::clean; 1; } or die $@; ok !Class2->can('cleaned3'), 'clean again before no'; ok +Class2->can('left2'), 'clean again no clean'; ok !Class2->can('cleaned4'), 'clean again after no'; eval q{ package Class3; sub cleaned1 {} use namespace::clean; sub cleaned2 {} no namespace::clean; { sub cleaned3 {} use namespace::clean; } BEGIN { package main; ok !Class3->can('cleaned3'), 'clean inner scope'; { local $TODO = 'unable to differentiate scopes'; ok +Class3->can('cleaned1'), 'clean inner scope leaves outer'; } ok +Class3->can('cleaned2'), 'clean inner scope leaves outer no'; } use namespace::clean; 1; } or die $@; ok !Class3->can('cleaned1'), 'clean after scoped'; ok +Class3->can('cleaned2'), 'no clean after scoped';