// Copyright 2011 Mark Cavage, Inc. All rights reserved. var test = require('tap').test; ///--- Globals var url; var parseURL; ///--- Tests test('load library', function (t) { parseURL = require('../lib/index').parseURL; t.ok(parseURL); t.end(); }); test('parse empty', function (t) { var u = parseURL('ldap:///'); t.equal(u.hostname, 'localhost'); t.equal(u.port, 389); t.ok(!u.DN); t.ok(!u.attributes); t.equal(u.secure, false); t.end(); }); test('parse hostname', function (t) { var u = parseURL('ldap://example.com/'); t.equal(u.hostname, 'example.com'); t.equal(u.port, 389); t.ok(!u.DN); t.ok(!u.attributes); t.equal(u.secure, false); t.end(); }); test('parse host and port', function (t) { var u = parseURL('ldap://example.com:1389/'); t.equal(u.hostname, 'example.com'); t.equal(u.port, 1389); t.ok(!u.DN); t.ok(!u.attributes); t.equal(u.secure, false); t.end(); }); test('parse full', function (t) { var u = parseURL('ldaps://ldap.example.com:1389/dc=example%20,dc=com' + '?cn,sn?sub?(cn=Babs%20Jensen)'); t.equal(u.secure, true); t.equal(u.hostname, 'ldap.example.com'); t.equal(u.port, 1389); t.equal(u.DN, 'dc=example ,dc=com'); t.ok(u.attributes); t.equal(u.attributes.length, 2); t.equal(u.attributes[0], 'cn'); t.equal(u.attributes[1], 'sn'); t.equal(u.scope, 'sub'); t.equal(u.filter.toString(), '(cn=Babs Jensen)'); t.end(); });