src/cm/media/js/lib/yui/yui_3.10.3/docs/test/test-array-tests.html
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 525 89ef5ed3c48b
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
<!DOCTYPE html>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
<html lang="en">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
<head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
    <meta charset="utf-8">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
    <title>Example: Array Processing</title>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic,700italic">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
    <link rel="stylesheet" href="../../build/cssgrids/cssgrids-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
    <link rel="stylesheet" href="../assets/css/main.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
    <link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
    <link rel="shortcut icon" type="image/png" href="../assets/favicon.png">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
    <script src="../../build/yui/yui-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
</head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
<body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
<!--
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
<a href="https://github.com/yui/yui3"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
-->
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
<div id="doc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
    <div id="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
        <h1><img src="http://yuilibrary.com/img/yui-logo.png"></h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
        <a href="#toc" class="jump">Jump to Table of Contents</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
            <h1>Example: Array Processing</h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
    <div class="yui3-g">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
        <div class="yui3-u-3-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
            <div id="main">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
                <div class="content"><div class="intro">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
    <p>This example shows how to use the <a href="index.html#arrayassert"><code>ArrayAssert</code></a> object, which
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
  contains assertions designed to be used specifically with JavaScript Arrays and array-like objects.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
<div class="example yui3-skin-sam">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
    <div id="testLogger"></div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
YUI().use('node', 'test-console', 'test', function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
    Y.namespace("example.test");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
    Y.example.test.ArrayTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
        //the name of the test case - if not provided, one is automatically generated
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
        name: "Array Tests",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
        //-------------------------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
        // Setup and teardown
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
        //-------------------------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
        /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
         * The setUp() method is used to setup data that necessary for a test to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
         * run. This method is called immediately before each test method is run,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
         * so it is run as many times as there are test methods.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
        setUp : function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
            this.data = new Array (0,1,2,3,4,5);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
        /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
         * The tearDown() method is used to clean up the initialization that was done
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
         * in the setUp() method. Ideally, it should free up all memory allocated in
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
         * setUp(), anticipating any possible changes to the data. This method is called
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
         * immediately after each test method is run.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
        tearDown : function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
            delete this.data;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
        //-------------------------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
        // Basic tests - all method names must begin with "test"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
        //-------------------------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
        /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
         * Test the push() method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
        testPush : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
            //shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
            var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
            //do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
            this.data.push(6);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
            //array-specific assertions
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
            ArrayAssert.isNotEmpty(this.data, "Array should not be empty.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
            ArrayAssert.contains(6, this.data, "Array should contain 6.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
            ArrayAssert.indexOf(6, this.data, 6, "The value in position 6 should be 6.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
            //check that all the values are there
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
            ArrayAssert.itemsAreEqual([0,1,2,3,4,5,6], this.data, "Arrays should be equal.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
        /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
         * Test the pop() method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
        testPop : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
            //shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
            var Assert = Y.Assert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
            var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
            //do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
            var value = this.data.pop();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
            //array shouldn't be empty
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
            ArrayAssert.isNotEmpty(this.data, "Array should not be empty.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
            //basic equality assertion - expected value, actual value, optional error message
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
            Assert.areEqual(5, this.data.length, "Array should have 5 items.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
            Assert.areEqual(5, value, "Value should be 5.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
            ArrayAssert.itemsAreSame([0,1,2,3,4], this.data, "Arrays should be equal.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
        /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
         * Test the reverse() method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
        testReverse : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
            //shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
            var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
            //do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
            this.data = this.data.reverse();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
            ArrayAssert.itemsAreEqual([5,4,3,2,1,0], this.data, "Arrays should be equal.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
        /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
         * Test the shift() method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
        testShift : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
            //shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
            var Assert = Y.Assert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
            var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
            //do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
            var value = this.data.shift();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
            //array shouldn't be empty
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
            ArrayAssert.isNotEmpty(this.data, "Array should not be empty.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
            //basic equality assertion - expected value, actual value, optional error message
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
            Assert.areEqual(5, this.data.length, "Array should have 6 items.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
            Assert.areEqual(0, value, "Value should be 0.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
            ArrayAssert.itemsAreEqual([1,2,3,4,5], this.data, "Arrays should be equal.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
        /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
         * Test the splice() method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
        testSplice : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
            //shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
            var Assert = Y.Assert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
            var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
            //do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
            var removed = this.data.splice(1, 2, 99, 100);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
            //basic equality assertion - expected value, actual value, optional error message
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
            Assert.areEqual(6, this.data.length, "Array should have 6 items.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
            //the new items should be there
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
            ArrayAssert.indexOf(99, this.data, 1, "Value at index 1 should be 99.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
            ArrayAssert.indexOf(100, this.data, 2, "Value at index 2 should be 100.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
            ArrayAssert.itemsAreEqual([0,99,100,3,4,5], this.data, "Arrays should be equal.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
            ArrayAssert.itemsAreEqual([1,2], removed, "Removed values should be an array containing 1 and 2.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
        /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
         * Test the unshift() method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
        testUnshift : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
            //shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
            var Assert = Y.Assert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
            var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
            //do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
            this.data.unshift(-1);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
            //basic equality assertion - expected value, actual value, optional error message
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
            Assert.areEqual(7, this.data.length, "Array should have 7 items.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
            //the new item should be there
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
            ArrayAssert.indexOf(-1, this.data, 0, "First item should be -1.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
            ArrayAssert.itemsAreEqual([-1,0,1,2,3,4,5], this.data, "Arrays should be equal.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
    //create the console
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
    (new Y.Test.Console({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
        newestOnTop : false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
        filters: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
            pass: true,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
            fail: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
    })).render('#testLogger');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
    Y.Test.Runner.add(Y.example.test.ArrayTestCase);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
    //run the tests
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
    Y.Test.Runner.run();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
<h2 class="first" id="array-assertions">Array Assertions</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
<p>This example uses the <code>Y.ArrayAssert</code> object to test methods on JavaScript's
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
  built-in <code>Array</code> object. The intent of this example is to introduce <code>Y.ArrayAssert</code> and its methods
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
  as an alternative to the generic methods available on <code>Y.Assert</code>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
<p>The example begins by creating an example namespace and <code>Y.Test.Case</code>:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
<pre class="code prettyprint">Y.namespace(&quot;example.test&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
Y.example.test.ArrayTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
    name: &quot;Array Tests&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
    &#x2F;&#x2F;-------------------------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
    &#x2F;&#x2F; Setup and teardown
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
    &#x2F;&#x2F;-------------------------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
    &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
     * The setUp() method is used to setup data that necessary for a test to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
     * run. This method is called immediately before each test method is run,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
     * so it is run as many times as there are test methods.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
     *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
    setUp : function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
        this.data = new Array (0,1,2,3,4,5);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
    &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
     * The tearDown() method is used to clean up the initialization that was done
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
     * in the setUp() method. Ideally, it should free up all memory allocated in
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
     * setUp(), anticipating any possible changes to the data. This method is called
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
     * immediately after each test method is run.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
     *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
    tearDown : function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
        delete this.data;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
<p>This <code>TestCase</code> has a <code>setUp()</code> method that creates an array for all the tests to use, as well as
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
  a <code>tearDown()</code> method that deletes the array after each test has been executed. This array is used throughout
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
  the tests as a base for array manipulations.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
<h3 id="testing-push">Testing <code>push()</code></h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
<p>The first test is <code>testPush()</code>, which tests the functionality of the <code>Array</code> object's <code>push()</code> method
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
  (other methods hidden for simpicity):</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
<pre class="code prettyprint">Y.example.test.ArrayTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
    testPush : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
        &#x2F;&#x2F;shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
        var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
        &#x2F;&#x2F;do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
        this.data.push(6);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
        &#x2F;&#x2F;array-specific assertions
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
        ArrayAssert.isNotEmpty(this.data, &quot;Array should not be empty.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
        ArrayAssert.contains(6, this.data, &quot;Array should contain 6.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
        ArrayAssert.indexOf(6, this.data, 6, &quot;The value in position 6 should be 6.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
        &#x2F;&#x2F;check that all the values are there
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
        ArrayAssert.itemsAreEqual([0,1,2,3,4,5,6], this.data, &quot;Arrays should be equal.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
<p>The test begins by setting up a shortcut variables for <code>Y.ArrayAssert</code>, then pushes the value 6 onto
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
  the <code>data</code> array (which was created by <code>setUp()</code>). Next, <code>Y.ArrayAssert.isNotEmpty()</code> determines if the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
  array has at least one item; this should definitely pass because the <code>push()</code> operation only adds values to the array. To determine
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
  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>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
  passes only when the values in both arrays match up (the values are equal and the positions are the same).</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
<h3 id="testing-pop">Testing <code>pop()</code></h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
<p>The next test is <code>testPop()</code>, which tests the functionality of the <code>Array</code> object's <code>pop()</code> method:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
<pre class="code prettyprint">Y.example.test.ArrayTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
    testPop : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
        &#x2F;&#x2F;shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
        var Assert = Y.Assert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
        var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
        &#x2F;&#x2F;do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
        var value = this.data.pop();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
        &#x2F;&#x2F;array shouldn&#x27;t be empty
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
        ArrayAssert.isNotEmpty(this.data, &quot;Array should not be empty.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
        &#x2F;&#x2F;basic equality assertion - expected value, actual value, optional error message
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
        Assert.areEqual(5, this.data.length, &quot;Array should have 5 items.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
        Assert.areEqual(5, value, &quot;Value should be 5.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
        ArrayAssert.itemsAreSame([0,1,2,3,4], this.data, &quot;Arrays should be equal.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
<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>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
  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>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
  <code>Y.ArrayAssert.itemsAreSame()</code>, which is similar to <code>Y.ArrayAssert.itemsAreEqual()</code> in that it compares values between two
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
  arrays. The difference is that <code>Y.ArrayAssert.itemsAreSame()</code> uses strict equality (<code>===</code>) to compare values, ensuring that
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
  no behind-the-scenes type conversions will occur (this makes <code>Y.ArrayAssert.itemsAreSame()</code> more useful for working with arrays of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
  objects).</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
<h3 id="testing-reverse">Testing <code>reverse()</code></h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
<p>The next test is <code>testReverse()</code>, which tests the functionality of the <code>Array</code> object's <code>reverse()</code> method:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
<pre class="code prettyprint">Y.example.test.ArrayTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
    testReverse : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
        &#x2F;&#x2F;shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
        var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
        &#x2F;&#x2F;do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
        this.data = this.data.reverse();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
        ArrayAssert.itemsAreEqual([5,4,3,2,1,0], this.data, &quot;Arrays should be equal.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
<p>The <code>testRemove()</code> method is very simple, calling <code>reverse()</code> on the array and then testing the result. Since
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
  every item in the array has changed, the changes can be tested by calling <code>Y.ArrayAssert.itemsAreEqual()</code> once (instead of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
  calling <code>Y.ArrayAssert.indexOf()</code> multiple times). The first argument is an array with all the values in the reverse order
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
  of the array that was created in <code>setUp()</code>. When compared with the second argument, the newly reversed array, the values in
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
  each position should be equal.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
<h3 id="testing-shift">Testing <code>shift()</code></h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
<p>The next test is <code>testShift()</code>, which tests the functionality of the <code>Array</code> object's <code>shift()</code> method:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
<pre class="code prettyprint">Y.example.test.ArrayTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
    testShift : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
        &#x2F;&#x2F;shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
        var Assert = Y.Assert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
        var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
        &#x2F;&#x2F;do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
        var value = this.data.shift();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
        &#x2F;&#x2F;array shouldn&#x27;t be empty
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
        ArrayAssert.isNotEmpty(this.data, &quot;Array should not be empty.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
        &#x2F;&#x2F;basic equality assertion - expected value, actual value, optional error message
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
        Assert.areEqual(5, this.data.length, &quot;Array should have 6 items.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   389
        Assert.areEqual(0, value, &quot;Value should be 0.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   390
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   391
        ArrayAssert.itemsAreEqual([1,2,3,4,5], this.data, &quot;Arrays should be equal.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   394
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   395
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   396
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   397
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   398
<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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   399
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   400
  that the rest of the array is still there, <code>Y.ArrayAssert.isNotEmpty()</code> is called. After that, <code>Array.areEqual()</code> is
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   403
  into the appropriate positions in the array.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   404
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   405
<h3 id="testing-splice">Testing <code>splice()</code></h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   406
<p>The next test is <code>testSplice()</code>, which tests the functionality of the <code>Array</code> object's <code>splice()</code> method:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   407
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   408
<pre class="code prettyprint">Y.example.test.ArrayTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   409
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   410
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   411
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   412
    testSplice : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   413
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   414
        &#x2F;&#x2F;shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   415
        var Assert = Y.Assert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   416
        var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   417
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   418
        &#x2F;&#x2F;do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   419
        var removed = this.data.splice(1, 2, 99, 100);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   420
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   421
        &#x2F;&#x2F;basic equality assertion - expected value, actual value, optional error message
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   422
        Assert.areEqual(6, this.data.length, &quot;Array should have 6 items.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   423
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   424
        &#x2F;&#x2F;the new items should be there
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   425
        ArrayAssert.indexOf(99, this.data, 1, &quot;Value at index 1 should be 99.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   426
        ArrayAssert.indexOf(100, this.data, 2, &quot;Value at index 2 should be 100.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   427
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   428
        ArrayAssert.itemsAreEqual([0,99,100,3,4,5], this.data, &quot;Arrays should be equal.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   429
        ArrayAssert.itemsAreEqual([1,2], removed, &quot;Removed values should be an array containing 1 and 2.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   430
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   431
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   432
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   433
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   434
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   435
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   436
<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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   437
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   438
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   439
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   440
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   441
  the array.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   442
<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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   443
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   444
  1 and 2, respectively. To ensure the integrity of the entire array, <code>Y.ArrayAssert.itemsAreEqual()</code> is called on the array, comparing
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   445
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   446
  the removed values, 1 and 2. <code>Y.ArrayAssert.itemsAreEqual()</code> is appropriate for this task as well.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   447
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   448
<h3 id="testing-unshift">Testing <code>unshift()</code></h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   449
<p>The next test is <code>testUnshift()</code>, which tests the functionality of the <code>Array</code> object's <code>unshift()</code> method:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   450
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   451
<pre class="code prettyprint">Y.example.test.ArrayTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   452
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   453
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   454
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   455
    testUnshift : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   456
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   457
        &#x2F;&#x2F;shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   458
        var Assert = Y.Assert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   459
        var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   460
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   461
        &#x2F;&#x2F;do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   462
        this.data.unshift(-1);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   463
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   464
        &#x2F;&#x2F;basic equality assertion - expected value, actual value, optional error message
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   465
        Assert.areEqual(7, this.data.length, &quot;Array should have 7 items.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   466
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   467
        &#x2F;&#x2F;the new item should be there
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   468
        ArrayAssert.indexOf(-1, this.data, 0, &quot;First item should be -1.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   469
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   470
        ArrayAssert.itemsAreEqual([-1,0,1,2,3,4,5], this.data, &quot;Arrays should be equal.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   471
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   472
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   473
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   474
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   475
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   476
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   477
<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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   478
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   479
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   480
  correct location. The final assertions tests that the entire array is expected by using <code>Y.ArrayAssert.itemsAreEqual()</code>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   481
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   482
<h3 id="running-the-tests">Running the tests</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   483
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   484
<p>With all of the tests defined, the last step is to run them:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   485
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   486
<pre class="code prettyprint">&#x2F;&#x2F;create the console
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   487
(new Y.Test.Console({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   488
    verbose : true,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   489
    newestOnTop : false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   490
    filters: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   491
        pass: true,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   492
        fail: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   493
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   494
})).render(&#x27;#testLogger&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   495
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   496
Y.Test.Runner.add(Y.example.test.ArrayTestCase);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   497
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   498
&#x2F;&#x2F;run the tests
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   499
Y.Test.Runner.run();</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   500
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   501
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   502
<p>Before running the tests, it's necessary to create a <code>Y.Test.Console</code> object to display the results (otherwise the tests would run
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   503
  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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   504
  <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>,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   505
  this example only adds one for simplicity). The very last step is to call <code>run()</code>, which begins executing the tests in its
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   506
  queue and displays the results in the <code>Y.Test.Console</code>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   507
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   508
<h2 id="complete-example-source">Complete Example Source</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   509
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   510
<pre class="code prettyprint">&lt;div id=&quot;testLogger&quot;&gt;&lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   511
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   512
&lt;script&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   513
YUI().use(&#x27;node&#x27;, &#x27;test-console&#x27;, &#x27;test&#x27;, function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   514
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   515
    Y.namespace(&quot;example.test&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   516
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   517
    Y.example.test.ArrayTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   518
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   519
        &#x2F;&#x2F;the name of the test case - if not provided, one is automatically generated
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   520
        name: &quot;Array Tests&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   521
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   522
        &#x2F;&#x2F;-------------------------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   523
        &#x2F;&#x2F; Setup and teardown
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   524
        &#x2F;&#x2F;-------------------------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   526
        &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   527
         * The setUp() method is used to setup data that necessary for a test to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   528
         * run. This method is called immediately before each test method is run,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   529
         * so it is run as many times as there are test methods.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   530
         *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   531
        setUp : function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   532
            this.data = new Array (0,1,2,3,4,5);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   533
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   534
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   535
        &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   536
         * The tearDown() method is used to clean up the initialization that was done
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   537
         * in the setUp() method. Ideally, it should free up all memory allocated in
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   538
         * setUp(), anticipating any possible changes to the data. This method is called
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   539
         * immediately after each test method is run.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   540
         *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   541
        tearDown : function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   542
            delete this.data;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   543
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   544
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   545
        &#x2F;&#x2F;-------------------------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   546
        &#x2F;&#x2F; Basic tests - all method names must begin with &quot;test&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   547
        &#x2F;&#x2F;-------------------------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   548
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   549
        &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   550
         * Test the push() method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   551
         *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   552
        testPush : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   553
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   554
            &#x2F;&#x2F;shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   555
            var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   556
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   557
            &#x2F;&#x2F;do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   558
            this.data.push(6);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   559
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   560
            &#x2F;&#x2F;array-specific assertions
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   561
            ArrayAssert.isNotEmpty(this.data, &quot;Array should not be empty.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   562
            ArrayAssert.contains(6, this.data, &quot;Array should contain 6.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   563
            ArrayAssert.indexOf(6, this.data, 6, &quot;The value in position 6 should be 6.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   564
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   565
            &#x2F;&#x2F;check that all the values are there
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   566
            ArrayAssert.itemsAreEqual([0,1,2,3,4,5,6], this.data, &quot;Arrays should be equal.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   567
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   568
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   569
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   570
        &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   571
         * Test the pop() method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   572
         *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   573
        testPop : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   574
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   575
            &#x2F;&#x2F;shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   576
            var Assert = Y.Assert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   577
            var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   578
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   579
            &#x2F;&#x2F;do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   580
            var value = this.data.pop();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   581
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   582
            &#x2F;&#x2F;array shouldn&#x27;t be empty
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   583
            ArrayAssert.isNotEmpty(this.data, &quot;Array should not be empty.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   584
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   585
            &#x2F;&#x2F;basic equality assertion - expected value, actual value, optional error message
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   586
            Assert.areEqual(5, this.data.length, &quot;Array should have 5 items.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   587
            Assert.areEqual(5, value, &quot;Value should be 5.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   588
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   589
            ArrayAssert.itemsAreSame([0,1,2,3,4], this.data, &quot;Arrays should be equal.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   590
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   591
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   592
        &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   593
         * Test the reverse() method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   594
         *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   595
        testReverse : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   596
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   597
            &#x2F;&#x2F;shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   598
            var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   599
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   600
            &#x2F;&#x2F;do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   601
            this.data = this.data.reverse();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   602
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   603
            ArrayAssert.itemsAreEqual([5,4,3,2,1,0], this.data, &quot;Arrays should be equal.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   604
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   605
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   606
        &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   607
         * Test the shift() method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   608
         *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   609
        testShift : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   610
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   611
            &#x2F;&#x2F;shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   612
            var Assert = Y.Assert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   613
            var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   614
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   615
            &#x2F;&#x2F;do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   616
            var value = this.data.shift();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   617
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   618
            &#x2F;&#x2F;array shouldn&#x27;t be empty
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   619
            ArrayAssert.isNotEmpty(this.data, &quot;Array should not be empty.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   620
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   621
            &#x2F;&#x2F;basic equality assertion - expected value, actual value, optional error message
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   622
            Assert.areEqual(5, this.data.length, &quot;Array should have 6 items.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   623
            Assert.areEqual(0, value, &quot;Value should be 0.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   624
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   625
            ArrayAssert.itemsAreEqual([1,2,3,4,5], this.data, &quot;Arrays should be equal.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   626
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   627
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   628
        &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   629
         * Test the splice() method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   630
         *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   631
        testSplice : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   632
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   633
            &#x2F;&#x2F;shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   634
            var Assert = Y.Assert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   635
            var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   636
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   637
            &#x2F;&#x2F;do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   638
            var removed = this.data.splice(1, 2, 99, 100);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   639
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   640
            &#x2F;&#x2F;basic equality assertion - expected value, actual value, optional error message
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   641
            Assert.areEqual(6, this.data.length, &quot;Array should have 6 items.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   642
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   643
            &#x2F;&#x2F;the new items should be there
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   644
            ArrayAssert.indexOf(99, this.data, 1, &quot;Value at index 1 should be 99.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   645
            ArrayAssert.indexOf(100, this.data, 2, &quot;Value at index 2 should be 100.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   646
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   647
            ArrayAssert.itemsAreEqual([0,99,100,3,4,5], this.data, &quot;Arrays should be equal.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   648
            ArrayAssert.itemsAreEqual([1,2], removed, &quot;Removed values should be an array containing 1 and 2.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   649
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   650
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   651
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   652
        &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   653
         * Test the unshift() method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   654
         *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   655
        testUnshift : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   656
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   657
            &#x2F;&#x2F;shortcut variables
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   658
            var Assert = Y.Assert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   659
            var ArrayAssert = Y.ArrayAssert;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   660
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   661
            &#x2F;&#x2F;do whatever data manipulation is necessary
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   662
            this.data.unshift(-1);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   663
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   664
            &#x2F;&#x2F;basic equality assertion - expected value, actual value, optional error message
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   665
            Assert.areEqual(7, this.data.length, &quot;Array should have 7 items.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   666
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   667
            &#x2F;&#x2F;the new item should be there
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   668
            ArrayAssert.indexOf(-1, this.data, 0, &quot;First item should be -1.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   669
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   670
            ArrayAssert.itemsAreEqual([-1,0,1,2,3,4,5], this.data, &quot;Arrays should be equal.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   671
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   672
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   673
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   674
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   675
    &#x2F;&#x2F;create the console
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   676
    (new Y.Test.Console({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   677
        newestOnTop : false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   678
        filters: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   679
            pass: true,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   680
            fail: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   681
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   682
    })).render(&#x27;#testLogger&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   683
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   684
    Y.Test.Runner.add(Y.example.test.ArrayTestCase);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   685
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   686
    &#x2F;&#x2F;run the tests
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   687
    Y.Test.Runner.run();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   688
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   689
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   690
&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   691
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   692
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   693
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   694
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   695
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   696
        <div class="yui3-u-1-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   697
            <div class="sidebar">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   698
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   699
                    <div id="toc" class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   700
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   701
                            <h2 class="no-toc">Table of Contents</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   702
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   703
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   704
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   705
                            <ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   706
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   707
<a href="#array-assertions">Array Assertions</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   708
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   709
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   710
<a href="#testing-push">Testing <code>push()</code></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   711
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   712
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   713
<a href="#testing-pop">Testing <code>pop()</code></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   714
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   715
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   716
<a href="#testing-reverse">Testing <code>reverse()</code></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   717
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   718
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   719
<a href="#testing-shift">Testing <code>shift()</code></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   720
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   721
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   722
<a href="#testing-splice">Testing <code>splice()</code></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   723
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   724
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   725
<a href="#testing-unshift">Testing <code>unshift()</code></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   726
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   727
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   728
<a href="#running-the-tests">Running the tests</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   729
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   730
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   731
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   732
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   733
<a href="#complete-example-source">Complete Example Source</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   734
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   735
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   736
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   737
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   738
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   739
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   740
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   741
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   742
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   743
                            <h2 class="no-toc">Examples</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   744
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   745
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   746
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   747
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   748
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   749
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   750
                                        <li data-description="Demonstrates basic usage of YUI Test for setting up and running tests.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   751
                                            <a href="test-simple-example.html">Simple Testing Example</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   752
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   753
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   754
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   755
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   756
                                        <li data-description="Demonstrates how to use advanced testing features such as defining tests that should fail, tests that should be ignored, and tests that should throw an error.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   757
                                            <a href="test-advanced-test-options.html">Advanced Test Options</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   758
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   759
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   760
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   761
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   762
                                        <li data-description="Demonstrates how to use the ArrayAssert object to test array data.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   763
                                            <a href="test-array-tests.html">Array Processing</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   764
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   765
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   766
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   767
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   768
                                        <li data-description="Demonstrates basic asynchronous tests.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   769
                                            <a href="test-async-test.html">Asynchronous Testing</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   770
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   771
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   772
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   773
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   774
                                        <li data-description="Demonstrates using events with asynchronous tests.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   775
                                            <a href="test-async-event-tests.html">Asynchronous Event Testing</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   776
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   777
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   778
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   779
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   780
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   781
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   782
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   783
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   784
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   785
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   786
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   787
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   788
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   789
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   790
<script src="../assets/vendor/prettify/prettify-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   791
<script>prettyPrint();</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   792
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   793
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   794
YUI.Env.Tests = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   795
    examples: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   796
    project: '../assets',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   797
    assets: '../assets/test',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   798
    name: 'test-array-tests',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   799
    title: 'Array Processing',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   800
    newWindow: '',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   801
    auto:  false 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   802
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   803
YUI.Env.Tests.examples.push('test-simple-example');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   804
YUI.Env.Tests.examples.push('test-advanced-test-options');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   805
YUI.Env.Tests.examples.push('test-array-tests');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   806
YUI.Env.Tests.examples.push('test-async-test');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   807
YUI.Env.Tests.examples.push('test-async-event-tests');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   808
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   809
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   810
<script src="../assets/yui/test-runner.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   811
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   812
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   813
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   814
</body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   815
</html>