tor-browser

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

simple-fib.js (1019B)


      1 /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
      2 /* This Source Code Form is subject to the terms of the Mozilla Public
      3 * License, v. 2.0. If a copy of the MPL was not distributed with this
      4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      5 
      6 //-----------------------------------------------------------------------------
      7 var BUGNUMBER     = 326466;  // bug 326466, comment 1
      8 var summary = "Simple Fibonacci iterator";
      9 var actual, expect;
     10 
     11 printBugNumber(BUGNUMBER);
     12 printStatus(summary);
     13 
     14 /**************
     15 * BEGIN TEST *
     16 **************/
     17 
     18 function* fib()
     19 {
     20  var a = 0, b = 1;
     21  while (true)
     22  {
     23    yield a;
     24    var t = a;
     25    a = b;
     26    b += t;
     27  }
     28 }
     29 
     30 var failed = false;
     31 
     32 try
     33 {
     34  var g = fib();
     35 
     36  if (g.next().value != 0)
     37    throw "F_0 = 0";
     38  if (g.next().value != 1)
     39    throw "F_1 = 1";
     40  if (g.next().value != 1)
     41    throw "F_2 = 1";
     42  if (g.next().value != 2)
     43    throw "F_3 = 2";
     44 }
     45 catch (e)
     46 {
     47  failed = e;
     48 }
     49 
     50 
     51 
     52 expect = false;
     53 actual = failed;
     54 
     55 reportCompare(expect, actual, summary);