bug1628719.js (597B)
1 class BaseOne { 2 static build() { return 'BaseOne'; } 3 } 4 5 class BaseTwo { 6 static build() { return 'BaseTwo'; } 7 } 8 9 class ClassOne extends BaseOne { 10 constructor() { super(); } 11 } 12 13 class ClassTwo extends BaseTwo { 14 constructor() { super(); } 15 } 16 17 const ClassMap = { 1: ClassOne, 2: ClassTwo }; 18 const TimeLine = [2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2]; 19 20 function run() { 21 for (var i = 0; i < TimeLine.length; ++i) { 22 var j = TimeLine[i]; 23 var expected = j === 1 ? 'BaseOne' : 'BaseTwo'; 24 var actual = ClassMap[j].build(); 25 assertEq(actual, expected); 26 } 27 } 28 run();