UNPKG

request-validator

Version:

Schema-based request validation middleware for express and connect.

55 lines (44 loc) 1.5 kB
/* global describe, it */ 'use strict'; var assert = require('assert'), validator = require('../index.js'), clone = validator.clone; describe('clone', function () { it('string', function () { assert.strictEqual(clone('abc'), 'abc'); }); it('number', function () { assert.strictEqual(clone(123), 123); }); it('integer', function () { assert.strictEqual(clone(Math.PI), Math.PI); }); it('boolean', function () { assert.strictEqual(clone(false), false); }); it('function', function () { var func = function () { }; assert.strictEqual(clone(func), func); }); it('regexp', function () { var regex = /a/gim; assert.notStrictEqual(clone(regex), regex); assert.strictEqual(clone(regex).toString(), regex.toString()); }); it('null', function () { assert.strictEqual(clone(null), null); }); it('undefined', function () { assert.strictEqual(clone(undefined), undefined); }); it('object', function () { var obj = { a: 1, b: 'a', c: false, d: { e: Math.PI, f: [1, 2, 3] } }; assert.notStrictEqual(clone(obj), obj); assert.strictEqual(JSON.stringify(clone(obj)), JSON.stringify(obj)); }); it('array', function () { var arr = [1, 'a', false, { d: [1, 2, 3] }]; assert.notStrictEqual(clone(arr), arr); assert.strictEqual(JSON.stringify(clone(arr)), JSON.stringify(arr)); }); });