Cross Reference: /yui3/src/datatype/tests/number-perf.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>DataType Tests</title>
<script type="text/javascript" src="/build/yui/yui.js"></script>
</head>
<body class="yui3-skin-sam">
<h1>DataType Performance Tests</h1>
<p><select id="testSelector"></select> <input type="button" value="Run Test" id="btnRun" disabled=true></p>
<script type="text/javascript">
(function() {
YUI({
base: "/build/",
filter: "debug",
logInclude:{"perf":true, "datatype-number":true},
useConsole: true
}).use("console", "profiler", "dump", "datatype", function(Y) {
// Set up the page
var BTNRUN = Y.one("#btnRun"),
myConsole = new Y.Console().render();
BTNRUN.set("disabled", false);
Y.on("click", function(e){
Y.example.Perf.run();
}, BTNRUN);
Y.namespace("example").Perf = function() {
var selectNode = Y.one("#testSelector"),
allTests = [];
return {
init: function() {
this.register("Test number parsing", function() {
var i = -250,
max = 250,
j=0,
number, string;
for(; i<max; i++) {
number = Y.DataType.Number.parse(i+"");
string = Y.DataType.Number.format(number,
{prefix:"pre",decimalPlaces:2,decimalSeparator:",",thousandsSeparator:".",suffix:"post"});
}
});
},
register: function(testName, testFn) {
var index = allTests.length;
allTests[index] = testFn;
var optionEl = document.createElement("option");
optionEl.innerHTML = "Test " + index + ": " + testName;
selectNode.appendChild(optionEl);
},
run: function() {
var whichTest = selectNode.get("selectedIndex");
Y.log("Starting Test " + whichTest, "info", "perf");
allTests[whichTest].apply(this);
Y.log("Test " + whichTest + " completed", "info", "perf");
}
}
}();
Y.example.Perf.init();
});
})();
</script>
</body>
</html>