PPIx-EditorTools

 view release on metacpan or  search on metacpan

t/07-renamevariable.t  view on Meta::CPAN

#!/usr/bin/perl

use strict;

BEGIN {
	$^W = 1;
}

use Test::More;
use Test::Differences;

use PPI;
use File::Temp qw(tempdir);

my $tempdir = tempdir( CLEANUP => 1 );

BEGIN {
	if ( $PPI::VERSION =~ /_/ ) {
		plan skip_all => "Need released version of PPI. You have $PPI::VERSION";
		exit 0;
	}
}

plan tests => 17;

use PPIx::EditorTools::RenameVariable;

my $code = read_file('t/rename_variable/1.in');
my $shiny_replacement =  read_file('t/rename_variable/1.out');

eq_or_diff(
	eval {
		PPIx::EditorTools::RenameVariable->new->rename(
			code        => $code,
			line        => 8,
			column      => 12,
			replacement => 'shiny',
		)->code;
	}
		|| "",
	$shiny_replacement,
	'replace scalar'
);

test_cli($code, "--RenameVariable --line 8 --column 12 --replacement shiny", $shiny_replacement, 'replace scalar on command line');



eq_or_diff(
	PPIx::EditorTools::RenameVariable->new->rename(
		code        => $code,
		line        => 11,
		column      => 9,
		replacement => 'shiny',
		)->code,
	$shiny_replacement,
	'replace scalar'
);

test_cli($code, "--RenameVariable --line 11 --column 9 --replacement shiny", $shiny_replacement, 'replace scalar on command line');

my $stuff_replacement = <<'STUFF_REPLACEMENT';
use MooseX::Declare;

class Test {
    has a_var => ( is => 'rw', isa => 'Str' );
    has b_var => ( is => 'rw', isa => 'Str' );

    method some_method {
        my $x_var = 1;



( run in 2.325 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )