@@ -28,13 +28,22 @@ extension StaticJSClassMethods on StaticJSClass {
28
28
external String doSumUpTo2 ([String ? a, String ? b]);
29
29
external String doSum1Or2NonNull (String a, [String b = 'bar' ]);
30
30
external String doSumUpTo2NonNull ([String a = 'foo' , String b = 'bar' ]);
31
+
32
+ @JS ('nameInJSMethod' )
33
+ external String nameInDartMethod (String a, String b);
34
+ @JS ('nameInJSGetter' )
35
+ external String get nameInDartGetter;
36
+ @JS ('nameInJSSetter' )
37
+ external set nameInDartSetter (String v);
38
+ external String get nameInJSSetter;
31
39
}
32
40
33
41
void createClassTest () {
34
42
eval (r'''
35
43
globalThis.JSClass = function(foo) {
36
44
this.foo = foo;
37
45
this.nonNullableInt = 6;
46
+ this.nameInJSGetter = 'foo';
38
47
this.nonNullableIntReturnMethod = function() {
39
48
return 7;
40
49
}
@@ -65,6 +74,9 @@ void createClassTest() {
65
74
this.doSumUpTo2NonNull = function(a, b) {
66
75
return a + b;
67
76
}
77
+ this.nameInJSMethod = function(a, b) {
78
+ return a + b;
79
+ }
68
80
}
69
81
''' );
70
82
final foo = StaticJSClass .factory ('foo' );
@@ -96,6 +108,11 @@ void createClassTest() {
96
108
Expect .equals ('foobar' , foo.doSumUpTo2NonNull ());
97
109
Expect .equals ('foobar' , foo.doSumUpTo2NonNull ('foo' ));
98
110
Expect .equals ('foobar' , foo.doSumUpTo2NonNull ('foo' , 'bar' ));
111
+
112
+ Expect .equals ('foobar' , foo.nameInDartMethod ('foo' , 'bar' ));
113
+ Expect .equals ('foo' , foo.nameInDartGetter);
114
+ foo.nameInDartSetter = 'boo' ;
115
+ Expect .equals ('boo' , foo.nameInJSSetter);
99
116
}
100
117
101
118
@JS ('JSClass.NestedJSClass' )
0 commit comments