blob: 1680ab79e20ec264d2f11ff4b8cb7b6fa0c03d80 [file] [log] [blame]
// Up-to-date as of 2013-04-19.
// Things defined in the W3C's microdata draft, not the main HTML5 draft.
// Note: must be included last so that it hits all elements.
for (var element in elements) {
elements[element].itemScope = "boolean";
elements[element].itemType = "settable tokenlist";
elements[element].itemId = "url";
elements[element].itemRef = "settable tokenlist";
elements[element].itemProp = "settable tokenlist";
}
extraTests.push(function() {
// itemValue only reflects in certain circumstances. The syntax for our big
// array thing above doesn't currently support one IDL attribute that reflects
// different content attributes, so just do this explicitly until that's fixed.
var reflectItemValue = function(data, localName, attribute) {
var element = document.createElement(localName);
element.setAttribute("itemprop", "");
ReflectionTests.reflects(data, "itemValue", element, attribute);
}
reflectItemValue("string", "meta", "content");
reflectItemValue("url", "audio", "src");
reflectItemValue("url", "embed", "src");
reflectItemValue("url", "iframe", "src");
reflectItemValue("url", "img", "src");
reflectItemValue("url", "source", "src");
reflectItemValue("url", "track", "src");
reflectItemValue("url", "video", "src");
reflectItemValue("url", "a", "href");
reflectItemValue("url", "area", "href");
reflectItemValue("url", "link", "href");
reflectItemValue("url", "object", "data");
reflectItemValue("string", "data", "value");
//TODO: time is more complex
});