Alien-YAMLScript

 view release on metacpan or  search on metacpan

t/ffi.t  view on Meta::CPAN

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 )