#!/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-mode-test-indent-exp. The code is # syntactically valid, but doesn't make much sense. # -------- for loop: input -------- for my $foo (@ARGV) { ...; } # -------- for loop: expected output -------- for my $foo (@ARGV) { ...; } # -------- for loop: end -------- # -------- while loop: input -------- { while (1) { say "boring loop"; } continue { last; } } # -------- while loop: expected output -------- { while (1) { say "boring loop"; } continue { last; } } # -------- while loop: end -------- # -------- if-then-else: input -------- if (my $foo) { bar() } elsif (quux()) { baz() } else { quuux } # -------- if-then-else: expected output -------- if (my $foo) { bar(); } elsif (quux()) { baz(); } else { quuux; } # -------- if-then-else: end -------- # -------- labels: input -------- { LABEL: for (0..1) { next LABEL if $_; unless ($_) last LABEL; } LABEL_WITH_SPACE : while (1) { last LABEL_WITH_SPACE; } LABEL_WITH_COMMENT : # explain that label say "This label has a comment." } # -------- labels: expected output -------- { LABEL: for (0..1) { next LABEL if $_; unless ($_) last LABEL; } LABEL_WITH_SPACE : while (1) { last LABEL_WITH_SPACE; } LABEL_WITH_COMMENT : # explain that label say "This label has a comment." } # -------- labels: end -------- # -------- packages: input -------- package Foo { package Foo::Inner::One { ...; } package Foo::Inner::Two { ...; } } # -------- packages: expected output -------- package Foo { package Foo::Inner::One { ...; } package Foo::Inner::Two { ...; } } # -------- packages: end -------- # -------- braces after newline: input -------- package Outer { package Inner { sub foo { } sub bar { } } } # -------- braces after newline: expected output -------- package Outer { package Inner { sub foo { } sub bar { } } } # -------- braces after newline: end --------