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
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();
|
|
});
|