diff --git a/scratch/perl/text-piecetable/lib/Tree/BinaryFP.pm b/scratch/perl/text-piecetable/lib/Tree/BinaryFP.pm index 450c5e3..9ed9227 100644 --- a/scratch/perl/text-piecetable/lib/Tree/BinaryFP.pm +++ b/scratch/perl/text-piecetable/lib/Tree/BinaryFP.pm @@ -18,8 +18,8 @@ sub reverse { my $self = shift; return $self->new({ %$self, - left => $self->right, - right => $self->left, + left => $self->right->reverse, + right => $self->left->reverse, }); } sub mk_node { diff --git a/scratch/perl/text-piecetable/t/04-tree-fp.t b/scratch/perl/text-piecetable/t/04-tree-fp.t index 6688456..f62a4bf 100644 --- a/scratch/perl/text-piecetable/t/04-tree-fp.t +++ b/scratch/perl/text-piecetable/t/04-tree-fp.t @@ -54,6 +54,9 @@ sub test_match { test_match( $node, 0, e(d,f), 'e(d,f)' ); my ($e, $f, $d) = test_match( $node, 1, e(f,d), 'e(f,d)' ); +test_match( $node, 1, e(f,any), 'e(f,any)' ); + +test_match( $node, 1, e(any,f)->reverse, 'e(any,f)->reverse' ); test_match( $node, 1, e(d,f)->reverse, 'e(d,f)->reverse' ); test_match( $node, 1, e(undef,d), 'e(undef,d)' ); test_match( $node, 1, e(f,undef), 'e(f,undef)' );