165dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// Copyright 2009 the V8 project authors. All rights reserved. 265dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// Redistribution and use in source and binary forms, with or without 365dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// modification, are permitted provided that the following conditions are 465dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// met: 565dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// 665dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// * Redistributions of source code must retain the above copyright 765dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// notice, this list of conditions and the following disclaimer. 865dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// * Redistributions in binary form must reproduce the above 965dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// copyright notice, this list of conditions and the following 1065dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// disclaimer in the documentation and/or other materials provided 1165dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// with the distribution. 1265dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// * Neither the name of Google Inc. nor the names of its 1365dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// contributors may be used to endorse or promote products derived 1465dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// from this software without specific prior written permission. 1565dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// 1665dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1765dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1865dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1965dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2065dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2165dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2265dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2365dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2465dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2565dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2665dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2765dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org 2865dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// Load CSV parser implementation from <project root>/tools. 2965dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org// Files: tools/csvparser.js 3065dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org 31496c03a64f12710e837204e261ef155601247895sgjesse@chromium.orgvar parser = new CsvParser(); 3265dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org 3365dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.orgassertEquals( 3465dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org [], 3565dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org parser.parseLine('')); 3665dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org 3765dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.orgassertEquals( 3865dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org ['', ''], 3965dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org parser.parseLine(',')); 4065dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org 4165dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.orgassertEquals( 4265dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org ['1997','Ford','E350'], 4365dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org parser.parseLine('1997,Ford,E350')); 4465dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org 4565dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.orgassertEquals( 4665dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org ['1997','Ford','E350'], 4765dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org parser.parseLine('"1997","Ford","E350"')); 4865dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org 4965dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.orgassertEquals( 5065dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org ['1997','Ford','E350','Super, luxurious truck'], 5165dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org parser.parseLine('1997,Ford,E350,"Super, luxurious truck"')); 5265dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org 5365dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.orgassertEquals( 5465dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org ['1997','Ford','E350','Super "luxurious" truck'], 5565dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org parser.parseLine('1997,Ford,E350,"Super ""luxurious"" truck"')); 5665dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org 5765dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.orgassertEquals( 5865dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org ['1997','Ford','E350','Super "luxurious" "truck"'], 5965dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org parser.parseLine('1997,Ford,E350,"Super ""luxurious"" ""truck"""')); 6065dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org 6165dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.orgassertEquals( 6265dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org ['1997','Ford','E350','Super "luxurious""truck"'], 6365dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org parser.parseLine('1997,Ford,E350,"Super ""luxurious""""truck"""')); 6465dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org 6565dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.orgassertEquals( 6665dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org ['shared-library','/lib/ld-2.3.6.so','0x489a2000','0x489b7000'], 6765dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org parser.parseLine('shared-library,"/lib/ld-2.3.6.so",0x489a2000,0x489b7000')); 6865dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org 6965dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.orgassertEquals( 7065dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org ['code-creation','LazyCompile','0xf6fe2d20','1201','APPLY_PREPARE native runtime.js:165'], 7165dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org parser.parseLine('code-creation,LazyCompile,0xf6fe2d20,1201,"APPLY_PREPARE native runtime.js:165"')); 7265dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org 7365dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.orgassertEquals( 7465dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org ['code-creation','LazyCompile','0xf6fe4bc0','282',' native v8natives.js:69'], 7565dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org parser.parseLine('code-creation,LazyCompile,0xf6fe4bc0,282," native v8natives.js:69"')); 7665dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org 7765dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.orgassertEquals( 7865dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org ['code-creation','RegExp','0xf6c21c00','826','NccyrJroXvg\\/([^,]*)'], 7965dad4b091d2925543c6326db635d0f7cf9e1edcager@chromium.org parser.parseLine('code-creation,RegExp,0xf6c21c00,826,"NccyrJroXvg\\/([^,]*)"')); 80b302e56e5b70c4504faa2adf4ec3efb64a9d3e38sgjesse@chromium.org 81b302e56e5b70c4504faa2adf4ec3efb64a9d3e38sgjesse@chromium.orgassertEquals( 82b302e56e5b70c4504faa2adf4ec3efb64a9d3e38sgjesse@chromium.org ['code-creation','Function','0x42f0a0','163',''], 83b302e56e5b70c4504faa2adf4ec3efb64a9d3e38sgjesse@chromium.org parser.parseLine('code-creation,Function,0x42f0a0,163,""')); 84