#!/usr/bin/env perl use strict; use warnings; use 5.020; # This file contains test input and expected output for the tests in # cperl-mode-tests.el, cperl-test-indent-region. The code is # syntactically valid, but doesn't make much sense. # (Bug#11733) https://debbugs.gnu.org/cgi/bugreport.cgi?bug=11733 # -------- sub \n brace: input -------- sub foo { } sub bar { } # -------- sub \n brace: expected output -------- sub foo { } sub bar { } # -------- sub \n brace: end -------- # -------- map \n brace: input -------- { my %hash = map { $_ = 1 } @_; } # -------- map \n brace: expected output -------- { my %hash = map { $_ = 1 } @_; } # -------- map \n brace: end -------- # -------- if \n brace: input -------- if (1 == @_) { say "one argument"; } else { say "No arguments, or plenty"; } # -------- if \n brace: expected output -------- if (1 == @_) { say "one argument"; } else { say "No arguments, or plenty"; } # -------- if \n brace: end -------- # -------- simple sub: input -------- sub middle { my ($left,$right) = @_; return 0.5 * ($left + $right); } $this_should_be_justified = 'left'; # -------- simple sub: expected output -------- sub middle { my ($left,$right) = @_; return 0.5 * ($left + $right); } $this_should_be_justified = 'left'; # -------- simple sub: end -------- # ------- hash reference: input -------- my $result = { ok => 'true' } if ($this_should_be_indented == 'cperl-continued-statement-offset'); # ------- hash reference: expected output -------- my $result = { ok => 'true' } if ($this_should_be_indented == 'cperl-continued-statement-offset'); # ------- hash reference: end -------- # The following syntax was introduced in Perl v5.14: # ------- package BLOCK: input -------- package Puck { our $cperl_indent_level = 4; } our $good_indentation = 0; # ------- package BLOCK: expected output -------- package Puck { our $cperl_indent_level = 4; } our $good_indentation = 0; # ------- package BLOCK: end -------- # as of Perl 5.18, subroutines can be lexical # -------- simple sub: input -------- package Pick 1.23 { my sub middle { my ($left,$right) = @_; return 0.5 * ($left + $right); $this_should_be_indented = $cperl_indent_level; } } $this_should_be_justified = 'left'; # -------- simple sub: expected output -------- package Pick 1.23 { my sub middle { my ($left,$right) = @_; return 0.5 * ($left + $right); $this_should_be_indented = $cperl_indent_level; } } $this_should_be_justified = 'left'; # -------- simple sub: end --------