18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* The contents of this file are subject to the Netscape Public 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* License Version 1.1 (the "License"); you may not use this file 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* except in compliance with the License. You may obtain a copy of 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* the License at http://www.mozilla.org/NPL/ 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Software distributed under the License is distributed on an "AS 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* implied. See the License for the specific language governing 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* rights and limitations under the License. 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* The Original Code is mozilla.org code. 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* The Initial Developer of the Original Code is Netscape 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Communications Corporation. Portions created by Netscape are 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Copyright (C) 1998 Netscape Communications Corporation. 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* All Rights Reserved. 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Contributor(s): pschwartau@netscape.com 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Date: 28 August 2001 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* SUMMARY: A [DontEnum] prop, if overridden, should appear in uneval(). 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* See http://bugzilla.mozilla.org/show_bug.cgi?id=90596 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* NOTE: some inefficiencies in the test are made for the sake of readability. 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project* Sorting properties alphabetically is done for definiteness in comparisons. 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//----------------------------------------------------------------------------- 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar UBound = 0; 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar bug = 90596; 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar summary = 'A [DontEnum] prop, if overridden, should appear in uneval()'; 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar cnCOMMA = ','; 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar cnLBRACE = '{'; 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar cnRBRACE = '}'; 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar cnLPAREN = '('; 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar cnRPAREN = ')'; 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar status = ''; 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar statusitems = []; 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar actual = ''; 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar actualvalues = []; 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar expect= ''; 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar expectedvalues = []; 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar obj = {}; 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectstatus = inSection(1); 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectobj = {toString:9}; 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectactual = uneval(obj); 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectexpect = '({toString:9})'; 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectaddThis(); 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectstatus = inSection(2); 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectobj = {hasOwnProperty:"Hi"}; 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectactual = uneval(obj); 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectexpect = '({hasOwnProperty:"Hi"})'; 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectaddThis(); 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectstatus = inSection(3); 598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectobj = {toString:9, hasOwnProperty:"Hi"}; 608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectactual = uneval(obj); 618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectexpect = '({toString:9, hasOwnProperty:"Hi"})'; 628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectaddThis(); 638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectstatus = inSection(4); 658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectobj = {prop1:1, toString:9, hasOwnProperty:"Hi"}; 668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectactual = uneval(obj); 678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectexpect = '({prop1:1, toString:9, hasOwnProperty:"Hi"})'; 688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectaddThis(); 698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// TRY THE SAME THING IN EVAL CODE 728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvar s = ''; 738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectstatus = inSection(5); 758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projects = 'obj = {toString:9}'; 768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecteval(s); 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectactual = uneval(obj); 788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectexpect = '({toString:9})'; 798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectaddThis(); 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectstatus = inSection(6); 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projects = 'obj = {hasOwnProperty:"Hi"}'; 838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecteval(s); 848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectactual = uneval(obj); 858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectexpect = '({hasOwnProperty:"Hi"})'; 868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectaddThis(); 878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectstatus = inSection(7); 898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projects = 'obj = {toString:9, hasOwnProperty:"Hi"}'; 908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecteval(s); 918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectactual = uneval(obj); 928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectexpect = '({toString:9, hasOwnProperty:"Hi"})'; 938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectaddThis(); 948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectstatus = inSection(8); 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projects = 'obj = {prop1:1, toString:9, hasOwnProperty:"Hi"}'; 978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecteval(s); 988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectactual = uneval(obj); 998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectexpect = '({prop1:1, toString:9, hasOwnProperty:"Hi"})'; 1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectaddThis(); 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project// TRY THE SAME THING IN FUNCTION CODE 1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction A() 1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project status = inSection(9); 1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var s = 'obj = {toString:9}'; 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project eval(s); 1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project actual = uneval(obj); 1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project expect = '({toString:9})'; 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project addThis(); 1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectA(); 1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction B() 1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project status = inSection(10); 1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var s = 'obj = {hasOwnProperty:"Hi"}'; 1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project eval(s); 1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project actual = uneval(obj); 1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project expect = '({hasOwnProperty:"Hi"})'; 1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project addThis(); 1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectB(); 1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction C() 1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project status = inSection(11); 1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var s = 'obj = {toString:9, hasOwnProperty:"Hi"}'; 1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project eval(s); 1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project actual = uneval(obj); 1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project expect = '({toString:9, hasOwnProperty:"Hi"})'; 1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project addThis(); 1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectC(); 1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction D() 1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project status = inSection(12); 1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var s = 'obj = {prop1:1, toString:9, hasOwnProperty:"Hi"}'; 1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project eval(s); 1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project actual = uneval(obj); 1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project expect = '({prop1:1, toString:9, hasOwnProperty:"Hi"})'; 1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project addThis(); 1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectD(); 1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//----------------------------------------------------------------------------- 1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projecttest(); 1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project//----------------------------------------------------------------------------- 1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Sort properties alphabetically - 1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction addThis() 1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project statusitems[UBound] = status; 1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project actualvalues[UBound] = sortThis(actual); 1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project expectedvalues[UBound] = sortThis(expect); 1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project UBound++; 1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Takes string of form '({"c", "b", "a", 2})' and returns '({"a","b","c",2})' 1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction sortThis(sList) 1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project sList = compactThis(sList); 1748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project sList = stripParens(sList); 1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project sList = stripBraces(sList); 1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var arr = sList.split(cnCOMMA); 1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project arr = arr.sort(); 1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var ret = String(arr); 1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ret = addBraces(ret); 1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ret = addParens(ret); 1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return ret; 1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Strips out any whitespace from the text - 1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction compactThis(text) 1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var charCode = 0; 1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var ret = ''; 1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project for (var i=0; i<text.length; i++) 1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project { 1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project charCode = text.charCodeAt(i); 1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (!isWhiteSpace(charCode)) 1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ret += text.charAt(i); 1998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 2008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return ret; 2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 2038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction isWhiteSpace(charCode) 2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project switch (charCode) 2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project { 2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case (0x0009): 2108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case (0x000B): 2118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case (0x000C): 2128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case (0x0020): 2138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case (0x000A): // '\n' 2148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project case (0x000D): // '\r' 2158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return true; 2168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project break; 2178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project default: 2198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return false; 2208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 2218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 2228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 2258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * strips off parens at beginning and end of text - 2268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction stripParens(text) 2288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // remember to escape the parens... 2308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var arr = text.match(/^\((.*)\)$/); 2318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // defend against a null match... 2338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (arr != null && arr[1] != null) 2348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return arr[1]; 2358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return text; 2368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 2378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 2408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * strips off braces at beginning and end of text - 2418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 2428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction stripBraces(text) 2438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 2448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // remember to escape the braces... 2458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var arr = text.match(/^\{(.*)\}$/); 2468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // defend against a null match... 2488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project if (arr != null && arr[1] != null) 2498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return arr[1]; 2508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return text; 2518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 2528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction addBraces(text) 2558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 2568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return cnLBRACE + text + cnRBRACE; 2578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 2588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction addParens(text) 2618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 2628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return cnLPAREN + text + cnRPAREN; 2638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 2648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction test() 2678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ 2688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project enterFunc ('test'); 2698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project printBugNumber (bug); 2708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project printStatus (summary); 2718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project for (var i=0; i<UBound; i++) 2738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project { 2748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project reportCompare(expectedvalues[i], actualvalues[i], statusitems[i]); 2758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 2768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project exitFunc ('test'); 2788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 279