Alien-YAMLScript
view release on metacpan or search on metacpan
alien_ok $CLASS;
ffi_ok {symbols => ['graal_create_isolate', 'load_ys_to_json']},
with_subtest {
my ($ffi) = @_;
my $graal = $ffi->function(
'graal_create_isolate',
['opaque', 'opaque*', 'opaque*'],
'int',
)->( undef, \my $isolate, \my $thread);
is $graal, 0, 'Can create GraalVM isolate';
my $load = $ffi->function(
'load_ys_to_json',
['sint64', 'string'] => 'string',
sub {
my ($xsub, $ys) = @_;
decode_json $xsub->($thread, $ys);
},
);
is $load->(<<'...'),
!YS-v0:
foo:: 1 .. 10
...
{data => {foo => [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]}},
'Can load YS to JSON';
( run in 0.631 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )