mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 01:30:32 +00:00
[dart2wasm] Add more test coverage for int
in static interop APIs.
Change-Id: I6f77eeefb14e557be65c09a56ed814ab1702fac2 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278804 Reviewed-by: Srujan Gaddam <srujzs@google.com> Commit-Queue: Joshua Litt <joshualitt@google.com>
This commit is contained in:
parent
329cb2088a
commit
abae306239
|
@ -32,6 +32,10 @@ extension StaticJSClassMethods on StaticJSClass {
|
|||
external String doSumUpTo2([String? a, String? b]);
|
||||
external String doSum1Or2NonNull(String a, [String b = 'bar']);
|
||||
external String doSumUpTo2NonNull([String a = 'foo', String b = 'bar']);
|
||||
external int doIntSum1Or2(int a, [int? b]);
|
||||
external int doIntSumUpTo2([int? a, int? b]);
|
||||
external int doIntSum1Or2NonNull(int a, [int b = 2]);
|
||||
external int doIntSumUpTo2NonNull([int a = 1, int b = 2]);
|
||||
|
||||
@JS('nameInJSMethod')
|
||||
external String nameInDartMethod(String a, String b);
|
||||
|
@ -78,6 +82,18 @@ void createClassTest() {
|
|||
this.doSumUpTo2NonNull = function(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
this.doIntSum1Or2 = function(a, b) {
|
||||
return a + (b ?? 2);
|
||||
}
|
||||
this.doIntSumUpTo2 = function(a, b) {
|
||||
return (a ?? 1) + (b ?? 2);
|
||||
}
|
||||
this.doIntSum1Or2NonNull = function(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
this.doIntSumUpTo2NonNull = function(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
this.nameInJSMethod = function(a, b) {
|
||||
return a + b;
|
||||
}
|
||||
|
@ -128,6 +144,18 @@ void createClassTest() {
|
|||
Expect.equals('foobar', foo.doSumUpTo2NonNull('foo'));
|
||||
Expect.equals('foobar', foo.doSumUpTo2NonNull('foo', 'bar'));
|
||||
|
||||
Expect.equals(3, foo.doIntSum1Or2(1));
|
||||
Expect.equals(3, foo.doIntSum1Or2(1, 2));
|
||||
Expect.equals(3, foo.doIntSumUpTo2());
|
||||
Expect.equals(3, foo.doIntSumUpTo2(1));
|
||||
Expect.equals(3, foo.doIntSumUpTo2(1, 2));
|
||||
|
||||
Expect.equals(3, foo.doIntSum1Or2NonNull(1));
|
||||
Expect.equals(3, foo.doIntSum1Or2NonNull(1, 2));
|
||||
Expect.equals(3, foo.doIntSumUpTo2NonNull());
|
||||
Expect.equals(3, foo.doIntSumUpTo2NonNull(1));
|
||||
Expect.equals(3, foo.doIntSumUpTo2NonNull(1, 2));
|
||||
|
||||
Expect.equals('foobar', foo.nameInDartMethod('foo', 'bar'));
|
||||
Expect.equals('foo', foo.nameInDartGetter);
|
||||
foo.nameInDartSetter = 'boo';
|
||||
|
@ -267,13 +295,23 @@ void topLevelMethodsTest() {
|
|||
@staticInterop
|
||||
class AnonymousJSClass {
|
||||
external factory AnonymousJSClass.factory(
|
||||
{String? foo, String bar = 'baz', String? bleep});
|
||||
{String? foo,
|
||||
String bar = 'baz',
|
||||
String? bleep,
|
||||
int? goo,
|
||||
int ooo = 1,
|
||||
List<double>? saz,
|
||||
List<double> zoo = const [1.0, 2.0]});
|
||||
}
|
||||
|
||||
extension AnonymousJSClassExtension on AnonymousJSClass {
|
||||
external String? get foo;
|
||||
external String get bar;
|
||||
external String? get bleep;
|
||||
external int? get goo;
|
||||
external int get ooo;
|
||||
external List<double>? saz;
|
||||
external List<double> zoo;
|
||||
}
|
||||
|
||||
void anonymousTest() {
|
||||
|
@ -281,6 +319,10 @@ void anonymousTest() {
|
|||
Expect.equals('boo', anonymousJSClass.foo);
|
||||
Expect.equals('baz', anonymousJSClass.bar);
|
||||
Expect.equals(null, anonymousJSClass.bleep);
|
||||
Expect.equals(null, anonymousJSClass.goo);
|
||||
Expect.equals(1, anonymousJSClass.ooo);
|
||||
Expect.equals(null, anonymousJSClass.saz);
|
||||
Expect.listEquals(const [1.0, 2.0], anonymousJSClass.zoo);
|
||||
}
|
||||
|
||||
@JS()
|
||||
|
|
Loading…
Reference in a new issue