aboutsummaryrefslogtreecommitdiff
path: root/node_modules/express-validator/test/formatParamOutputTest.js
blob: 9d67b5fc75ce88eea494aa58b494a820393120e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var chai = require('chai');
var expect = chai.expect;
var formatParamOutput = require('../index').utils.formatParamOutput;

describe('#formatParamOutput()', function() {
  it('should correct return formatted string if all elements in array are strings', function() {
    expect(formatParamOutput(['hey', 'yo', 'hello'])).to.equal('hey.yo.hello');
  });

  it('should return a string with integers in brackets', function() {
    expect(formatParamOutput(['hey', 'yo', '0', 'hello'])).to.equal('hey.yo[0].hello');
    expect(formatParamOutput(['hey', 'yo', 0, 'hello'])).to.equal('hey.yo[0].hello');
    expect(formatParamOutput(['hey', 'yo', 0, 0, 'hello'])).to.equal('hey.yo[0][0].hello');
    expect(formatParamOutput(['hey', 'yo', 2342342, 'hello'])).to.equal('hey.yo[2342342].hello');
    expect(formatParamOutput(['hey', 'yo', '2342342', 'hello'])).to.equal('hey.yo[2342342].hello');
    expect(formatParamOutput(['hey', 'yo', '234ALPHA2342', 'hello'])).to.not.equal('hey.yo[234ALPHA2342].hello');
    expect(formatParamOutput(['hey', 'yo', 'hello', 0])).to.equal('hey.yo.hello[0]');
    expect(formatParamOutput(['hey', 'yo', 'hello', 0, 0])).to.equal('hey.yo.hello[0][0]');
    expect(formatParamOutput(['hey', 'yo', 0, 'hello', 0, 0])).to.equal('hey.yo[0].hello[0][0]');
  });

  it('should return the original param if not an array', function() {
    expect(formatParamOutput('yo')).to.equal('yo');
  });
});