tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

bdd_test.html (3273B)


      1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      2        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
      4 <head>
      5  <title>script.aculo.us Unit test file</title>
      6  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
      7  <script src="../../lib/prototype.js" type="text/javascript"></script>
      8  <script src="../../src/scriptaculous.js" type="text/javascript"></script>
      9  <script src="../../src/unittest.js" type="text/javascript"></script>
     10  <link rel="stylesheet" href="../test.css" type="text/css" />
     11 </head>
     12 <body>
     13 <h1>script.aculo.us Unit test file</h1>
     14 
     15 <!-- Log output -->
     16 <div id="testlog"> </div>
     17 
     18 <div id="d">initial</div>
     19 
     20 <!-- Tests follow -->
     21 <script type="text/javascript" language="javascript" charset="utf-8">
     22 // <![CDATA[
     23 var moo = 0;
     24 
     25 var assertMethods = [];
     26 for(method in Test.Unit.Assertions.prototype) {
     27  if(/^assert/.test(method)) assertMethods.push(method);
     28 }
     29 
     30 var testObj = {
     31  isNice: function(){
     32    return true;
     33  },
     34  isBroken: function(){
     35    return false;
     36  }
     37 }
     38 
     39 Test.context("BDD-style testing",{
     40  
     41  setup: function() {
     42    $('d').update('setup!');
     43    moo++;
     44  },
     45  
     46  teardown: function() {
     47    moo--;
     48  },
     49  
     50  'should run setup before each specification': function(){
     51    assert($('d').innerHTML == 'setup!');
     52    assert(moo == 1);
     53  },
     54  
     55  'should run teardown after each specification': function(){
     56    assert(moo == 1);
     57  },
     58  
     59  'should provide extensions to tie in isSomething and respondsTo object methods': function(){
     60    Object.extend(testObj, Test.BDDMethods);
     61    
     62    testObj.shouldBe('nice');
     63    testObj.shouldNotBe('broken');
     64    
     65    testObj.shouldRespondTo('isNice');
     66    testObj.shouldRespondTo('isBroken');
     67  },
     68  
     69  'should automatically add extensions to strings': function(){
     70    'a'.shouldEqual('a');
     71    'a'.shouldNotEqual('b');
     72    'a'.shouldNotBeNull();
     73    'a'.shouldBeA(String);
     74    
     75    var aString = 'boo!';
     76    aString.shouldEqual('boo!');
     77    aString.shouldBeA(String);
     78    aString.shouldNotBeA(Number);
     79  },
     80  
     81  'should automatically add extensions to numbers': function(){
     82    var n = 123;    
     83    n.shouldEqual(123);
     84    n.shouldNotEqual(4);
     85    
     86    n.shouldBeA(Number);
     87    n.shouldNotBeA(Test);
     88  },
     89  
     90  'should automatically add extensions to arrays': function(){
     91    ['a'].shouldNotBeA(String);
     92    [1,2,3].shouldBeAn(Array);
     93    [1,2,3].shouldEqualEnum([1,2,3]);
     94  },
     95  
     96  'should support the eval() method': function(){
     97    eval('2*2').shouldEqual(4);
     98  },
     99  
    100  'should support equality assertion': function(){
    101    assertEqual(1, 1);
    102    assertEqual('a', 'a');
    103    assertEqual(1, '1');
    104    
    105    var x = 1;
    106    var y = 1;
    107    assertEqual(1, x)
    108    assertEqual(x, y);
    109  },
    110  
    111  'should provide all assertions': function(){
    112    assertMethods.each(function(m){
    113      assert(typeof this[m] == 'function');
    114    }.bind(this)); 
    115  },
    116  
    117  'should support deferred execution': function(){
    118    wait(10,function(){
    119      'a'.shouldEqual('a');
    120    });
    121    
    122    wait(10,function(){
    123      'a'.shouldEqual('a');
    124      wait(10,function(){
    125        'a'.shouldEqual('a');
    126        wait(10,function(){
    127          'a'.shouldEqual('a');
    128        });
    129      });
    130    });
    131  }
    132  
    133 });
    134 
    135 // ]]>
    136 </script>
    137 </body>
    138 </html>