73 lines
1.9 KiB
JavaScript
73 lines
1.9 KiB
JavaScript
// This file contains functions for testing the label element.
|
|
|
|
var withNoLabel = 0;
|
|
var withParentLabel = 1;
|
|
var withSiblingLabel = 2;
|
|
var withSibling2Label = 4;
|
|
|
|
// Populate dom tree and returns test data.
|
|
function setupLabelsTest(labelRelation, preHtml, postHtml)
|
|
{
|
|
var html = '<div id="div1"></div><div id="div2">';
|
|
if (preHtml)
|
|
html += preHtml;
|
|
|
|
var dataSet = createFormControlDataSet();
|
|
|
|
for (var name in dataSet) {
|
|
var data = dataSet[name];
|
|
var id = data.name + '1';
|
|
data.id = id;
|
|
|
|
if (labelRelation & withParentLabel)
|
|
html += '<label>';
|
|
|
|
if (labelRelation & withSiblingLabel) {
|
|
data.labelId = id + 'Label1';
|
|
html += '<label for=' + id + ' id=' + data.labelId + '></label>';
|
|
}
|
|
|
|
if (labelRelation & withSibling2Label) {
|
|
data.labelId2 = id + 'Label2';
|
|
html += '<label for=' + id + ' id=' + data.labelId2 + '></label>';
|
|
}
|
|
|
|
if (data.inputType) {
|
|
var typeName = data.inputType;
|
|
html += '<input type=' + typeName + ' id=' + id + '>';
|
|
} else {
|
|
var tagName = data.tagName;
|
|
html += '<' + tagName + ' id=' + id + '></' + tagName + '>';
|
|
}
|
|
|
|
if (labelRelation & withParentLabel)
|
|
html += '</label>';
|
|
}
|
|
|
|
if (postHtml)
|
|
html += postHtml;
|
|
|
|
html += '</div>';
|
|
|
|
var parent = document.createElement('div');
|
|
parent.innerHTML = html;
|
|
document.body.appendChild(parent);
|
|
|
|
for (var name in dataSet) {
|
|
var data = dataSet[name];
|
|
data.element = document.getElementById(data.id);
|
|
}
|
|
|
|
return {
|
|
dataSet: dataSet,
|
|
|
|
getLabelableElementData: function (name)
|
|
{
|
|
var data = dataSet[name];
|
|
return data && data.element.labels ? data : null;
|
|
},
|
|
|
|
outerElement: document.getElementById('div1'),
|
|
};
|
|
}
|