The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

#!/usr/bin/env perl
use strict;
use lib 't/lib';
plan tests => 4;
{
my $js = JavaScript::Writer->new;
$js->object("Widget.Lightbox")->call("show", "Nihao");
is $js->as_string(), 'Widget.Lightbox.show("Nihao");';
my $je = Test::JE->new;
$je->eval("Widget={ Lightbox: { show: function(){} } };");
$je->eval_ok($js->as_string);
}
{
my $js = JavaScript::Writer->new;
$js->var(Widget => {
Lightbox => {
show => sub {
}
}
});
$js->object("Widget.Lightbox")->call("show", "Nihao");
is $js->as_string, 'var Widget = {"Lightbox":{"show":function(){}}};Widget.Lightbox.show("Nihao");';
my $je = Test::JE->new;
$je->eval_ok($js->as_string);
}