features.js revision f3f819cbfe56cf63fed1901d793552a6df106c0c
var feature_tests = {};
/**
Contains the core of YUI's feature test architecture.
@module features
*/
/**
* Feature detection
* @class Features
* @static
*/
/**
* Object hash of all registered feature tests
* @property tests
* @type Object
*/
/**
* Add a test to the system
*
* ```
* Y.Features.add("load", "1", {});
* ```
*
* @method add
* @param {String} cat The category, right now only 'load' is supported
* @param {String} name The number sequence of the test, how it's reported in the URL or config: 1, 2, 3
* @param {Object} o Object containing test properties
* @param {String} o.name The name of the test
* @param {Function} o.test The test function to execute, the only argument to the function is the `Y` instance
* @param {String} o.trigger The module that triggers this test.
*/
},
/**
* Execute all tests of a given category and return the serialized results
*
* ```
* caps=1:1;2:1;3:0
* ```
* @method all
* @param {String} cat The category to execute
* @param {Array} args The arguments to pass to the test function
*/
// results = {};
result = [];
if (cat_o) {
});
}
},
/**
* Run a sepecific test and return a Boolean response.
*
* ```
* Y.Features.test("load", "1");
* ```
*
* @method test
* @param {String} cat The category of the test to run
* @param {String} name The name of the test to run
* @param {Array} args The arguments to pass to the test function
*/
if (!feature) {
} else {
if (ua) {
}
}
}
}
return result;
}
});
// Y.Features.add("load", "1", {});
// Y.Features.test("load", "1");
// caps=1:1;2:0;3:1;
/* This file is auto-generated by src/loader/scripts/meta_join.py */
// graphics-canvas-default
"name": "graphics-canvas-default",
"test": function(Y) {
return (DOCUMENT && !DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") && (canvas && canvas.getContext && canvas.getContext("2d")));
},
"trigger": "graphics"
});
// autocomplete-list-keys
"name": "autocomplete-list-keys",
"test": function (Y) {
// Only add keyboard support to autocomplete-list if this doesn't appear to
// be an iOS or Android-based mobile device.
//
// There's currently no feasible way to actually detect whether a device has
// a hardware keyboard, so this sniff will have to do. It can easily be
// overridden by manually loading the autocomplete-list-keys module.
//
// Worth noting: even though iOS supports bluetooth keyboards, Mobile Safari
// doesn't fire the keyboard events used by AutoCompleteList, so there's
// no point loading the -keys module even when a bluetooth keyboard may be
// available.
},
"trigger": "autocomplete-list"
});
// graphics-svg
"name": "graphics-svg",
"test": function(Y) {
return (DOCUMENT && DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"));
},
"trigger": "graphics"
});
// history-hash-ie
"name": "history-hash-ie",
"test": function (Y) {
},
"trigger": "history-hash"
});
// graphics-vml-default
"name": "graphics-vml-default",
"test": function(Y) {
return (DOCUMENT && !DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") && (!canvas || !canvas.getContext || !canvas.getContext("2d")));
},
"trigger": "graphics"
});
// graphics-svg-default
"name": "graphics-svg-default",
"test": function(Y) {
return (DOCUMENT && DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"));
},
"trigger": "graphics"
});
// widget-base-ie
"name": "widget-base-ie",
"trigger": "widget-base",
"ua": "ie"
});
// transition-timer
"name": "transition-timer",
"test": function (Y) {
ret = true;
}
return ret;
},
"trigger": "transition"
});
// dom-style-ie
"name": "dom-style-ie",
"test": function (Y) {
DOCUMENT_ELEMENT = 'documentElement',
ret = false;
test: function() {
}
});
test: function() {
}
});
return ret;
},
"trigger": "dom-style"
});
// selector-css2
"name": "selector-css2",
"test": function (Y) {
return ret;
},
"trigger": "selector"
});
// event-base-ie
"name": "event-base-ie",
"test": function(Y) {
},
"trigger": "node-base"
});
// dd-gestures
"name": "dd-gestures",
"test": function(Y) {
},
"trigger": "dd-drag"
});
// scrollview-base-ie
"name": "scrollview-base-ie",
"trigger": "scrollview-base",
"ua": "ie"
});
// graphics-canvas
"name": "graphics-canvas",
"test": function(Y) {
return (DOCUMENT && !DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") && (canvas && canvas.getContext && canvas.getContext("2d")));
},
"trigger": "graphics"
});
// graphics-vml
"name": "graphics-vml",
"test": function(Y) {
return (DOCUMENT && !DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") && (!canvas || !canvas.getContext || !canvas.getContext("2d")));
},
"trigger": "graphics"
});