[libcatmandu-perl] 29/101: More path get, set, create, delete and retain tests

Jonas Smedegaard dr at jones.dk
Tue Feb 23 13:43:50 UTC 2016


This is an automated email from the git hooks/post-receive script.

js pushed a commit to branch master
in repository libcatmandu-perl.

commit 1f545a4c9020d04a23b86b9dbd86c18b700e63cf
Author: Patrick Hochstenbach <patrick.hochstenbach at ugent.be>
Date:   Fri Dec 11 15:26:27 2015 +0100

    More path get,set,create,delete and retain tests
---
 t/Catmandu-Fix.t | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 78 insertions(+), 1 deletion(-)

diff --git a/t/Catmandu-Fix.t b/t/Catmandu-Fix.t
index dcce5d1..3014545 100644
--- a/t/Catmandu-Fix.t
+++ b/t/Catmandu-Fix.t
@@ -80,4 +80,81 @@ $fixer = Catmandu::Fix->new(fixes => [IO::File->new('< t/myfixes.fix')]);
 ok $fixer;
 is_deeply $fixer->fix({}), {utf8_name => 'ვეპხის ტყაოსანი შოთა რუსთაველი'} , 'fixing utf8';
 
-done_testing 31;
\ No newline at end of file
+#-- get
+
+$fixer = Catmandu::Fix->new(fixes => ['copy_field(data.$first,test)']);
+is_deeply $fixer->fix({ data => [qw(0 1 2)]}) , {data => [qw(0 1 2)] , test => 0} , 'get $first test';
+
+$fixer = Catmandu::Fix->new(fixes => ['copy_field(data.$last,test)']);
+is_deeply $fixer->fix({ data => [qw(0 1 2)]}) , {data => [qw(0 1 2)] , test => 2} , 'get $last test';
+
+$fixer = Catmandu::Fix->new(fixes => ['copy_field(data.1,test)']);
+is_deeply $fixer->fix({ data => [qw(0 1 2)]}) , {data => [qw(0 1 2)] , test => 1} , 'get position test arary';
+
+$fixer = Catmandu::Fix->new(fixes => ['copy_field(data.1,test)']);
+is_deeply $fixer->fix({ data => { 1 => 1 }}) , {data => { 1 => 1} , test => 1} , 'get position test hash';
+
+$fixer = Catmandu::Fix->new(fixes => ['copy_field(data.*,test)']);
+is_deeply $fixer->fix({ data => [qw(0 1 2)]}) , {data => [qw(0 1 2)] , test => 2} , 'get star test arary';
+
+#-- set
+
+$fixer = Catmandu::Fix->new(fixes => ['copy_field(data,test.1)']);
+is_deeply $fixer->fix({ data => 1}) , {data => 1 , test => [undef,1] } , 'set position test';
+
+$fixer = Catmandu::Fix->new(fixes => ['copy_field(data,test.$first)']);
+is_deeply $fixer->fix({ data => 1 , test => [qw(0 1 2)]}) , {data => 1 , test => [qw(1 1 2)] } , 'set $first test';
+
+$fixer = Catmandu::Fix->new(fixes => ['copy_field(data,test.$last)']);
+is_deeply $fixer->fix({ data => 1 , test => [qw(0 1 2)]}) , {data => 1 , test => [qw(0 1 1)] } , 'set $last test';
+
+$fixer = Catmandu::Fix->new(fixes => ['copy_field(data,test.$prepend)']);
+is_deeply $fixer->fix({ data => 1 , test => [qw(0 1 2)]}) , {data => 1 , test => [qw(1 0 1 2)] } , 'set $prepend test';
+
+$fixer = Catmandu::Fix->new(fixes => ['copy_field(data,test.$append)']);
+is_deeply $fixer->fix({ data => 1 , test => [qw(0 1 2)]}) , {data => 1 , test => [qw(0 1 2 1)] } , 'set $append test';
+
+$fixer = Catmandu::Fix->new(fixes => ['copy_field(data,test.*)']);
+is_deeply $fixer->fix({ data => 1 , test => [qw(0 1 2)]}) , {data => 1 , test => [qw(1 1 1)] } , 'set star test';
+
+$fixer = Catmandu::Fix->new(fixes => ['copy_field(data,test.1)']);
+is_deeply $fixer->fix({ data => 1 , test => {}}) , {data => 1 , test => { 1 => 1} } , 'set hash test';
+
+#-- delete
+
+$fixer = Catmandu::Fix->new(fixes => ['remove_field(data.$first)']);
+is_deeply $fixer->fix({ data => [qw(0 1 2)]}) , {data => [qw(1 2)]} , 'remove $first test';
+
+$fixer = Catmandu::Fix->new(fixes => ['remove_field(data.$last)']);
+is_deeply $fixer->fix({ data => [qw(0 1 2)]}) , {data => [qw(0 1)]} , 'remove $last test';
+
+$fixer = Catmandu::Fix->new(fixes => ['remove_field(data.1)']);
+is_deeply $fixer->fix({ data => [qw(0 1 2)]}) , {data => [qw(0 2)]} , 'remove position test arary';
+
+$fixer = Catmandu::Fix->new(fixes => ['remove_field(data.1)']);
+is_deeply $fixer->fix({ data => { 1 => 1 }}) , {data => { } } , 'remove position test hash';
+
+$fixer = Catmandu::Fix->new(fixes => ['remove_field(data.*)']);
+is_deeply $fixer->fix({ data => [qw(0 1 2)]}) , {data => []} , 'remove star test arary';
+
+#-- retain
+
+$fixer = Catmandu::Fix->new(fixes => ['retain_field(data.$first)']);
+is_deeply $fixer->fix({ data => [qw(0 1 2)]}) , {data => [qw(0)]} , 'retain_field $first test';
+
+$fixer = Catmandu::Fix->new(fixes => ['retain_field(data.$last)']);
+is_deeply $fixer->fix({ data => [qw(0 1 2)]}) , {data => [qw(2)]} , 'retain_field $last test';
+
+$fixer = Catmandu::Fix->new(fixes => ['retain_field(data.1)']);
+is_deeply $fixer->fix({ data => [qw(0 1 2)]}) , {data => [qw(1)]} , 'retain_field position test arary';
+
+$fixer = Catmandu::Fix->new(fixes => ['retain_field(data.1)']);
+is_deeply $fixer->fix({ data => { 1 => 1 , 2 => 2 }}) , {data => { 1 => 1 } } , 'retain_field position test hash';
+
+$fixer = Catmandu::Fix->new(fixes => ['retain_field(data.*)']);
+is_deeply $fixer->fix({ data => [qw(0 1 2)]}) , {data => [qw(0 1 2)]} , 'retain_field star test arary';
+
+$fixer = Catmandu::Fix->new(fixes => ['retain_field(data.*)']);
+is_deeply $fixer->fix({ data => { 1 => 1 , 2 => 2 }}) , {data => { 1 => 1 , 2 => 2 }} , 'retain_field star test hash';
+
+done_testing 54;
\ No newline at end of file

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libcatmandu-perl.git



More information about the Pkg-perl-cvs-commits mailing list