Moves Deferred-related code into a separate module. Context handling has been simplif...
[jquery.git] / test / localfile.html
index 8021631..c552f21 100644 (file)
@@ -5,6 +5,7 @@
        <title>jQuery Local File Test</title>
        <!-- Includes -->
        <script src="../src/core.js"></script>
+       <script src="../src/deferred.js"></script>
        <script src="../src/support.js"></script>
        <script src="../src/data.js"></script>
        <script src="../src/queue.js"></script>
        <script src="../src/effects.js"></script>
        <script src="../src/offset.js"></script>
        <script src="../src/dimensions.js"></script>
+       <style>
+               .error { color: red; }
+               .success { color: green; }
+       </style>
 </head>
-
 <body>
+       <h1>jQuery Local File Test</h1>
+       <h2>
+               Introduction
+       </h2>
+       <ul>
+               <li>
+                       Access this file using the "file:" protocol,
+               </li>
+               <li>
+                       two green "OK" strings must appear below,
+               </li>
+               <li>
+                       Empty local files will issue errors, it's a known limitation.
+               </li>
+       </ul>
+       <h2>
+               Results
+       </h2>
+       <ul>
+               <li>
+                       Success:
+                       <span id="success">
+                       </span>
+               </li>
+               <li>
+                       Error:
+                       <span id="error">
+                       </span>
+               </li>
+       </ul>
+       <h2>
+               Logs:
+       </h2>
+       <ul id="log">
+       </ul>
        <script>
-       jQuery.ajax( "data/badjson.js" , {
-               dataType: "text"
-       }).success(function() {
-               $( "<div/>" ).text( "Success OK" ).appendTo( "body" );
-       });
-       jQuery.ajax( "data/doesnotexist.ext" , {
-               dataType: "text"
-       }).error(function() {
-               $( "<div/>" ).text( "Error OK" ).appendTo( "body" );
-       });
+               var logUL = jQuery( "#log" );
+               function doLog( message, args ) {
+                       jQuery( "<li />").appendTo( logUL ).text( message + ': "' + Array.prototype.join.call( args, '" - "' ) + '"' );
+               }
+               jQuery.ajax( "./data/badjson.js" , {
+                       context: jQuery( "#success" ),
+                       dataType: "text"
+               }).success(function( data, _, xhr ) {
+                       doLog( "Success (" + xhr.status + ")" , arguments );
+                       this.addClass( data ? "success" : "error" ).text( "OK" );
+               }).error(function( xhr ) {
+                       doLog( "Success (" + xhr.status + ")" , arguments );
+                       this.addClass( "error" ).text( "FAIL" );
+               });
+               jQuery.ajax( "./data/doesnotexist.ext" , {
+                       context: jQuery( "#error" ),
+                       dataType: "text"
+               }).error(function( xhr ) {
+                       doLog( "Error (" + xhr.status + ")" , arguments );
+                       this.addClass( "success" ).text( "OK" );
+               }).success(function( data, _, xhr ) {
+                       doLog( "Error (" + xhr.status + ")" , arguments );
+                       this.addClass( "error" ).text( "FAIL" );
+               });
        </script>
 </body>
\ No newline at end of file