#!perl -w use Test::More; BEGIN { for (1,2) { require Net::LDAP::Constant; } } use Net::LDAP::Util qw(ldap_error_name);; my @constant = qw( LDAP_SUCCESS LDAP_OPERATIONS_ERROR LDAP_PROTOCOL_ERROR LDAP_TIMELIMIT_EXCEEDED LDAP_SIZELIMIT_EXCEEDED LDAP_COMPARE_FALSE LDAP_COMPARE_TRUE LDAP_STRONG_AUTH_NOT_SUPPORTED LDAP_STRONG_AUTH_REQUIRED LDAP_PARTIAL_RESULTS LDAP_REFERRAL LDAP_ADMIN_LIMIT_EXCEEDED LDAP_UNAVAILABLE_CRITICAL_EXT LDAP_CONFIDENTIALITY_REQUIRED LDAP_SASL_BIND_IN_PROGRESS 15 LDAP_NO_SUCH_ATTRIBUTE LDAP_UNDEFINED_TYPE LDAP_INAPPROPRIATE_MATCHING LDAP_CONSTRAINT_VIOLATION LDAP_TYPE_OR_VALUE_EXISTS LDAP_INVALID_SYNTAX 22 23 24 25 26 27 28 29 30 31 LDAP_NO_SUCH_OBJECT LDAP_ALIAS_PROBLEM LDAP_INVALID_DN_SYNTAX LDAP_IS_LEAF LDAP_ALIAS_DEREF_PROBLEM 37 38 39 40 41 42 43 44 45 46 LDAP_PROXY_AUTHZ_FAILURE LDAP_INAPPROPRIATE_AUTH LDAP_INVALID_CREDENTIALS LDAP_INSUFFICIENT_ACCESS LDAP_BUSY LDAP_UNAVAILABLE LDAP_UNWILLING_TO_PERFORM LDAP_LOOP_DETECT 55 56 57 58 59 LDAP_SORT_CONTROL_MISSING LDAP_INDEX_RANGE_ERROR 62 63 LDAP_NAMING_VIOLATION LDAP_OBJECT_CLASS_VIOLATION LDAP_NOT_ALLOWED_ON_NONLEAF LDAP_NOT_ALLOWED_ON_RDN LDAP_ALREADY_EXISTS LDAP_NO_OBJECT_CLASS_MODS LDAP_RESULTS_TOO_LARGE LDAP_AFFECTS_MULTIPLE_DSAS 72 73 74 75 LDAP_VLV_ERROR 77 78 79 LDAP_OTHER LDAP_SERVER_DOWN LDAP_LOCAL_ERROR LDAP_ENCODING_ERROR LDAP_DECODING_ERROR LDAP_TIMEOUT LDAP_AUTH_UNKNOWN LDAP_FILTER_ERROR LDAP_USER_CANCELED LDAP_PARAM_ERROR LDAP_NO_MEMORY LDAP_CONNECT_ERROR LDAP_NOT_SUPPORTED LDAP_CONTROL_NOT_FOUND LDAP_NO_RESULTS_RETURNED LDAP_MORE_RESULTS_TO_RETURN LDAP_CLIENT_LOOP LDAP_REFERRAL_LIMIT_EXCEEDED ); plan tests => scalar(@constant); my $i = 0; while (my $const = $constant[$i]) { my $name = ldap_error_name($i); $const = sprintf("LDAP error code %d(0x%02X)",$i,$i) unless $const =~ /\D/; ok($name && $name eq $const, "$const"); ++$i; }