src/cm/media/js/lib/yui/yui3.0.0/examples/test/test-array-tests_clean.html
changeset 0 40c8f766c9b8
equal deleted inserted replaced
-1:000000000000 0:40c8f766c9b8
       
     1 
       
     2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
       
     3 <html>
       
     4 <head>
       
     5 <meta http-equiv="content-type" content="text/html; charset=utf-8">
       
     6 <title>Array Processing</title>
       
     7 
       
     8 <style type="text/css">
       
     9 /*margin and padding on body element
       
    10   can introduce errors in determining
       
    11   element position and are not recommended;
       
    12   we turn them off as a foundation for YUI
       
    13   CSS treatments. */
       
    14 body {
       
    15 	margin:0;
       
    16 	padding:0;
       
    17 }
       
    18 </style>
       
    19 
       
    20 <link type="text/css" rel="stylesheet" href="../../build/cssfonts/fonts-min.css" />
       
    21 <script type="text/javascript" src="../../build/yui/yui-min.js"></script>
       
    22 
       
    23 
       
    24 <!--begin custom header content for this example-->
       
    25 <style type="text/css">
       
    26 #testLogger {
       
    27     margin-bottom: 1em;
       
    28 }
       
    29 
       
    30 #testLogger .yui-console .yui-console-title {
       
    31     border: 0 none;
       
    32     color: #000;
       
    33     font-size: 13px;
       
    34     font-weight: bold;
       
    35     margin: 0;
       
    36     text-transform: none;
       
    37 }
       
    38 #testLogger .yui-console .yui-console-entry-meta {
       
    39     margin: 0;
       
    40 }
       
    41 
       
    42 .yui-skin-sam .yui-console-entry-pass .yui-console-entry-cat {
       
    43     background: #070;
       
    44     color: #fff;
       
    45 }
       
    46 </style>
       
    47 
       
    48 <!--end custom header content for this example-->
       
    49 
       
    50 </head>
       
    51 
       
    52 <body class=" yui-skin-sam">
       
    53 
       
    54 <h1>Array Processing</h1>
       
    55 
       
    56 <div class="exampleIntro">
       
    57 	<p>This example shows how to use the <a href="/yui/test/#arrayassert"><code>ArrayAssert</code></a> object, which
       
    58   contains assertions designed to be used specifically with JavaScript Arrays and array-like objects.</p>			
       
    59 </div>
       
    60 
       
    61 <!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
       
    62 
       
    63 <div id="testLogger"></div>
       
    64 <script type="text/javascript">
       
    65 YUI({base:"../../build/", timeout: 10000}).use("node", "console", "test",function (Y) {
       
    66 
       
    67     Y.namespace("example.test");
       
    68     
       
    69     Y.example.test.ArrayTestCase = new Y.Test.Case({
       
    70 
       
    71         //the name of the test case - if not provided, one is automatically generated
       
    72         name: "Array Tests",
       
    73         
       
    74         //-------------------------------------------------------------------------
       
    75         // Setup and teardown
       
    76         //-------------------------------------------------------------------------
       
    77     
       
    78         /*
       
    79          * The setUp() method is used to setup data that necessary for a test to
       
    80          * run. This method is called immediately before each test method is run,
       
    81          * so it is run as many times as there are test methods.
       
    82          */
       
    83         setUp : function () {        
       
    84             this.data = new Array (0,1,2,3,4,5);        
       
    85         },
       
    86         
       
    87         /*
       
    88          * The tearDown() method is used to clean up the initialization that was done
       
    89          * in the setUp() method. Ideally, it should free up all memory allocated in
       
    90          * setUp(), anticipating any possible changes to the data. This method is called
       
    91          * immediately after each test method is run.
       
    92          */
       
    93         tearDown : function () {
       
    94             delete this.data;
       
    95         },
       
    96         
       
    97         //-------------------------------------------------------------------------
       
    98         // Basic tests - all method names must begin with "test"
       
    99         //-------------------------------------------------------------------------
       
   100         
       
   101         /*
       
   102          * Test the push() method.
       
   103          */
       
   104         testPush : function() {
       
   105         
       
   106             //shortcut variables
       
   107             var ArrayAssert = Y.ArrayAssert;
       
   108         
       
   109             //do whatever data manipulation is necessary
       
   110             this.data.push(6);
       
   111         
       
   112             //array-specific assertions
       
   113             ArrayAssert.isNotEmpty(this.data, "Array should not be empty.");
       
   114             ArrayAssert.contains(6, this.data, "Array should contain 6.");
       
   115             ArrayAssert.indexOf(6, this.data, 6, "The value in position 6 should be 6.");
       
   116             
       
   117             //check that all the values are there
       
   118             ArrayAssert.itemsAreEqual([0,1,2,3,4,5,6], this.data, "Arrays should be equal.");        
       
   119             
       
   120         },
       
   121         
       
   122         /*
       
   123          * Test the pop() method.
       
   124          */
       
   125         testPop : function() {
       
   126         
       
   127             //shortcut variables
       
   128             var Assert = Y.Assert;
       
   129             var ArrayAssert = Y.ArrayAssert;
       
   130         
       
   131             //do whatever data manipulation is necessary
       
   132             var value = this.data.pop();
       
   133             
       
   134             //array shouldn't be empty
       
   135             ArrayAssert.isNotEmpty(this.data, "Array should not be empty.");                
       
   136         
       
   137             //basic equality assertion - expected value, actual value, optional error message
       
   138             Assert.areEqual(5, this.data.length, "Array should have 5 items.");
       
   139             Assert.areEqual(5, value, "Value should be 5.");   
       
   140             
       
   141             ArrayAssert.itemsAreSame([0,1,2,3,4], this.data, "Arrays should be equal.");                                
       
   142         },
       
   143         
       
   144         /*
       
   145          * Test the reverse() method.
       
   146          */
       
   147         testReverse : function() {
       
   148         
       
   149             //shortcut variables
       
   150             var ArrayAssert = Y.ArrayAssert;
       
   151         
       
   152             //do whatever data manipulation is necessary
       
   153             this.data = this.data.reverse();
       
   154             
       
   155             ArrayAssert.itemsAreEqual([5,4,3,2,1,0], this.data, "Arrays should be equal.");                              
       
   156         },
       
   157         
       
   158         /*
       
   159          * Test the shift() method.
       
   160          */
       
   161         testShift : function() {
       
   162         
       
   163             //shortcut variables
       
   164             var Assert = Y.Assert;
       
   165             var ArrayAssert = Y.ArrayAssert;
       
   166         
       
   167             //do whatever data manipulation is necessary
       
   168             var value = this.data.shift();
       
   169         
       
   170             //array shouldn't be empty
       
   171             ArrayAssert.isNotEmpty(this.data, "Array should not be empty.");                
       
   172         
       
   173             //basic equality assertion - expected value, actual value, optional error message
       
   174             Assert.areEqual(5, this.data.length, "Array should have 6 items."); 
       
   175             Assert.areEqual(0, value, "Value should be 0."); 
       
   176             
       
   177             ArrayAssert.itemsAreEqual([1,2,3,4,5], this.data, "Arrays should be equal.");                              
       
   178         },            
       
   179         
       
   180         /*
       
   181          * Test the splice() method.
       
   182          */
       
   183         testSplice : function() {
       
   184         
       
   185             //shortcut variables
       
   186             var Assert = Y.Assert;
       
   187             var ArrayAssert = Y.ArrayAssert;
       
   188         
       
   189             //do whatever data manipulation is necessary
       
   190             var removed = this.data.splice(1, 2, 99, 100);
       
   191         
       
   192             //basic equality assertion - expected value, actual value, optional error message
       
   193             Assert.areEqual(6, this.data.length, "Array should have 6 items.");              
       
   194         
       
   195             //the new items should be there
       
   196             ArrayAssert.indexOf(99, this.data, 1, "Value at index 1 should be 99.");   
       
   197             ArrayAssert.indexOf(100, this.data, 2, "Value at index 2 should be 100.");   
       
   198             
       
   199             ArrayAssert.itemsAreEqual([0,99,100,3,4,5], this.data, "Arrays should be equal.");  
       
   200             ArrayAssert.itemsAreEqual([1,2], removed, "Removed values should be an array containing 1 and 2.");
       
   201 
       
   202         },
       
   203 
       
   204         /*
       
   205          * Test the unshift() method.
       
   206          */
       
   207         testUnshift : function() {
       
   208         
       
   209             //shortcut variables
       
   210             var Assert = Y.Assert;
       
   211             var ArrayAssert = Y.ArrayAssert;
       
   212         
       
   213             //do whatever data manipulation is necessary
       
   214             this.data.unshift(-1);
       
   215         
       
   216             //basic equality assertion - expected value, actual value, optional error message
       
   217             Assert.areEqual(7, this.data.length, "Array should have 7 items."); 
       
   218 
       
   219             //the new item should be there
       
   220             ArrayAssert.indexOf(-1, this.data, 0, "First item should be -1."); 
       
   221         
       
   222             ArrayAssert.itemsAreEqual([-1,0,1,2,3,4,5], this.data, "Arrays should be equal.");                              
       
   223         } 
       
   224         
       
   225     });
       
   226      
       
   227     //create the console
       
   228     var r = new Y.Console({
       
   229         newestOnTop : false,
       
   230         style: 'block' // to anchor in the example content
       
   231     });
       
   232     
       
   233     r.render('#testLogger');
       
   234     
       
   235     Y.Test.Runner.add(Y.example.test.ArrayTestCase);
       
   236 
       
   237     //run the tests
       
   238     Y.Test.Runner.run();
       
   239 });
       
   240 
       
   241 </script>
       
   242 
       
   243 <!--END SOURCE CODE FOR EXAMPLE =============================== -->
       
   244 
       
   245 </body>
       
   246 </html>