blob: d7b87cae42f448621ccc392e1d67f0d355043de2 [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:21:5)",
];
var tests = <IsolateTest>[
// hasPausedAtStart,
hasStoppedAtBreakpoint,
markDartColonLibrariesDebuggable,
setBreakpointAtUriAndLine(
"org-dartlang-sdk:///sdk/lib/collection/set.dart", 142),
resumeProgramRecordingStops(stops, true),
// runStepIntoThroughProgramRecordingStops(stops),
checkRecordedStops(stops, expected, debugPrint: true),
];
main(args) {
runIsolateTests(args, tests,
testeeBefore: code,
testeeConcurrent: code,
pause_on_start: false,
pause_on_exit: true);
}