src/cm/media/js/lib/yui/yui_3.10.3/docs/test/test-advanced-test-options.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: Advanced Test Options</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: Advanced Test Options</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 advanced test options, which allow you to specify additional information about how a test should be run.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
  Each <a href="index.html#testcase"><code>TestCase</code></a> can specify up to three different options for tests,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
  including tests that should be ignored, tests that should throw an error, and tests that should fail.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
<div class="example yui3-skin-sam">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
    <div id="testLogger"></div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
YUI().use('node', 'test-console', 'test', function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
    Y.namespace("example.test");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
    Y.example.test.AdvancedOptionsTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
        //the name of the test case - if not provided, one is automatically generated
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
        name: "Advanced Options Tests",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
        /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
         * Specifies tests that "should" be doing something other than the expected.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
        _should: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
            /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
             * Tests listed in here should fail, meaning that if they fail, the test
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
             * has passed. This is used mostly for YuiTest to test itself, but may
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
             * be helpful in other cases.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
             */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
            fail: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
                //the test named "testFail" should fail
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
                testFail: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
            },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
            /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
             * Tests listed here should throw an error of some sort. If they throw an
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
             * error, then they are considered to have passed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
             */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
            error: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
                /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
                 * You can specify "true" for each test, in which case any error will
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
                 * cause the test to pass.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
                 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
                testGenericError: true,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
                /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
                 * You can specify an error message, in which case the test passes only
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
                 * if the error thrown matches the given message.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
                 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
                testStringError: "I'm a specific error message.",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
                testStringError2: "I'm a specific error message.",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
                /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
                 * You can also specify an error object, in which case the test passes only
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
                 * if the error thrown is on the same type and has the same message.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
                 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
                testObjectError: new TypeError("Number expected."),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
                testObjectError2: new TypeError("Number expected."),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
                testObjectError3: new TypeError("Number expected.")
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
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
             * Tests listed here should be ignored when the test case is run. For these tests,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
             * setUp() and tearDown() are not called.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
             */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
            ignore : {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
                testIgnore: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
        //-------------------------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
        // Basic tests - all method names must begin with "test"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
        //-------------------------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
        testFail : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
            //force a failure - but since this test "should" fail, it will pass
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
            Y.Assert.fail("Something bad happened.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
        testGenericError : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
            throw new Error("Generic error");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
        testStringError : 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
            //throw a specific error message - this will pass because it "should" happen
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
            throw new Error("I'm a specific error message.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
        testStringError2 : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
            //throw a specific error message - this will fail because the message isn't expected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
            throw new Error("I'm a specific error message, but a wrong one.");
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
        testObjectError : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
            //throw a specific error and message - this will pass because it "should" happen
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
            throw new TypeError("Number expected.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
        testObjectError2 : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
            //throw a specific error and message - this will fail because the type doesn't match
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
            throw new Error("Number expected.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
        testObjectError3 : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
            //throw a specific error and message - this will fail because the message doesn't match
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
            throw new TypeError("String expected.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
        testIgnore : function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
            alert("You'll never see this.");
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
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
    //create the console
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
    (new Y.Test.Console({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
        newestOnTop : false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
        style: 'block' // to anchor in the example content
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
    })).render('#testLogger');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
    Y.Test.Runner.add(Y.example.test.AdvancedOptionsTestCase);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
    //run the tests
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
    Y.Test.Runner.run();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
<h2 class="first" id="advanced-test-options">Advanced Test Options</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
<p>This example begins by creating a namespace and a <code>Y.Test.Case</code> object:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
<pre class="code prettyprint">Y.namespace(&quot;example.test&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
Y.example.test.AdvancedOptionsTestCase = new Y.TestCase({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
    name: &quot;Advanced Options Tests&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
<p>This <code>Y.Test.Case</code> serves as the basis for this example.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
<h3 id="using-_should">Using <code>_should</code></h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
<p>Immediately after the <code>name</code> of the <code>Y.Test.Case</code> is defined, there is a <code>_should</code> property.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
  This property specifies information about how tests <em>should</em> behave and is defined as an object literal with one
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
  or more of the following properties: <code>fail</code>, <code>error</code>, and <code>ignore</code>.Each of these three
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
  is also defined as an object literal whose property names map directly to the names of test methods in the <code>Y.Test.Case</code>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
  This example uses all three properties:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
<pre class="code prettyprint">Y.example.test.AdvancedOptionsTestCase = new Y.TestCase({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
    &#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
   195
    name: &quot;Advanced Options Tests&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
    &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
     * Specifies tests that &quot;should&quot; be doing something other than the expected.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
     *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
    _should: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
        &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
         * Tests listed in here should fail, meaning that if they fail, the test
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
         * has passed. This is used mostly for YuiTest to test itself, but may
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
         * be helpful in other cases.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
         *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
        fail: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
            &#x2F;&#x2F;the test named &quot;testFail&quot; should fail
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
            testFail: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
        &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
         * Tests listed here should throw an error of some sort. If they throw an
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
         * error, then they are considered to have passed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
         *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
        error: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
            &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
             * You can specify &quot;true&quot; for each test, in which case any error will
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
             * cause the test to pass.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
             *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
            testGenericError: true,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
            &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
             * You can specify an error message, in which case the test passes only
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
             * if the error thrown matches the given message.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
             *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
            testStringError: &quot;I&#x27;m a specific error message.&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
            testStringError2: &quot;I&#x27;m a specific error message.&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
            &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
             * You can also specify an error object, in which case the test passes only
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
             * if the error thrown is on the same type and has the same message.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
             *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
            testObjectError: new TypeError(&quot;Number expected.&quot;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
            testObjectError2: new TypeError(&quot;Number expected.&quot;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
            testObjectError3: new TypeError(&quot;Number expected.&quot;)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
        &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
         * Tests listed here should be ignored when the test case is run. For these tests,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
         * setUp() and tearDown() are not called.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
         *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
        ignore : {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
            testIgnore: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
        }
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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
<p>This <code>Y.Test.Case</code> specifies one test that should fail, six that should throw an error, and one that should be ignored.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
<p>In the <code>fail</code> section, the test method <code>testFail()</code> is specified as one that should fail. By adding the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
  property <code>testFail</code> and settings its value to true, the <code>Y.Test.Runner</code> knows that this test is expected to fail.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
  If the test were to be run without failing, it would be considered a failure of the test. This feature is useful when testing
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
  YUI Test itself or addon components to YUI Test.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
<p>Moving on to the <code>error</code> section, there are six tests specified that should throw an error. There are three different ways
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
  to indicate that a test is expected to throw an error. The first is simply to add a property with the same name as the test method
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
  and set its value equal to true (similar to specifying tests that should fail). In this example, the <code>testGenericError()</code>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
  method is specified this way. When specified like this, the test passes regardless of the type of error that occurs. This can be
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
  dangerous since unexpected errors will also cause the test to pass. To be more specific, set the property value for the test method
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
  to an error message string. When a string is used instead of the Boolean true, the test passes only when an error is thrown and that
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
  error message matches the string. In this example, <code>testStringError()</code> and <code>testStringError2()</code> expect an error
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
  to be thrown with an error message of &quot;I'm a specific error message.&quot; If any other error occurs inside of the these methods,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
  the test will fail because the error message doesn't match. The last way to specify an error should occur is to create an actual error
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
  object, which is the case with <code>testObjectError()</code>, <code>testObjectError2()</code>, and <code>testObjectError3()</code>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
  When specified in this way, a test will pass only when an error is thrown whose constructor and error message match that of the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
  error object.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
<p>The last section is <code>ignore</code>, which determines tests that should be ignored. In this example, the method <code>testIgnore()</code>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
  is set to be ignored when the <code>Y.Test.Case</code> is executed. Test in the <code>ignore</code> section are specified the same way
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
  as those in the <code>fail</code> section, by adding the name as a property and setting its value to true.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
<h3 id="creating-the-test-methods">Creating the test methods</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
<p>The next part of the example contains the actual test methods. Since each test method is specified as having a certain behavior in
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
  <code>_should</code>, they each do something to show their particular functionality.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
<p>The first method is <code>testFail()</code>, which does nothing but purposely fail. Since this method is specified as one that should
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
  fail, it means that this test will pass:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
<pre class="code prettyprint">Y.example.test.AdvancedOptionsTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
    &#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
   288
    name: &quot;Advanced Options Tests&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
    testFail : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
        &#x2F;&#x2F;force a failure - but since this test &quot;should&quot; fail, it will pass
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
        Y.Assert.fail(&quot;Something bad happened.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
<p>This method uses <code>Assert.fail()</code> to force the test to fail. This type of method is helpful if you are creating your own
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
  type of assert methods that should fail when certain data is passed in.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
<p>Next, the test methods that should error are defined.  The <code>testGenericError()</code> method is specified as needing to throw
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
  an error to pass. In the <code>error</code> section, <code>testGenericError</code> is set to true, meaning that any error causes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
  this method to pass. To illustrate this, the method simply throws an error:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
<pre class="code prettyprint">Y.example.test.AdvancedOptionsTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
    &#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
   310
    name: &quot;Advanced Options Tests&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
    testGenericError : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
        throw new Error(&quot;Generic error&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
<p>The fact that this method throws an error is enough to cause it to pass (the type of error and error message don't matter). The next
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
  two methods, <code>testStringError()</code> and <code>testStringError2()</code> are specified as throwing an error with a specific
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
  message (&quot;I'm a specific error message.&quot;):</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
<pre class="code prettyprint">Y.example.test.AdvancedOptionsTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
    &#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
   327
    name: &quot;Advanced Options Tests&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
    testStringError : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
        &#x2F;&#x2F;throw a specific error message - this will pass because it &quot;should&quot; happen
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
        throw new Error(&quot;I&#x27;m a specific error message.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
    testStringError2 : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
        &#x2F;&#x2F;throw a specific error message - this will fail because the message isn&#x27;t expected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
        throw new Error(&quot;I&#x27;m a specific error message, but a wrong one.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
<p>The <code>testStringError()</code> method will pass when executed because the error message matches up exactly with the one
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
  specified in the <code>error</code> section. The <code>testStringError2()</code> method, however, will fail because its
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
  error message is different from the one specified.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
<p>To be more specific, <code>testObjectError()</code>, <code>testObjectError2()</code>, and <code>testObjectError3()</code>,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
  specified an error type (<code>TypeError</code>) and an error messsage (&quot;Number expected.&quot;):</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
<pre class="code prettyprint">Y.example.test.AdvancedOptionsTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
    &#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
   354
    name: &quot;Advanced Options Tests&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
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
    testObjectError : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
        &#x2F;&#x2F;throw a specific error and message - this will pass because it &quot;should&quot; happen
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
        throw new TypeError(&quot;Number expected.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
    testObjectError2 : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
        &#x2F;&#x2F;throw a specific error and message - this will fail because the type doesn&#x27;t match
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
        throw new Error(&quot;Number expected.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
    testObjectError3 : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
        &#x2F;&#x2F;throw a specific error and message - this will fail because the message doesn&#x27;t match
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
        throw new TypeError(&quot;String expected.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
<p>Of the these three methods, only <code>testObjectError()</code> will pass because it's the only one that throws a <code>TypeError</code>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
  object with the message, &quot;Number expected.&quot; The <code>testObjectError2()</code> method will fail because the type of error
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
  being thrown (<code>Error</code>) is different from the expected type (<code>TypeError</code>), as specified in the <code>error</code>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
  section. The last method, <code>testObjectError3()</code>, also fails. Though it throws the right type of error, the error message
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
  doesn't match the one that was specified.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
<p>The last method in the <code>Y.Test.Case</code> is <code>testIgnore()</code>, which is specified to be ignored. To be certain, this
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
  method pops up a message:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
<pre class="code prettyprint">Y.example.test.AdvancedOptionsTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
    &#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
   389
    name: &quot;Advanced Options Tests&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
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
    testIgnore : function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   394
        alert(&quot;You&#x27;ll never see this.&quot;);
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>If this test weren't ignored, then the alert should be displayed. Since it is ignored, though, you will never see the alert. Additionally,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   399
  there is a special message displayed in the <code>Y.Console</code> when a test is ignored.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   400
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
<h3 id="running-the-tests">Running the tests</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   403
<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
   404
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   405
<pre class="code prettyprint">&#x2F;&#x2F;create the console
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   406
(new Y.Test.Console({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   407
    verbose : true,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   408
    newestOnTop : false
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   409
})).render(&#x27;#testLogger&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   410
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   411
&#x2F;&#x2F;add the test suite to the runner&#x27;s queue
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   412
Y.Test.Runner.add(Y.example.test.AdvancedOptionsTestCase);
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;run the tests
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   415
Y.Test.Runner.run();</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   416
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   417
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   418
<p>Before running the tests, it's necessary to create a <code>Y.Console</code> object to display the results (otherwise the tests would run
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   419
  but you wouldn't see the results). After that, the <code>Y.Test.Runner</code> is loaded with the <code>Y.Test.Suite</code> object by calling
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   420
  <code>add()</code> (any number of <code>Y.Test.Case</code> and <code>Y.Test.Suite</code> objects can be added to a <code>Y.Test.Runner</code>,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   421
  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
   422
  queue and displays the results in the <code>Y.Console</code>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   423
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   424
<h2 id="complete-example-source">Complete Example Source</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   425
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   426
<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
   427
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   428
&lt;script&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   429
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
   430
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   431
    Y.namespace(&quot;example.test&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   432
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   433
    Y.example.test.AdvancedOptionsTestCase = new Y.Test.Case({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   434
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   435
        &#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
   436
        name: &quot;Advanced Options Tests&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   437
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   438
        &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   439
         * Specifies tests that &quot;should&quot; be doing something other than the expected.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   440
         *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   441
        _should: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   442
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   443
            &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   444
             * Tests listed in here should fail, meaning that if they fail, the test
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   445
             * has passed. This is used mostly for YuiTest to test itself, but may
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   446
             * be helpful in other cases.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   447
             *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   448
            fail: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   449
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   450
                &#x2F;&#x2F;the test named &quot;testFail&quot; should fail
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   451
                testFail: true
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
            &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   456
             * Tests listed here should throw an error of some sort. If they throw an
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   457
             * error, then they are considered to have passed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   458
             *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   459
            error: {
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;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   462
                 * You can specify &quot;true&quot; for each test, in which case any error will
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   463
                 * cause the test to pass.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   464
                 *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   465
                testGenericError: true,
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;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   468
                 * You can specify an error message, in which case the test passes only
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   469
                 * if the error thrown matches the given message.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   470
                 *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   471
                testStringError: &quot;I&#x27;m a specific error message.&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   472
                testStringError2: &quot;I&#x27;m a specific error message.&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   473
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   474
                &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   475
                 * You can also specify an error object, in which case the test passes only
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   476
                 * if the error thrown is on the same type and has the same message.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   477
                 *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   478
                testObjectError: new TypeError(&quot;Number expected.&quot;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   479
                testObjectError2: new TypeError(&quot;Number expected.&quot;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   480
                testObjectError3: new TypeError(&quot;Number expected.&quot;)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   481
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   482
            },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   483
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   484
            &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   485
             * Tests listed here should be ignored when the test case is run. For these tests,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   486
             * setUp() and tearDown() are not called.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   487
             *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   488
            ignore : {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   489
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   490
                testIgnore: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   491
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   492
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   493
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   494
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   495
        &#x2F;&#x2F;-------------------------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   496
        &#x2F;&#x2F; Basic tests - all method names must begin with &quot;test&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   497
        &#x2F;&#x2F;-------------------------------------------------------------------------
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   498
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   499
        testFail : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   500
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   501
            &#x2F;&#x2F;force a failure - but since this test &quot;should&quot; fail, it will pass
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   502
            Y.Assert.fail(&quot;Something bad happened.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   503
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   504
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   505
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   506
        testGenericError : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   507
            throw new Error(&quot;Generic error&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   508
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   509
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   510
        testStringError : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   511
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   512
            &#x2F;&#x2F;throw a specific error message - this will pass because it &quot;should&quot; happen
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   513
            throw new Error(&quot;I&#x27;m a specific error message.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   514
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   515
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   516
        testStringError2 : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   517
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   518
            &#x2F;&#x2F;throw a specific error message - this will fail because the message isn&#x27;t expected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   519
            throw new Error(&quot;I&#x27;m a specific error message, but a wrong one.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   520
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   521
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   522
        testObjectError : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   523
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   524
            &#x2F;&#x2F;throw a specific error and message - this will pass because it &quot;should&quot; happen
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   525
            throw new TypeError(&quot;Number expected.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   526
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   527
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   528
        testObjectError2 : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   529
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   530
            &#x2F;&#x2F;throw a specific error and message - this will fail because the type doesn&#x27;t match
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   531
            throw new Error(&quot;Number expected.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   532
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   533
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   534
        testObjectError3 : function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   535
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   536
            &#x2F;&#x2F;throw a specific error and message - this will fail because the message doesn&#x27;t match
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   537
            throw new TypeError(&quot;String expected.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   538
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   539
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   540
        testIgnore : function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   541
            alert(&quot;You&#x27;ll never see this.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   542
        }
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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   546
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   547
    &#x2F;&#x2F;create the console
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   548
    (new Y.Test.Console({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   549
        newestOnTop : false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   550
        style: &#x27;block&#x27; &#x2F;&#x2F; to anchor in the example content
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   551
    })).render(&#x27;#testLogger&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   552
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   553
    Y.Test.Runner.add(Y.example.test.AdvancedOptionsTestCase);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   554
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   555
    &#x2F;&#x2F;run the tests
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   556
    Y.Test.Runner.run();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   557
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   558
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   559
&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   560
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   561
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   562
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   563
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   564
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   565
        <div class="yui3-u-1-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   566
            <div class="sidebar">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   567
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   568
                    <div id="toc" class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   569
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   570
                            <h2 class="no-toc">Table of Contents</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   571
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   572
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   573
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   574
                            <ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   575
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   576
<a href="#advanced-test-options">Advanced Test Options</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   577
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   578
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   579
<a href="#using-_should">Using <code>_should</code></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   580
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   581
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   582
<a href="#creating-the-test-methods">Creating the test methods</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   583
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   584
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   585
<a href="#running-the-tests">Running the tests</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   586
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   587
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   588
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   589
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   590
<a href="#complete-example-source">Complete Example Source</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   591
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   592
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   593
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   594
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   595
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   596
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   597
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   598
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   599
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   600
                            <h2 class="no-toc">Examples</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   601
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   602
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   603
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   604
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   605
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   606
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   607
                                        <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
   608
                                            <a href="test-simple-example.html">Simple Testing Example</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   609
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   610
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   611
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   612
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   613
                                        <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
   614
                                            <a href="test-advanced-test-options.html">Advanced Test Options</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   615
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   616
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   617
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   618
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   619
                                        <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
   620
                                            <a href="test-array-tests.html">Array Processing</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   621
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   622
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   623
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   624
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   625
                                        <li data-description="Demonstrates basic asynchronous tests.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   626
                                            <a href="test-async-test.html">Asynchronous Testing</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   627
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   628
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   629
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   630
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   631
                                        <li data-description="Demonstrates using events with asynchronous tests.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   632
                                            <a href="test-async-event-tests.html">Asynchronous Event Testing</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   633
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   634
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   635
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   636
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   637
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   638
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   639
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   640
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   641
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   642
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   643
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   644
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   645
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   646
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   647
<script src="../assets/vendor/prettify/prettify-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   648
<script>prettyPrint();</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   649
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   650
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   651
YUI.Env.Tests = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   652
    examples: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   653
    project: '../assets',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   654
    assets: '../assets/test',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   655
    name: 'test-advanced-test-options',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   656
    title: 'Advanced Test Options',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   657
    newWindow: '',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   658
    auto:  false 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   659
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   660
YUI.Env.Tests.examples.push('test-simple-example');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   661
YUI.Env.Tests.examples.push('test-advanced-test-options');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   662
YUI.Env.Tests.examples.push('test-array-tests');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   663
YUI.Env.Tests.examples.push('test-async-test');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   664
YUI.Env.Tests.examples.push('test-async-event-tests');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   665
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   666
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   667
<script src="../assets/yui/test-runner.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   668
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   669
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   670
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   671
</body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   672
</html>