7 $main::result .= "a(".__PACKAGE__."/".eval("__PACKAGE__").")";
9 $main::result .= "b(".__PACKAGE__."/".eval("__PACKAGE__").")";
11 $main::result .= "c(".__PACKAGE__."/".eval("__PACKAGE__").")";
13 $main::result .= "d(".__PACKAGE__."/".eval("__PACKAGE__").")";
15 $main::result .= "e(".__PACKAGE__."/".eval("__PACKAGE__").")";
17 print $main::result eq
18 "a(main/main)b(Foo/Foo)c(Bar::Baz/Bar::Baz)d(Foo/Foo)e(main/main)" ?
19 "ok 1\n" : "not ok 1\n";
23 $main::result .= "a($Foo::VERSION)";
24 $main::result .= "b($Bar::VERSION)";
27 $main::result .= "c(".__PACKAGE__."/".eval("__PACKAGE__").")";
30 print $main::result eq "a(11)b(22)c(Bar/Bar)" ? "ok 2\n" : "not ok 2\n";
34 $main::result .= "a(".__PACKAGE__."/".eval("__PACKAGE__").")";
36 $main::result .= "b(".__PACKAGE__."/".eval("__PACKAGE__").")";
38 print $main::result eq "a(main/main)b(main/main)" ? "ok 3\n" : "not ok 3\n";
40 eval q[package Foo {];
41 print $@ =~ /\AMissing right curly / ? "ok 4\n" : "not ok 4\n";
45 $main::result .= "a(".__LINE__.")";
47 $main::result .= "b(".__LINE__.")";
49 $main::result .= "c(".__LINE__.")";
51 $main::result .= "d(".__LINE__.")";
53 $main::result .= "e(".__LINE__.")";
55 $main::result .= "f(".__LINE__.")";
57 print $main::result eq "a(2)b(4)c(6)d(8)e(10)f(12)" ? "ok 5\n" : "not ok 5\n";
61 $SIG{__WARN__} = sub { $main::warning .= $_[0]; };
63 $main::result .= "a(".__PACKAGE__."/".eval("__PACKAGE__").")";
65 $main::result .= "b(".__PACKAGE__."/".eval("__PACKAGE__").")";
67 $main::result .= "c(".__PACKAGE__."/".eval("__PACKAGE__").")";
69 $main::result .= "d(".__PACKAGE__."/".eval("__PACKAGE__").")";
71 $main::result .= "e(".__PACKAGE__."/".eval("__PACKAGE__").")";
73 $main::result .= "f(".__PACKAGE__."/".eval("__PACKAGE__").")";
75 $main::result .= "g(".__PACKAGE__."/".eval("__PACKAGE__").")";
77 $main::result .= "h(".__PACKAGE__."/".eval("__PACKAGE__").")";
80 $main::result .= "i(".__PACKAGE__."/".eval("__PACKAGE__").")";
82 $main::result .= "j(".__PACKAGE__."/".eval("__PACKAGE__").")";
84 print $main::result eq
85 "a(main/main)d(Foo/Foo)g(main/main)i(Bar/Bar)j(main/main)" ?
86 "ok 6\n" : "not ok 6\n";
87 print $main::warning =~ /\A
88 Use\ of\ "goto"\ [^\n]*\ line\ 3\.\n
89 Use\ of\ "goto"\ [^\n]*\ line\ 15\.\n
90 \z/x ? "ok 7\n" : "not ok 7\n";