]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dijit/bench/widget_construction_test.php
add Dojo 1.1.1
[eow] / static / dojo-release-1.1.1 / dijit / bench / widget_construction_test.php
diff --git a/static/dojo-release-1.1.1/dijit/bench/widget_construction_test.php b/static/dojo-release-1.1.1/dijit/bench/widget_construction_test.php
new file mode 100644 (file)
index 0000000..4718c9c
--- /dev/null
@@ -0,0 +1,186 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+        "http://www.w3.org/TR/html4/strict.dtd">
+
+<html>
+       <head>
+               <title>test of various synchronous page searching methods</title>
+               <style type="text/css">
+                       @import "../../dojo/resources/dojo.css";
+                       @import "../themes/tundra/tundra.css";
+               </style>
+               <script type="text/javascript" src="../../dojo/dojo.js"
+                       djConfig="parseOnLoad: true, isDebug: true"></script>
+               <script type="text/javascript">
+                       dojo.require("dojo.parser");    // scan page for widgets and instantiate them
+                       dojo.require("dijit._Widget");
+                       dojo.require("dijit._Templated");
+
+                       /* dummy widget for benchmarking purposes */
+                       dojo.declare(
+                               "SimpleButton",
+                               [ dijit._Widget, dijit._Templated ],
+                               function(){  },
+                               {
+                                       label: "",
+                       
+                                       templateString: "<button dojoAttachEvent='onclick:onClick'>${label}</button>",
+                       
+                                       onClick: function(){
+                                               this.domNode.style.backgroundColor="green";
+                                       },
+                                       postCreate: function(){
+                                       }
+                               }
+                       );
+               </script>
+       </head>
+       <body>
+               <h1 style="font-size: 40px; line-height: 50px;">This page contains a huge number of nodes, most of which are "chaff".</h1>
+               <h3>Here's the relative timings for this page</h3>
+               <div id="profileOutputTable"></div>
+               <!--
+               <h3>And some comparison data</h3>
+               <table border=1>
+               <thead>
+                       <tr>
+                               <th>IE
+                               <th>Safari
+                               <th>Gecko (on PC)
+                               <th>Gecko (on intel mac)
+                       </tr>
+               </thead>
+               <tbody>
+                       <tr>
+                               <td>4890
+                               <td>3242
+                               <td>3094
+                               <td>3782
+                       </tr>
+               </tbody>
+               </table>
+               -->
+
+
+<?
+       $containerDepth = 30;
+       $leadingChaff = 100;
+       $trailingChaff = 100;
+       $items = 100;
+?>
+<? 
+       function generateChaff($iters){
+               for($i=0;$i<$iters;$i++){ ?>
+                       <pre class="highlighted"><code><span class="hl-reserved">var </span><span class="hl-identifier">dlg</span><span class="hl-default"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">blah</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">LayoutDialog</span><span class="hl-brackets">(</span><span class="hl-identifier">config</span><span class="hl-code">.</span><span class="hl-identifier">id</span><span class="hl-code"> || </span><span class="hl-identifier">blah</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Dom</span><span class="hl-code">.</span><span class="hl-identifier">generateId</span><span class="hl-brackets">()</span><span class="hl-code">, </span><span class="hl-brackets">{
+                               </span><span title="autoCreate" class="hl-identifier">autoCreate</span><span class="hl-code"> : </span><span class="hl-reserved">true</span><span class="hl-code">,
+                               </span><span title="minWidth" class="hl-identifier">minWidth</span><span class="hl-code">:</span><span class="hl-number">400</span><span class="hl-code">,
+                               </span><span title="minHeight" class="hl-identifier">minHeight</span><span class="hl-code">:</span><span class="hl-number">300</span><span class="hl-code">,
+                               </span>
+                               <span title="syncHeightBeforeShow" class="hl-identifier">syncHeightBeforeShow</span><span class="hl-code">: </span><span class="hl-reserved">true</span><span class="hl-code">,
+                               </span><span title="shadow" class="hl-identifier">shadow</span><span class="hl-code">:</span><span class="hl-reserved">true</span><span class="hl-code">,
+                               </span><span title="fixedcenter" class="hl-identifier">fixedcenter</span><span class="hl-code">: </span><span class="hl-reserved">true</span><span class="hl-code">,
+                               </span><span title="center" class="hl-identifier">center</span><span class="hl-code">:</span><span class="hl-brackets">{</span><span class="hl-identifier">autoScroll</span><span class="hl-code">:</span><span class="hl-reserved">false</span><span class="hl-brackets">}</span><span class="hl-code">,
+                               </span><span title="east"  class="hl-identifier">east</span><span class="hl-code">:</span><span class="hl-brackets">{</span><span class="hl-identifier">split</span><span class="hl-code">:</span><span class="hl-reserved">true</span><span class="hl-code">,</span><span class="hl-identifier">initialSize</span><span class="hl-code">:</span><span class="hl-number">150</span><span class="hl-code">,</span><span class="hl-identifier">minSize</span><span class="hl-code">:</span><span class="hl-number">150</span><span class="hl-code">,</span><span class="hl-identifier">maxSize</span><span class="hl-code">:</span><span class="hl-number">250</span><span class="hl-brackets">}
+                       })</span><span class="hl-default">;
+                       </span><span class="hl-identifier">dlg</span><span class="hl-default">.</span><span class="hl-identifier">setTitle</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">Choose an Image</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-default">;
+                       </span><span class="hl-identifier">dlg</span><span class="hl-default">.</span><span class="hl-identifier">getEl</span><span class="hl-brackets">()</span><span class="hl-default">.</span><span class="hl-identifier">addClass</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">ychooser-dlg</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-default">;</span></code></pre><br />
+                       <pre class="highlighted"><code><span class="hl-reserved">var </span><span class="hl-identifier">animated</span><span class="hl-default"> = </span><span class="hl-reserved">new </span><span class="hl-identifier">blah</span><span class="hl-default">.</span><span class="hl-identifier">ext</span><span class="hl-default">.</span><span class="hl-identifier">Resizable</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">animated</span><span class="hl-quotes">'</span><span class="hl-code">, </span><span class="hl-brackets">{
+                           </span><span title="east" class="hl-identifier">width</span><span class="hl-code">: </span><span class="hl-number">200</span><span class="hl-code">,
+                           </span><span title="east" class="hl-identifier">height</span><span class="hl-code">: </span><span class="hl-number">100</span><span class="hl-code">,
+                           </span><span title="east" class="hl-identifier">minWidth</span><span class="hl-code">:</span><span class="hl-number">100</span><span class="hl-code">,
+                           </span><span class="hl-identifier">minHeight</span><span class="hl-code">:</span><span class="hl-number">50</span><span class="hl-code">,
+                           </span><span class="hl-identifier">animate</span><span class="hl-code">:</span><span class="hl-reserved">true</span><span class="hl-code">,
+                           </span><span class="hl-identifier">easing</span><span class="hl-code">: </span><span class="hl-identifier">YAHOO</span><span class="hl-code">.</span><span class="hl-identifier">util</span><span class="hl-code">.</span><span class="hl-identifier">Easing</span><span class="hl-code">.</span><span class="hl-identifier">backIn</span><span class="hl-code">,
+                           </span><span class="hl-identifier">duration</span><span class="hl-code">:</span><span class="hl-number">.6
+                       </span><span class="hl-brackets">})</span><span class="hl-default">;</span></code></pre>
+                       <h4>The standard Lorem Ipsum passage, used since the 1500s</h4>
+                       <p>
+                       "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
+                       eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim
+                       ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut
+                       aliquip ex ea commodo consequat. Duis aute irure dolor in
+                       reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
+                       pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
+                       culpa qui officia deserunt mollit anim id est laborum."
+                       </p>
+
+                       <h4>Section 1.10.32 of "de Finibus Bonorum et Malorum", written by Cicero in 45 BC</h4>
+
+                       <p>
+                       "Sed ut perspiciatis unde omnis iste natus error sit voluptatem
+                       accusantium doloremque laudantium, totam rem aperiam, eaque ipsa
+                       quae ab illo inventore veritatis et quasi architecto beatae vitae
+                       dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit
+                       aspernatur aut odit aut fugit, sed quia consequuntur magni dolores
+                       eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam
+                       est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci
+                       velit, sed quia non numquam eius modi tempora incidunt ut labore et
+                       dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam,
+                       quis nostrum exercitationem ullam corporis suscipit laboriosam,
+                       nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure
+                       reprehenderit qui in ea voluptate velit esse quam nihil molestiae
+                       consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla
+                       pariatur?"
+                       </p>
+
+                       <h4>1914 translation by H. Rackham</h4>
+
+                       <p>
+                       "But I must explain to you how all this mistaken idea of denouncing
+                       pleasure and praising pain was born and I will give you a complete
+                       account of the system, and expound the actual teachings of the
+                       great explorer of the truth, the master-builder of human happiness.
+                       No one rejects, dislikes, or avoids pleasure itself, because it is
+                       pleasure, but because those who do not know how to pursue pleasure
+                       rationally encounter consequences that are extremely painful. Nor
+                       again is there anyone who loves or pursues or desires to obtain
+                       pain of itself, because it is pain, but because occasionally
+                       circumstances occur in which toil and pain can procure him some
+                       great pleasure. To take a trivial example, which of us ever
+                       undertakes laborious physical exercise, except to obtain some
+                       advantage from it? But who has any right to find fault with a man
+                       who chooses to enjoy a pleasure that has no annoying consequences,
+                       or one who avoids a pain that produces no resultant pleasure?" 
+                       </p>
+               <? } 
+       } // end generateChaff
+       $widgetName = "SimpleButton";
+?>
+<? generateChaff($leadingChaff); ?>
+<hr>
+<? for($i=0;$i<$containerDepth;$i++){ ?>
+       <table border="1" cellpadding="0" cellspacing="0" width="100%">
+       <!--
+       <table>
+       -->
+               <tr>
+                       <td>
+                       <br>
+                       chaff!
+                       <br>
+<? } ?>
+<? for($i=0;$i<$items;$i++){ ?>
+                       <div dojoType="<?= $widgetName ?>" label="item2 <?= $i ?>">item2 <?= $i ?></div>
+<? } ?>
+<? for($i=0;$i<$containerDepth;$i++){ ?>
+                       </td>
+               </tr>
+       </table>
+<? } ?>
+<? generateChaff($trailingChaff);  ?>
+<? for($i=0;$i<$items;$i++){ ?>
+       <div dojoType="<?= $widgetName ?>" label="item2 <?= $i ?>"><span>item <?= $i ?></span></div>
+<? } ?>
+
+<script type="text/javascript">
+
+               oldTime = new Date();
+               dojo.addOnLoad(function(){
+                       var time = new Date().getTime() - oldTime;
+                       var p = document.createElement("p");
+                       alert("Widgets loaded in " + time + "ms");
+               });
+
+</script>
+
+       </body>
+</html>