blob: 620b530d7484a3a4a0f003d3a23a9798fc2de46a [file] [log] [blame]
// Copyright (c) 2021, 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.
library mixin_step_test;
import 'dart:collection';
import 'dart:developer';
import 'service_test_common.dart';
import 'test_helper.dart';
int codeRuns = 0;
code() {
if (++codeRuns > 1) {
print("Calling debugger!");
debugger();
}
MySet y = new MySet();
y.forEach((element) {
print(element);
});
}
class MySet extends Object with SetMixin {
bool add(value) => throw UnimplementedError();
bool contains(Object? element) => false;
Iterator get iterator => [].iterator;
int get length => 0;
lookup(Object? element) => throw UnimplementedError();
bool remove(Object? value) => throw UnimplementedError();
Set toSet() => throw UnimplementedError();
}
List<String> stops = [];
List<String> expected = [
"set.dart:142:23 (sdk_break_with_mixin_test.dart:20:5)",
];
var tests = <IsolateTest>[
hasStoppedAtBreakpoint,
markDartColonLibrariesDebuggable,
setBreakpointAtUriAndLine(
"org-dartlang-sdk:///sdk/lib/collection/set.dart", 142),
resumeProgramRecordingStops(stops, true),
checkRecordedStops(stops, expected, debugPrint: true),
];
main(args) {
runIsolateTests(args, tests,
testeeBefore: code,
testeeConcurrent: code,
pause_on_start: false,
pause_on_exit: true);
}