Files
sdk/tests/language/no_such_method/native_test.dart
Martin Kustermann 76548a7ab9 [tests] Rewrite various tests to not depend on <obj>.runtimeType.toString()
In dart2wasm applications are by default deployed in `-O2` mode which
implies `--minify`.

Given this is the default configuration for customers, we want good
testing of this configuration and not large numbers of approved failures.

=> Rewrite various tests to not depend on `<obj>.runtimeType.toString()`

Change-Id: I1108b28c63b8bec6ad94df0d7b878b3339776df9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/436281
Reviewed-by: Lasse Nielsen <lrn@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2025-06-24 01:16:24 -07:00

36 lines
902 B
Dart

// Copyright (c) 2016, 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.
// Dart test program testing that NoSuchMethod is properly called.
import "package:expect/expect.dart";
late Invocation invocation;
class C {
noSuchMethod(Invocation i) {
invocation = i;
return 42;
}
}
expectNSME(Object? d) {
try {
d.noSuchMethod(invocation);
} on NoSuchMethodError catch (e) {
Expect.equals(#foobar, invocation.memberName);
}
}
main() {
dynamic c = new C() as dynamic;
Expect.equals(42, c.foobar(123));
Expect.equals(#foobar, invocation.memberName);
Expect.listEquals([123], invocation.positionalArguments);
expectNSME(null);
expectNSME(777);
expectNSME('hello');
expectNSME([]);
expectNSME(<String>['a', 'b', 'c']);
}