datasource-perf.html revision 4922efa846185f8503d58aa880150b2fdc6a8db4
2a60e63ce06684b7e9a6a74a07ccffe339a6bbb4Neil Madden<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2a60e63ce06684b7e9a6a74a07ccffe339a6bbb4Neil Madden<html>
2a60e63ce06684b7e9a6a74a07ccffe339a6bbb4Neil Madden<head>
2a60e63ce06684b7e9a6a74a07ccffe339a6bbb4Neil Madden<title>DataSource Tests</title>
2a60e63ce06684b7e9a6a74a07ccffe339a6bbb4Neil Madden<script type="text/javascript" src="/build/yui/yui.js"></script>
2a60e63ce06684b7e9a6a74a07ccffe339a6bbb4Neil Madden</head>
2a60e63ce06684b7e9a6a74a07ccffe339a6bbb4Neil Madden
2a60e63ce06684b7e9a6a74a07ccffe339a6bbb4Neil Madden<body class="yui3-skin-sam">
2a60e63ce06684b7e9a6a74a07ccffe339a6bbb4Neil Madden<h1>DataSource Performance Tests</h1>
2a60e63ce06684b7e9a6a74a07ccffe339a6bbb4Neil Madden<p><select id="testSelector"></select> <input type="button" value="Run Test" id="btnRun" disabled=true></p>
2a60e63ce06684b7e9a6a74a07ccffe339a6bbb4Neil Madden
2a60e63ce06684b7e9a6a74a07ccffe339a6bbb4Neil Madden<script type="text/javascript">
c49a898cb851f8fef7d7a6a9501c66b8f03ae05cPhill Cunnington(function() {
c49a898cb851f8fef7d7a6a9501c66b8f03ae05cPhill Cunnington YUI({
2a60e63ce06684b7e9a6a74a07ccffe339a6bbb4Neil Madden base: "/build/",
2a60e63ce06684b7e9a6a74a07ccffe339a6bbb4Neil Madden filter: "debug",
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington logInclude:{"perf":true},
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington useConsole: true
2dd75eff92ef66e22cca286b6f4fe5a9c929af9dPhill Cunnington }).use("console", "profiler", "dump", "datasource", function(Y) {
2dd75eff92ef66e22cca286b6f4fe5a9c929af9dPhill Cunnington
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington // Set up the page
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington var BTNRUN = Y.one("#btnRun"),
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest myConsole = new Y.Console().render();
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington
0fb4093da08d574d3d1b661d4425dfbac8e02aabJames Phillpotts BTNRUN.set("disabled", false);
0fb4093da08d574d3d1b661d4425dfbac8e02aabJames Phillpotts Y.on("click", function(e){
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington Y.example.Perf.run();
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington }, BTNRUN);
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington
c49a898cb851f8fef7d7a6a9501c66b8f03ae05cPhill Cunnington Y.namespace("example").Perf = function() {
c49a898cb851f8fef7d7a6a9501c66b8f03ae05cPhill Cunnington var selectNode = Y.one("#testSelector"),
c49a898cb851f8fef7d7a6a9501c66b8f03ae05cPhill Cunnington allTests = [];
c49a898cb851f8fef7d7a6a9501c66b8f03ae05cPhill Cunnington
c49a898cb851f8fef7d7a6a9501c66b8f03ae05cPhill Cunnington return {
c49a898cb851f8fef7d7a6a9501c66b8f03ae05cPhill Cunnington init: function() {
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington this.register("Test DataSource.Local", function() {
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington var ds = new Y.DataSource.Local({
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington source: ["a","b","c","d"]
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington }),
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington callback = {
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington success: function(o) {},
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington failure: function(e) {}
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington },
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington i=0;
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington while(i++<100) {
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington ds.sendRequest(null, callback);
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington }
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington });
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington
c49a898cb851f8fef7d7a6a9501c66b8f03ae05cPhill Cunnington },
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington register: function(testName, testFn) {
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington var index = allTests.length;
c49a898cb851f8fef7d7a6a9501c66b8f03ae05cPhill Cunnington allTests[index] = testFn;
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington var optionEl = document.createElement("option");
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington optionEl.innerHTML = "Test " + index + ": " + testName;
91a599b60b62e70c63f6f698aaac20b41ba12941Phill Cunnington selectNode.appendChild(optionEl);
2a60e63ce06684b7e9a6a74a07ccffe339a6bbb4Neil Madden },
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest run: function() {
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest var whichTest = selectNode.get("selectedIndex");
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest Y.log("Starting Test " + whichTest, "info", "perf");
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest allTests[whichTest].apply(this);
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest Y.log("Test " + whichTest + " completed", "info", "perf");
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest }
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest }
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest }();
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest Y.example.Perf.init();
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest });
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest})();
c49a898cb851f8fef7d7a6a9501c66b8f03ae05cPhill Cunnington</script>
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest</body>
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest</html>
124697010df6ca68fe3ecd0c6f5a77bf59777354Andrew Forrest