You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
978 B

'use strict';
var test = require('tape');
var isArray = require('isarray');
var byConstructorName = require('../byConstructorName');
var getData = require('../getData');
test('byConstructorName()', function (t) {
t.equal(typeof byConstructorName, 'function', 'is a function');
t['throws'](function () { byConstructorName(); }, 'requires a constructor name');
t.test('with an actual constructor name', function (st) {
var items = byConstructorName('HTMLDivElement');
st.equal(isArray(items), true, 'returns an array');
st.deepEqual(items, [{
constructor: global.HTMLDivElement,
constructorName: 'HTMLDivElement',
expectedConstructor: global.HTMLDivElement,
tag: 'div'
}], 'has expected data');
st.end();
});
t.test('with the base constructor name', function (st) {
var items = byConstructorName('HTMLElement');
var data = getData();
st.deepEqual(items, data.elements, 'HTMLElement yields all elements');
st.end();
});
t.end();
});