src/cm/media/js/lib/yui/yui_3.0.0b1/examples/test/test-array-tests.html
author raph
Mon, 23 Nov 2009 15:14:29 +0100
changeset 0 40c8f766c9b8
permissions -rw-r--r--
import from internal svn r 4007
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
<html>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
<head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
	<title>YUI Library Examples: Test: Array Processing</title>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
    	<link rel="stylesheet" type="text/css" href="../../assets/yui.css" >
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
<style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
    /*Supplemental CSS for the YUI distribution*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
    #custom-doc { width: 95%; min-width: 950px; }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
    #pagetitle {background-image: url(../../assets/bg_hd.gif);}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
/*    #pagetitle h1 {background-image: url(../../assets/title_h_bg.gif);}*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
</style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
<link rel="stylesheet" type="text/css" href="../../assets/dpSyntaxHighlighter.css">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
<!--there is no custom header content for this example-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
<link type="text/css" rel="stylesheet" href="../../build/cssfonts/fonts-min.css" />
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
<script type="text/javascript" src="../../build/yui/yui-min.js"></script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
</head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
<body id="yahoo-com" class=" yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
<div id="custom-doc" class="yui-t2">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
<div id="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
	<div id="ygunav">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
		<p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
            <em>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
                <a href="http://developer.yahoo.com/yui/3/">YUI 3.x Home</a> <i> - </i>	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
            </em>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
		</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
		<form action="http://search.yahoo.com/search" id="sitesearchform">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
            <input name="vs" type="hidden" value="developer.yahoo.com">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
            <input name="vs" type="hidden" value="yuiblog.com">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
		    <div id="sitesearch">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
		    	<label for="searchinput">Site Search (YDN &amp; YUIBlog): </label>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
			    <input type="text" id="searchinput" name="p">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
			    <input type="submit" value="Search" id="searchsubmit" class="ygbt">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
		    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
		</form>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
	<div id="ygma"><a href="../../"><img src="../../assets/logo.gif"  border="0" width="200" height="93"></a></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
	<div id="pagetitle"><h1>YUI Library Examples: Test: Array Processing</h1></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
<div id="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
	<div id="bar-note"><p><strong>Note:</strong> This is YUI 3.x. Looking for <a href="http://developer.yahoo.com/yui/">YUI 2.x</a>?</p></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
	<div id="yui-main">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
		<div class="yui-b">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
		  <div class="yui-ge">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
			  <div class="yui-u first example" id="main">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
	<h2>Test: Array Processing</h2>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
	<div id="example" class="promo">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
	<p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
	<p>This example shows how to use the <a href="/yui/test/#arrayassert"><code>ArrayAssert</code></a> object, which
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
  contains assertions designed to be used specifically with JavaScript Arrays and array-like objects.</p>	</p>	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
	<div class="module example-container ">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
			<div class="hd exampleHd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
			<p class="newWindowButton yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
                <a href="test-array-tests_clean.html" target="_blank">View example in new window.</a>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
            </p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
		</div>		<div id="example-canvas" class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
	<!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
	<div id="testLogger"></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
<script type="text/javascript">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
YUI({base:"../../build/", timeout: 10000}).use("node", "console", "test",function (Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
    Y.namespace("example.test");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
    Y.example.test.ArrayTestCase = new Y.Test.Case({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
        //the name of the test case - if not provided, one is automatically generated
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
        name: "Array Tests",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
        //-------------------------------------------------------------------------
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
        // Setup and teardown
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
        //-------------------------------------------------------------------------
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
        /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
         * The setUp() method is used to setup data that necessary for a test to
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
         * run. This method is called immediately before each test method is run,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
         * so it is run as many times as there are test methods.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
         */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
        setUp : function () {        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
            this.data = new Array (0,1,2,3,4,5);        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
        /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
         * The tearDown() method is used to clean up the initialization that was done
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
         * in the setUp() method. Ideally, it should free up all memory allocated in
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
         * setUp(), anticipating any possible changes to the data. This method is called
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
         * immediately after each test method is run.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
         */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
        tearDown : function () {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
            delete this.data;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
        //-------------------------------------------------------------------------
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
        // Basic tests - all method names must begin with "test"
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
        //-------------------------------------------------------------------------
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
        /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
         * Test the push() method.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
         */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
        testPush : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
            //shortcut variables
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
            var ArrayAssert = Y.ArrayAssert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
            //do whatever data manipulation is necessary
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
            this.data.push(6);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
            //array-specific assertions
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
            ArrayAssert.isNotEmpty(this.data, "Array should not be empty.");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
            ArrayAssert.contains(6, this.data, "Array should contain 6.");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
            ArrayAssert.indexOf(6, this.data, 6, "The value in position 6 should be 6.");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
            //check that all the values are there
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
            ArrayAssert.itemsAreEqual([0,1,2,3,4,5,6], this.data, "Arrays should be equal.");        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
        /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
         * Test the pop() method.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
         */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
        testPop : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
            //shortcut variables
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
            var Assert = Y.Assert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
            var ArrayAssert = Y.ArrayAssert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
            //do whatever data manipulation is necessary
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   141
            var value = this.data.pop();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   142
            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   143
            //array shouldn't be empty
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   144
            ArrayAssert.isNotEmpty(this.data, "Array should not be empty.");                
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   145
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   146
            //basic equality assertion - expected value, actual value, optional error message
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   147
            Assert.areEqual(5, this.data.length, "Array should have 5 items.");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   148
            Assert.areEqual(5, value, "Value should be 5.");   
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   149
            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   150
            ArrayAssert.itemsAreSame([0,1,2,3,4], this.data, "Arrays should be equal.");                                
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   151
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   152
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   153
        /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   154
         * Test the reverse() method.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   155
         */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   156
        testReverse : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   157
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   158
            //shortcut variables
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   159
            var ArrayAssert = Y.ArrayAssert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   160
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   161
            //do whatever data manipulation is necessary
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   162
            this.data = this.data.reverse();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   163
            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   164
            ArrayAssert.itemsAreEqual([5,4,3,2,1,0], this.data, "Arrays should be equal.");                              
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   165
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   166
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   167
        /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   168
         * Test the shift() method.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   169
         */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   170
        testShift : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   171
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   172
            //shortcut variables
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   173
            var Assert = Y.Assert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   174
            var ArrayAssert = Y.ArrayAssert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   175
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   176
            //do whatever data manipulation is necessary
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   177
            var value = this.data.shift();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   178
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   179
            //array shouldn't be empty
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   180
            ArrayAssert.isNotEmpty(this.data, "Array should not be empty.");                
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   181
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   182
            //basic equality assertion - expected value, actual value, optional error message
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   183
            Assert.areEqual(5, this.data.length, "Array should have 6 items."); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   184
            Assert.areEqual(0, value, "Value should be 0."); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   185
            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   186
            ArrayAssert.itemsAreEqual([1,2,3,4,5], this.data, "Arrays should be equal.");                              
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   187
        },            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   188
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   189
        /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   190
         * Test the splice() method.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   191
         */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   192
        testSplice : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   193
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   194
            //shortcut variables
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   195
            var Assert = Y.Assert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   196
            var ArrayAssert = Y.ArrayAssert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   197
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   198
            //do whatever data manipulation is necessary
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   199
            var removed = this.data.splice(1, 2, 99, 100);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   200
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   201
            //basic equality assertion - expected value, actual value, optional error message
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   202
            Assert.areEqual(6, this.data.length, "Array should have 6 items.");              
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   203
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   204
            //the new items should be there
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   205
            ArrayAssert.indexOf(99, this.data, 1, "Value at index 1 should be 99.");   
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   206
            ArrayAssert.indexOf(100, this.data, 2, "Value at index 2 should be 100.");   
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   207
            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   208
            ArrayAssert.itemsAreEqual([0,99,100,3,4,5], this.data, "Arrays should be equal.");  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   209
            ArrayAssert.itemsAreEqual([1,2], removed, "Removed values should be an array containing 1 and 2.");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   210
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   211
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   212
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   213
        /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   214
         * Test the unshift() method.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   215
         */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   216
        testUnshift : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   217
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   218
            //shortcut variables
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   219
            var Assert = Y.Assert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   220
            var ArrayAssert = Y.ArrayAssert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   221
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   222
            //do whatever data manipulation is necessary
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   223
            this.data.unshift(-1);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   224
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   225
            //basic equality assertion - expected value, actual value, optional error message
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   226
            Assert.areEqual(7, this.data.length, "Array should have 7 items."); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   227
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   228
            //the new item should be there
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   229
            ArrayAssert.indexOf(-1, this.data, 0, "First item should be -1."); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   230
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   231
            ArrayAssert.itemsAreEqual([-1,0,1,2,3,4,5], this.data, "Arrays should be equal.");                              
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   232
        } 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   233
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   234
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   235
     
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   236
    //create the console
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   237
    var r = new Y.Console({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   238
        verbose : true,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   239
        newestOnTop : false
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   240
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   241
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   242
    r.render('#testLogger');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   243
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   244
    Y.Test.Runner.add(Y.example.test.ArrayTestCase);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   245
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   246
    //run the tests
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   247
    Y.Test.Runner.run();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   248
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   249
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   250
</script>	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   251
	<!--END SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   252
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   253
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   254
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   255
	</div>			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   256
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   257
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   258
	<h2 class="first">Array Assertions</h2>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   259
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   260
<p>This example uses the <code>Y.ArrayAssert</code> object to test methods on JavaScript's
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   261
  built-in <code>Array</code> object. The intent of this example is to introduce <code>Y.ArrayAssert</code> and its methods
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   262
  as an alternative to the generic methods available on <code>Y.Assert</code>.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   263
<p>The example begins by creating an example namespace and <code>Y.Test.Case</code>:</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   264
<textarea name="code" class="JScript" cols="60" rows="1">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   265
Y.namespace("example.test");  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   266
Y.example.test.ArrayTestCase = new Y.Test.Case({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   267
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   268
    name: "Array Tests",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   269
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   270
    //-------------------------------------------------------------------------
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   271
    // Setup and teardown
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   272
    //-------------------------------------------------------------------------
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   273
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   274
    /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   275
     * The setUp() method is used to setup data that necessary for a test to
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   276
     * run. This method is called immediately before each test method is run,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   277
     * so it is run as many times as there are test methods.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   278
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   279
    setUp : function () {        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   280
        this.data = new Array (0,1,2,3,4,5);        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   281
    },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   282
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   283
    /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   284
     * The tearDown() method is used to clean up the initialization that was done
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   285
     * in the setUp() method. Ideally, it should free up all memory allocated in
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   286
     * setUp(), anticipating any possible changes to the data. This method is called
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   287
     * immediately after each test method is run.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   288
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   289
    tearDown : function () {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   290
        delete this.data;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   291
    },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   292
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   293
    ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   294
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   295
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   296
<p>This <code>TestCase</code> has a <code>setUp()</code> method that creates an array for all the tests to use, as well as
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   297
  a <code>tearDown()</code> method that deletes the array after each test has been executed. This array is used throughout
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   298
  the tests as a base for array manipulations.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   299
  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   300
<h3>Testing <code>push()</code></h3>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   301
<p>The first test is <code>testPush()</code>, which tests the functionality of the <code>Array</code> object's <code>push()</code> method
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   302
  (other methods hidden for simpicity):</p> 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   303
  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   304
<textarea name="code" class="JScript" cols="60" rows="1">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   305
Y.example.test.ArrayTestCase = new Y.Test.Case({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   306
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   307
    ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   308
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   309
    testPush : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   310
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   311
        //shortcut variables
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   312
        var ArrayAssert = Y.ArrayAssert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   313
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   314
        //do whatever data manipulation is necessary
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   315
        this.data.push(6);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   316
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   317
        //array-specific assertions
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   318
        ArrayAssert.isNotEmpty(this.data, "Array should not be empty.");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   319
        ArrayAssert.contains(6, this.data, "Array should contain 6.");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   320
        ArrayAssert.indexOf(6, this.data, 6, "The value in position 6 should be 6.");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   321
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   322
        //check that all the values are there
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   323
        ArrayAssert.itemsAreEqual([0,1,2,3,4,5,6], this.data, "Arrays should be equal.");       
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   324
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   325
    },    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   326
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   327
    ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   328
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   329
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   330
<p>The test begins by setting up a shortcut variables for <code>Y.ArrayAssert</code>, then pushes the value 6 onto
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   331
  the <code>data</code> array (which was created by <code>setUp()</code>). Next, <code>Y.ArrayAssert.isNotEmpty()</code> determines if the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   332
  array has at least one item; this should definitely pass because the <code>push()</code> operation only adds values to the array. To determine 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   333
  that the new value, 6, is in the array, <code>Y.ArrayAssert.contains()</code> is used. The first argument is the value to look for and the second
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   334
  is the array to look in. To find out if the new value ended up where it should have (the last position, index 6), <code>Y.ArrayAssert.indexOf()</code>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   335
  is used, passing in the value to search for as the first argument, the array to search in as the second, and the index at which the value should
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   336
  occur as the final argument. Since 6 was pushed onto the end of an array that already had 6 items, it should end up at index 6 (the length of the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   337
  array minus one). As a final test, <code>Y.ArrayAssert.itemsAreEqual()</code> is used to determine that all of the items in the array are in the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   338
  correct place. The first argument of this method is an array that has all of the values that should be in the array you're testing. This assertion
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   339
  passes only when the values in both arrays match up (the values are equal and the positions are the same).</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   340
  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   341
<h3>Testing <code>pop()</code></h3>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   342
<p>The next test is <code>testPop()</code>, which tests the functionality of the <code>Array</code> object's <code>pop()</code> method:</p> 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   343
  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   344
<textarea name="code" class="JScript" cols="60" rows="1">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   345
Y.example.test.ArrayTestCase = new Y.Test.Case({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   346
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   347
    ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   348
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   349
    testPop : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   350
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   351
        //shortcut variables
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   352
        var Assert = Y.Assert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   353
        var ArrayAssert = Y.ArrayAssert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   354
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   355
        //do whatever data manipulation is necessary
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   356
        var value = this.data.pop();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   357
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   358
        //array shouldn't be empty
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   359
        ArrayAssert.isNotEmpty(this.data, "Array should not be empty.");                
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   360
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   361
        //basic equality assertion - expected value, actual value, optional error message
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   362
        Assert.areEqual(5, this.data.length, "Array should have 5 items.");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   363
        Assert.areEqual(5, value, "Value should be 5.");   
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   364
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   365
        ArrayAssert.itemsAreSame([0,1,2,3,4], this.data, "Arrays should be equal.");    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   366
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   367
    },    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   368
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   369
    ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   370
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   371
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   372
<p>This test also starts out by creating some shortcut variables, for <code>Y.Assert</code> and <code>Y.ArrayAssert</code>. Next, the <code>pop()</code>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   373
  method is called, storing the returned item in <code>value</code>. Since <code>pop()</code> should only remove a single item, <code>Y.ArrayAssert.isNotEmpty()</code>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   374
  is called to ensure that only one item has been removed. After that, <code>Y.Assert.areEqual()</code> is called twice: once to check the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   375
  length of the array and once to confirm the value of the item that was removed from the array (which should be 5). The last assertion uses
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   376
  <code>Y.ArrayAssert.itemsAreSame()</code>, which is similar to <code>Y.ArrayAssert.itemsAreEqual()</code> in that it compares values between two
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   377
  arrays. The difference is that <code>Y.ArrayAssert.itemsAreSame()</code> uses strict equality (<code>===</code>) to compare values, ensuring that
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   378
  no behind-the-scenes type conversions will occur (this makes <code>Y.ArrayAssert.itemsAreSame()</code> more useful for working with arrays of
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   379
  objects).</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   380
  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   381
<h3>Testing <code>reverse()</code></h3>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   382
<p>The next test is <code>testReverse()</code>, which tests the functionality of the <code>Array</code> object's <code>reverse()</code> method:</p> 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   383
  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   384
<textarea name="code" class="JScript" cols="60" rows="1">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   385
Y.example.test.ArrayTestCase = new Y.Test.Case({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   386
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   387
    ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   388
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   389
    testReverse : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   390
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   391
        //shortcut variables
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   392
        var ArrayAssert = Y.ArrayAssert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   393
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   394
        //do whatever data manipulation is necessary
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   395
        this.data = this.data.reverse();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   396
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   397
        ArrayAssert.itemsAreEqual([5,4,3,2,1,0], this.data, "Arrays should be equal.");   
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   398
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   399
    },    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   400
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   401
    ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   402
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   403
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   404
<p>The <code>testRemove()</code> method is very simple, calling <code>reverse()</code> on the array and then testing the result. Since
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   405
  every item in the array has changed, the changes can be tested by calling <code>Y.ArrayAssert.itemsAreEqual()</code> once (instead of
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   406
  calling <code>Y.ArrayAssert.indexOf()</code> multiple times). The first argument is an array with all the values in the reverse order
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   407
  of the array that was created in <code>setUp()</code>. When compared with the second argument, the newly reversed array, the values in
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   408
  each position should be equal.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   409
  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   410
<h3>Testing <code>shift()</code></h3>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   411
<p>The next test is <code>testShift()</code>, which tests the functionality of the <code>Array</code> object's <code>shift()</code> method:</p> 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   412
  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   413
<textarea name="code" class="JScript" cols="60" rows="1">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   414
Y.example.test.ArrayTestCase = new Y.Test.Case({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   415
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   416
    ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   417
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   418
    testShift : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   419
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   420
        //shortcut variables
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   421
        var Assert = Y.Assert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   422
        var ArrayAssert = Y.ArrayAssert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   423
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   424
        //do whatever data manipulation is necessary
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   425
        var value = this.data.shift();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   426
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   427
        //array shouldn't be empty
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   428
        ArrayAssert.isNotEmpty(this.data, "Array should not be empty.");                
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   429
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   430
        //basic equality assertion - expected value, actual value, optional error message
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   431
        Assert.areEqual(5, this.data.length, "Array should have 6 items."); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   432
        Assert.areEqual(0, value, "Value should be 0."); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   433
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   434
        ArrayAssert.itemsAreEqual([1,2,3,4,5], this.data, "Arrays should be equal.");   
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   435
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   436
    },    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   437
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   438
    ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   439
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   440
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   441
<p>The <code>shift()</code> method removes the first item in the array and returns it (similar to <code>pop()</code>, which removes the item
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   442
  from the end). In the <code>testShift()</code> method, <code>shift()</code> is called and the item is stored in <code>value</code>. To ensure
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   443
  that the rest of the array is still there, <code>Y.ArrayAssert.isNotEmpty()</code> is called. After that, <code>Array.areEqual()</code> is
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   444
  called twice, once to test the length of the array and once to test the value that was returned from <code>shift()</code> (which should be
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   445
  0). As a last test, the entire array is tested using <code>Y.ArrayAssert.itemsAreEqual()</code> to ensure that all of the items have shifted
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   446
  into the appropriate positions in the array.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   447
  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   448
<h3>Testing <code>splice()</code></h3>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   449
<p>The next test is <code>testSplice()</code>, which tests the functionality of the <code>Array</code> object's <code>splice()</code> method:</p> 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   450
  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   451
<textarea name="code" class="JScript" cols="60" rows="1">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   452
Y.example.test.ArrayTestCase = new Y.Test.Case({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   453
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   454
    ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   455
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   456
    testSplice : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   457
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   458
        //shortcut variables
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   459
        var Assert = Y.Assert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   460
        var ArrayAssert = Y.ArrayAssert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   461
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   462
        //do whatever data manipulation is necessary
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   463
        var removed = this.data.splice(1, 2, 99, 100);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   464
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   465
        //basic equality assertion - expected value, actual value, optional error message
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   466
        Assert.areEqual(6, this.data.length, "Array should have 6 items.");              
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   467
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   468
        //the new items should be there
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   469
        ArrayAssert.indexOf(99, this.data, 1, "Value at index 1 should be 99.");   
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   470
        ArrayAssert.indexOf(100, this.data, 2, "Value at index 2 should be 100.");   
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   471
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   472
        ArrayAssert.itemsAreEqual([0,99,100,3,4,5], this.data, "Arrays should be equal.");  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   473
        ArrayAssert.itemsAreEqual([1,2], removed, "Removed values should be an array containing 1 and 2."); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   474
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   475
    },    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   476
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   477
    ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   478
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   479
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   480
<p>The <code>splice()</code> method is one of the most powerful <code>Array</code> manipulations. It can both remove and add any number of items
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   481
  from an array at the same time. This test begins by splicing some values into the array. When calling <code>splice()</code>, the first argument
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   482
  is 1, indicating that values should be inserted at index 1 of the array; the second argument is 2, indicating that two values should be
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   483
  removed from the array (the value in index 1 and the value in index 2); the third and fourth arguments are values that should be inserted
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   484
  into the array at the position given by the first argument. Essentially, values 1 and 2 should end up being replaced by values 99 and 100 in
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   485
  the array.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   486
<p>The first test is to determine that the length of the array is still 6 (since the previous step removed two items and then inserted two, the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   487
  length should still be 6). After that, <code>Y.Assert.indexOf()</code> is called to determine that the values of 99 and 100 are in positions
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   488
  1 and 2, respectively. To ensure the integrity of the entire array, <code>Y.ArrayAssert.itemsAreEqual()</code> is called on the array, comparing
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   489
  it to an array with the same values. The very last step is to test the value returned from <code>splice()</code>, which is an array containing
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   490
  the removed values, 1 and 2. <code>Y.ArrayAssert.itemsAreEqual()</code> is appropriate for this task as well.</p>  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   491
  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   492
<h3>Testing <code>unshift()</code></h3>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   493
<p>The next test is <code>testUnshift()</code>, which tests the functionality of the <code>Array</code> object's <code>unshift()</code> method:</p> 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   494
  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   495
<textarea name="code" class="JScript" cols="60" rows="1">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   496
Y.example.test.ArrayTestCase = new Y.Test.Case({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   497
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   498
    ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   499
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   500
    testUnshift : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   501
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   502
        //shortcut variables
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   503
        var Assert = Y.Assert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   504
        var ArrayAssert = Y.ArrayAssert;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   505
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   506
        //do whatever data manipulation is necessary
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   507
        this.data.unshift(-1);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   508
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   509
        //basic equality assertion - expected value, actual value, optional error message
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   510
        Assert.areEqual(7, this.data.length, "Array should have 7 items."); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   511
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   512
        //the new item should be there
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   513
        ArrayAssert.indexOf(-1, this.data, 0, "First item should be -1."); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   514
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   515
        ArrayAssert.itemsAreEqual([-1,0,1,2,3,4,5], this.data, "Arrays should be equal.");     
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   516
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   517
    },    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   518
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   519
    ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   520
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   521
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   522
<p>Working similar to <code>push()</code>, <code>unshift()</code> adds a value to the array, but the item is added to the front (index 0) instead of
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   523
  the back. This test begins by adding the value -1 to the array. The first assertion determines if the length of the array has been incremented
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   524
  to 7 to account for the new value. After that, <code>Y.ArrayAssert.indexOf()</code> is used to determine if the value has been placed in the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   525
  correct location. The final assertions tests that the entire array is expected by using <code>Y.ArrayAssert.itemsAreEqual()</code>.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   526
  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   527
<h3>Running the tests</h3>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   528
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   529
<p>With all of the tests defined, the last step is to run them:</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   530
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   531
<textarea name="code" class="JScript" cols="60" rows="1">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   532
//create the console
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   533
var r = new Y.Console({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   534
    verbose : true,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   535
    newestOnTop : false
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   536
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   537
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   538
r.render('#testLogger');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   539
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   540
Y.Test.Runner.add(Y.example.test.ArrayTestCase);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   541
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   542
//run the tests
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   543
Y.Test.Runner.run();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   544
</textarea> 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   545
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   546
<p>Before running the tests, it's necessary to create a <code>Y.Console</code> object to display the results (otherwise the tests would run 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   547
  but you wouldn't see the results). After that, the <code>Y.Test.Runner</code> is loaded with the <code>Y.Test.Case</code> object by calling 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   548
  <code>add()</code> (any number of <code>Y.Test.Case</code> and <code>TestSuite</code> objects can be added to a <code>Y.Test.Runner</code>, 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   549
  this example only adds one for simplicity). The very last step is to call <code>run()</code>, which begins executing the tests in its
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   550
  queue and displays the results in the <code>Y.Console</code>.</p>				</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   551
				<div class="yui-u sidebar">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   552
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   553
				
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   554
					<div id="examples" class="mod box4">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   555
                        <div class="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   556
						<h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   557
    Test Examples:</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   558
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   559
						<div class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   560
							<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   561
								<li><a href='../test/test-simple-example.html'>Simple Testing Example</a></li><li><a href='../test/test-advanced-test-options.html'>Advanced Test Options</a></li><li class='selected'><a href='../test/test-array-tests.html'>Array Processing</a></li><li><a href='../test/test-async-test.html'>Asynchronous Testing</a></li><li><a href='../test/test-async-event-tests.html'>Asynchronous Event Testing</a></li>							</ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   562
						</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   563
					</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   564
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   565
					<div class="mod box4">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   566
                        <div class="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   567
						<h4>More Test Resources:</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   568
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   569
                        <div class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   570
						<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   571
							<!-- <li><a href="http://developer.yahoo.com/yui/test/">User's Guide</a> (external)</li> -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   572
						<li><a href="../../api/module_test.html">API Documentation</a></li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   573
</ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   574
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   575
					</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   576
			  </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   577
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   578
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   579
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   580
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   581
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   582
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   583
<div class="yui-b toc3" id="tocWrapper">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   584
<!-- TABLE OF CONTENTS -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   585
<div id="toc">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   586
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   587
<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   588
<li class="sect first">YUI 3.x Project</li><li class="item"><a title="The Yahoo! User Interface (YUI) Library, 3.x Branch, " href="http://developer.yahoo.com/yui/3/">YUI 3 Web Site (external)</a></li><li class="item"><a title="Examples of every YUI utility and control in action" href="../../examples/">YUI 3 Examples</a></li><li class="item"><a title="Instantly searchable API documentation for the entire YUI library." href="../../api/">YUI 3 API Docs</a></li><li class="item"><a title="The YUI Library can be downloaded from SourceForge" href="http://sourceforge.net/projects/yui/">YUI 3 on Sourceforge (external)</a></li><li class="item"><a title="YUI is free and open, offered under a BSD license." href="http://developer.yahoo.com/yui/3/license.html">YUI License (external)</a></li><li class="sect">YUI 3 Core - Examples</li><li class="item"><a title="YUI (Global Prerequisite) - Functional Examples" href="../../examples/yui/index.html">YUI (Global Prerequisite)</a></li><li class="item"><a title="Event - Functional Examples" href="../../examples/event/index.html">Event</a></li><li class="item"><a title="Node - Functional Examples" href="../../examples/node/index.html">Node</a></li><li class="sect">YUI 3 Component Infrastructure - Examples</li><li class="item"><a title="Attribute - Functional Examples" href="../../examples/attribute/index.html">Attribute</a></li><li class="item"><a title="Plugin - Functional Examples" href="../../examples/plugin/index.html">Plugin</a></li><li class="item"><a title="Widget - Functional Examples" href="../../examples/widget/index.html">Widget</a></li><li class="sect">YUI 3 Utilities - Examples</li><li class="item"><a title="Animation - Functional Examples" href="../../examples/anim/index.html">Animation</a></li><li class="item"><a title="Cache - Functional Examples" href="../../examples/cache/index.html">Cache</a></li><li class="item"><a title="Cookie - Functional Examples" href="../../examples/cookie/index.html">Cookie</a></li><li class="item"><a title="DataSchema - Functional Examples" href="../../examples/dataschema/index.html">DataSchema</a></li><li class="item"><a title="DataSource - Functional Examples" href="../../examples/datasource/index.html">DataSource</a></li><li class="item"><a title="DataType - Functional Examples" href="../../examples/datatype/index.html">DataType</a></li><li class="item"><a title="Drag &amp; Drop - Functional Examples" href="../../examples/dd/index.html">Drag &amp; Drop</a></li><li class="item"><a title="Get - Functional Examples" href="../../examples/get/index.html">Get</a></li><li class="item"><a title="History - Functional Examples" href="../../examples/history/index.html">History</a></li><li class="item"><a title="ImageLoader - Functional Examples" href="../../examples/imageloader/index.html">ImageLoader</a></li><li class="item"><a title="IO - Functional Examples" href="../../examples/io/index.html">IO</a></li><li class="item"><a title="JSON (JavaScript Object Notation) - Functional Examples" href="../../examples/json/index.html">JSON</a></li><li class="item"><a title="Queue - Functional Examples" href="../../examples/queue/index.html">Queue</a></li><li class="item"><a title="Stylesheet - Functional Examples" href="../../examples/stylesheet/index.html">Stylesheet</a></li><li class="sect">YUI 3 Widgets - Examples</li><li class="item"><a title="Overlay - Functional Examples" href="../../examples/overlay/index.html">Overlay</a></li><li class="item"><a title="Slider - Functional Examples" href="../../examples/slider/index.html">Slider</a></li><li class="sect">YUI 3 Node Plugins - Examples</li><li class="item"><a title="FocusManager Node Plugin - Functional Examples" href="../../examples/node-focusmanager/index.html">FocusManager Node Plugin</a></li><li class="item"><a title="MenuNav Node Plugin - Functional Examples" href="../../examples/node-menunav/index.html">MenuNav Node Plugin</a></li><li class="sect">YUI 3 CSS - Examples</li><li class="item"><a title="YUI CSS Reset - Functional Examples" href="../../examples/cssreset/index.html">CSS Reset</a></li><li class="item"><a title="YUI Fonts - Functional Examples" href="../../examples/cssfonts/index.html">CSS Fonts</a></li><li class="item"><a title="YUI Base - Functional Examples" href="../../examples/cssbase/index.html">CSS Base</a></li><li class="sect">YUI 3 Developer Tools - Examples</li><li class="item"><a title="Console - Functional Examples" href="../../examples/console/index.html">Console</a></li><li class="item"><a title="Profiler - Functional Examples" href="../../examples/profiler/index.html">Profiler</a></li><li class="selected "><a title="Test - Functional Examples" href="../../examples/test/index.html">Test</a></li><li class="sect">The YUI Community</li><li class="item"><a title="The Yahoo! User Interface Blog" href="http://yuiblog.com">YUI Blog (external)</a></li><li class="item"><a title="The Yahoo! Group YDN-JavaScript hosts the YUI community forum" href="http://tech.groups.yahoo.com/group/ydn-javascript/">YUI Forum (external)</a></li><li class="item"><a title="The Yahoo! Group yui3 is dedicated to the 3.x branch of the Yahoo! User Interface (YUI) Library." href="http://tech.groups.yahoo.com/group/yui3/">YUI 3 Forum (external)</a></li><li class="item"><a title="YUI is used by Yahoo! and by hundreds of other sites, including many you know and love." href="/yui/poweredby/">YUI Sightings (external)</a></li><li class="item"><a title="Videos and podcasts from the YUI Team and from the Yahoo! frontend engineering community." href="http://developer.yahoo.com/yui/theater/">YUI Theater (external)</a></li><li class="sect">YUI Articles on the YUI Website</li><li class="item"><a title="Answers to Frequently Asked Questions about the YUI Library" href="http://developer.yahoo.com/yui/articles/faq/">YUI FAQ (external)</a></li><li class="item"><a title="Yahoo!'s philosophy of Graded Browser Support" href="http://developer.yahoo.com/yui/articles/gbs/">Graded Browser Support (external)</a></li><li class="item"><a title="Reporting Bugs and Making Feature Requests for YUI Components" href="http://developer.yahoo.com/yui/articles/reportingbugs/">Bug Reports/Feature Requests (external)</a></li><li class="item"><a title="Serve YUI source files from Yahoo! -- free, fast, and simple" href="http://developer.yahoo.com/yui/3/articles/hosting/">Serving YUI Files from Yahoo! (external)</a></li></ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   589
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   590
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   591
	</div><!--closes bd-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   592
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   593
	<div id="ft">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   594
        <p class="first">Copyright &copy; 2009 Yahoo! Inc. All rights reserved.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   595
        <p><a href="http://privacy.yahoo.com/privacy/us/devel/index.html">Privacy Policy</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   596
            <a href="http://docs.yahoo.com/info/terms/">Terms of Service</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   597
            <a href="http://docs.yahoo.com/info/copyright/copyright.html">Copyright Policy</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   598
            <a href="http://careers.yahoo.com/">Job Openings</a></p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   599
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   600
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   601
<script src="../../assets/dpSyntaxHighlighter.js"></script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   602
<script language="javascript"> 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   603
dp.SyntaxHighlighter.HighlightAll('code'); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   604
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   605
</body>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   606
</html>