use strict;
use warnings;

BEGIN {
    $|  = 1;
    $^W = 1;
}

use File::Spec::Functions ':ALL';
use t::lib::Test;
use Test::More tests(0, 1, 4);
use YAML::Tiny;





#####################################################################
# Testing that Perl::Smith config files work

my $sample_file = catfile( 't', 'data', 'utf_16_le_bom.yml' );
my $sample      = load_ok( 'utf_16_le_bom.yml', $sample_file, 3 );

# Does the string parse to the structure
my $name      = "utf-16";
my $yaml_copy = $sample;
my $yaml      = eval { YAML::Tiny->read_string( $yaml_copy ); };
is( $@, '', "$name: YAML::Tiny parses without error" );
is( $yaml_copy, $sample, "$name: YAML::Tiny does not modify the input string" );
SKIP: {
    skip( "Shortcutting after failure", 2 ) if $@;
    is( $yaml, undef, "file not parsed" );
    is( YAML::Tiny->errstr, "Stream has a non UTF-8 BOM", "correct error" );
}
