# # test binding functions # - earlier tests have implicitly tested the # BIND_NS => [ "Global" ] # option # use strict; use Test::More tests => 3; ## Tests use Inline 'SLang' => Config => BIND_NS => "Global"; use Inline 'SLang' => <<'EOS1'; define fn_in_global(x) { "in global"; } implements( "foo" ); define fn_in_foo(x) { "in foo"; } EOS1 is( fn_in_global("dummy"), "in global", "Can call fn_in_global() as fn_in_global()" ); # could inspect the symbol table directly but I can't # be bothered to find out how # eval "print foo::fn_in_foo(1);"; like( $@, qr/^Undefined subroutine &foo::fn_in_foo called at /, "and can not call foo->fn_in_foo() as foo::fn_in_foo()" ); # also check we haven't bound a random S-Lang intrinsic # eval "array_info();"; like( $@, qr/^Undefined subroutine &main::array_info called at /, "and can not call S-Lang intrinsic array_info()" ); ## End