Introduced benchmark system
diff --git a/dev/js/bench/benchmark.js b/dev/js/bench/benchmark.js
new file mode 100644
index 0000000..78b7df9
--- /dev/null
+++ b/dev/js/bench/benchmark.js
@@ -0,0 +1,70 @@
+
+function addToBody (msg) {
+ var body = document.getElementsByTagName('body')[0];
+ var p = body.appendChild(document.createElement('p'))
+ p.appendChild(document.createTextNode(msg));
+};
+
+define({
+ menuSuite : function (menuClass) {
+ // add tests
+ var suite = new Benchmark.Suite;
+ var menu;
+ suite.add('Menu#creation', function () {
+
+ menu = menuClass.create([
+ ['Titel', 'title'],
+ ['Untertitel', 'subTitle'],
+ ['Veröffentlichungsdatum', 'pubDate'],
+ ['Länge', 'length'],
+ ['Autor', 'author']
+ ]);
+
+ menu.limit(3).show();
+ });
+
+ suite.add('Menu#next', function () {
+ // Some actions
+ menu.next();
+ });
+
+ suite.add('Menu#prev', function () {
+ menu.prev();
+ });
+
+ suite.add('Menu#paging', function () {
+ var j = 0;
+ while (j < 2) {
+ var i = 0;
+ while (i < 5) {
+ menu.pageUp();
+ i++;
+ };
+ while (i > 0) {
+ menu.pageDown();
+ i--;
+ };
+ j++;
+ };
+ });
+
+ suite.add('Menu#prefix', function () {
+ menu.prefix('e').show(4);
+ menu.next();
+ menu.next();
+ menu.next();
+ menu.prev();
+ menu.prev();
+ menu.prev();
+ });
+
+ suite.on('error', function(event) {
+ console.log(event.target.error);
+ });
+ suite.on('cycle', function(event) {
+ addToBody(String(event.target));
+ });
+
+ return suite;
+ }
+});