--- /dev/null
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use Test::More;
+use Net::SSLeay;
+
+eval "use Test::Exception;";
+plan skip_all => 'Some tests need Test::Exception' if $@;
+
+plan tests => 6;
+
+{
+ my $const;
+ lives_ok(sub {
+ $const = Net::SSLeay::OP_NO_TLSv1();
+ }, 'some random constant exists');
+
+ ok( defined $const, ' and has a defined value' );
+}
+
+lives_ok(sub {
+ Net::SSLeay::make_form( foo => 'bar' );
+}, 'some random function gets autoloaded');
+
+
+throws_ok(sub {
+ Net::SSLeay::TXT_RC2_128_CBC_EXPORT40_WITH_MD5();
+}, qr/^Can't locate .*?TXT_RC2_128\.al/, 'disabled constant doesn\'t exist');
+
+throws_ok(sub {
+ Net::SSLeay::123x();
+}, qr/^Can't locate .*?123x\.al/, 'invalid constant doesn\'t exist' );
+
+throws_ok(sub {
+ Net::SSLeay::_TEST_INVALID_CONSTANT();
+}, qr/^Your vendor has not defined SSLeay macro _TEST_INVALID_CONSTANT /,
+'raises an appropriate error when an openssl macro isn\'t defined');