// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. // Partial regression test for #40152. import 'package:js/js.dart'; import 'package:expect/expect.dart'; @JS() external dynamic eval(String s); main() { // Regular JS-interop Array. var a1 = eval('["hello","world"]'); // Array with $ti set to something. // TODO(40175): Update this test if the access is changed. var a2 = eval(r'(function(){var x =["hi","bye"]; x.$ti=[666]; return x})()'); var b1 = List.of(a1.cast()); Expect.listEquals(['hello', 'world'], a1); Expect.listEquals(['hello', 'world'], b1); var b2 = List.of(a2.cast()); Expect.listEquals(['hi', 'bye'], a2); Expect.listEquals(['hi', 'bye'], b2); }