//------------------------------------------------------------------------------------------------------- // Copyright (C) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. //------------------------------------------------------------------------------------------------------- /* *******************************UNIT TEST FOR SWITCH CASE OPTIMIZATION******************************* * Test with two switch statements. */ function f(x,y) { //This switch contains - a string, a float and integers as its cases. switch(x) { case 1: WScript.Echo(1); break; case 2: WScript.Echo(2); break; case 3: WScript.Echo(3); break; case 4: WScript.Echo(4); break; case 'hello': //string object WScript.Echo('hello'); break; case 5: WScript.Echo(5); break; case 6: WScript.Echo(6); break; case 7.1: //float WScript.Echo(7); break; case 8: WScript.Echo(8); break; case 9: WScript.Echo(9); break; default: WScript.Echo('default'); break; } //This switch contains just integers and a object at the middle. switch(y) { case 11: WScript.Echo(10); break; case 12: WScript.Echo(12); break; case 13: WScript.Echo(13); break; case 14: WScript.Echo(14); break; case f: // object WScript.Echo(15); break; case 16: WScript.Echo(16); break; case 17: WScript.Echo(17); break; case 18: WScript.Echo(18); break; case 19: WScript.Echo(19); break; case 20: WScript.Echo(20); break; default: WScript.Echo('default'); break; } } f(1,12); f(2,13); f(3,15); f(8,16); f(5,16); //executing the first switch with non-integers for(i=0;i<2;i++) { f(new Object,12); } //executing the second with float and non integers. for(i=0;i<2;i++) { f(new Object,1.1); f(new Object,new Object); }