# vim:syntax=perl #------------------------------------------------------------------- # WebGUI is Copyright 2001-2009 Plain Black Corporation. #------------------------------------------------------------------- # Please read the legal notices (docs/legal.txt) and the license # (docs/license.txt) that came with this distribution before using # this software. #------------------------------------------------------------------ # http://www.plainblack.com info@plainblack.com #------------------------------------------------------------------ # Test the default WebGUI.conf file to make sure it is valid JSON. use FindBin; use strict; use lib "$FindBin::Bin/lib"; use Test::More; use WebGUI::Test; # Must use this before any other WebGUI modules use WebGUI::Session; use JSON; use Path::Class; #---------------------------------------------------------------------------- # Init my $session = WebGUI::Test->session; #---------------------------------------------------------------------------- # Tests plan tests => 3; # Increment this number for each test you create #---------------------------------------------------------------------------- # put your tests here my $defaultConfigFile = Path::Class::File->new(WebGUI::Test->root, qw/etc WebGUI.conf.original/); ok (-e $defaultConfigFile->stringify, 'WebGUI.conf.original exists'); open my $jsonHandle, join('', '<', $defaultConfigFile->stringify); my $jsonText; { local $/; $jsonText = <$jsonHandle>; } close $jsonHandle; ok($jsonText, 'The file is not empty'); my $perlScalar; eval { $perlScalar = JSON->new->relaxed(1)->decode($jsonText) }; if ($@) { my $index; ($index) = $@ =~ /character offset (\d+)/; my $fragment = substr $jsonText, int($index/100)*100, 100; diag "Problem found in default WebGUI.conf file, look near here:"; diag $fragment; } ok( defined $perlScalar, 'JSON is valid');