# # Simple tests of the S-Lang library interface # use strict; my $loaded = 0; BEGIN { use Test::More tests => 4; } END { fail( "Able to 'use Inline SLang'" ) unless $loaded; } ## Tests # could not work out how to use Test::More's use_ok() # to test loading the module # use Inline 'SLang'; pass( "Able to 'use Inline SLang'" ); $loaded = 1; # mainly here for users who 'perl -Mblib t/00init.t' # this file # eval { print JAxH('Inline'); }; is( $@, "", "We're just another Inline hacker" ); # test the error handler eval { Inline::SLang::sl_eval( "variable = ;" ); }; like( $@, qr/^S-Lang Error: Syntax Error: Expecting a variable name: found '=', line 1, file: \*\*\*string\*\*\*/, "Can catch S-Lang error messages via eval" ); # and check that the interpreter is still working is( JAxH("re-installed"), "Just Another re-installed Hacker\n", "and the S-Lang interpreter has been re-started" ); __END__ __SLang__ define somefunc () {} define JAxH(x) { return sprintf( "Just Another %s Hacker\n", x ); }