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);