evaluate-repl-mode-code-cache.js 908 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
// Copyright 2020 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

let {Protocol} = InspectorTest.start(
  "Tests that Runtime.evaluate's REPL mode correctly interacts with the compliation cache (crbug.com/1108021)");

(async function() {
  InspectorTest.log('Prefill the cache with non-REPL mode script');
  InspectorTest.logMessage(await Protocol.Runtime.evaluate({
    expression: '5 + 3',
    replMode: false,
  }));

  InspectorTest.log('REPL mode scripts always return a Promise.')
  InspectorTest.log('The first script only returns "8" instead. When the inspector doesn\'t find a promise (due to a cache hit), it would respond with "undefined".');
  InspectorTest.logMessage(await Protocol.Runtime.evaluate({
    expression: '5 + 3',
    replMode: true,
  }));

  InspectorTest.completeTest();
})();