Jared K. Smith aebbbbe
/*!
Jared K. Smith aebbbbe
 * repeat-element <https://github.com/jonschlinkert/repeat-element>
Jared K. Smith aebbbbe
 *
Jared K. Smith aebbbbe
 * Copyright (c) 2014 Jon Schlinkert, contributors.
Jared K. Smith aebbbbe
 * Licensed under the MIT License
Jared K. Smith aebbbbe
 */
Jared K. Smith aebbbbe
Jared K. Smith aebbbbe
'use strict';
Jared K. Smith aebbbbe
Jared K. Smith aebbbbe
/* deps: mocha */
Jared K. Smith aebbbbe
var fs = require('fs');
Jared K. Smith aebbbbe
var path = require('path');
Jared K. Smith aebbbbe
var assert = require('assert');
Jared K. Smith aebbbbe
var argv = require('minimist')(process.argv.slice(2));
Jared K. Smith aebbbbe
var files = fs.readdirSync('./benchmark/code');
Jared K. Smith aebbbbe
var repeat = require('./');
Jared K. Smith aebbbbe
Jared K. Smith aebbbbe
var keys = Object.keys(argv);
Jared K. Smith aebbbbe
if (keys && keys[1]) {
Jared K. Smith aebbbbe
  var lib = files.filter(function (fp) {
Jared K. Smith aebbbbe
    return keys[1] === path.basename(fp, path.extname(fp));
Jared K. Smith aebbbbe
  });
Jared K. Smith aebbbbe
  repeat = require(path.resolve('./benchmark/code/' + lib[0]));
Jared K. Smith aebbbbe
}
Jared K. Smith aebbbbe
Jared K. Smith aebbbbe
it('should repeat the given string:', function () {
Jared K. Smith aebbbbe
  assert.deepEqual(repeat('a', 5), ['a', 'a', 'a', 'a', 'a']);
Jared K. Smith aebbbbe
  assert.deepEqual(repeat('a', 50), ['a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a','a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a','a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a','a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a','a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a']);
Jared K. Smith aebbbbe
  assert.deepEqual(repeat('a', 1), ['a']);
Jared K. Smith aebbbbe
  assert.deepEqual(repeat('a', 0), []);
Jared K. Smith aebbbbe
});
Jared K. Smith aebbbbe
Jared K. Smith aebbbbe
it('should repeat the given object:', function () {
Jared K. Smith aebbbbe
  assert.deepEqual(repeat({a: 'b'}, 5), [{a: 'b'},{a: 'b'},{a: 'b'},{a: 'b'},{a: 'b'}]);
Jared K. Smith aebbbbe
});
Jared K. Smith aebbbbe
Jared K. Smith aebbbbe
it('should repeat null:', function () {
Jared K. Smith aebbbbe
  assert.deepEqual(repeat(null, 5), [null, null, null, null, null]);
Jared K. Smith aebbbbe
});