react / wstein / node_modules / jest-cli / node_modules / jsdom / lib / jsdom / browser / documentfeatures.js
80684 viewsexports.availableDocumentFeatures = [1'FetchExternalResources',2'ProcessExternalResources',3'MutationEvents',4'SkipExternalResources'5];67exports.defaultDocumentFeatures = {8"FetchExternalResources": ['script', 'link'/*, 'img', 'css', 'frame'*/],9"ProcessExternalResources": ['script'/*, 'frame', 'iframe'*/],10"MutationEvents": '2.0',11"SkipExternalResources": false12};1314exports.applyDocumentFeatures = function(doc, features) {15var i, maxFeatures = exports.availableDocumentFeatures.length,16defaultFeatures = exports.defaultDocumentFeatures,17j,18k,19featureName,20featureSource;2122features = features || {};2324for (i=0; i<maxFeatures; i++) {25featureName = exports.availableDocumentFeatures[i];26if (typeof features[featureName] !== 'undefined') {27featureSource = features[featureName];28// We have to check the lowercase version also because the Document feature29// methods convert everything to lowercase.30} else if (typeof features[featureName.toLowerCase()] !== 'undefined') {31featureSource = features[featureName.toLowerCase()];32} else if (defaultFeatures[featureName]) {33featureSource = defaultFeatures[featureName];34} else {35continue;36}3738doc.implementation.removeFeature(featureName);3940if (typeof featureSource !== 'undefined') {41if (featureSource instanceof Array) {42k = featureSource.length;43for (j=0; j<k; j++) {44doc.implementation.addFeature(featureName, featureSource[j]);45}46} else {47doc.implementation.addFeature(featureName, featureSource);48}49}50}51};525354