1+ describe ( "Tests Kotlin extension functions support" , function ( ) {
2+
3+ it ( "Test Kotlin extension functions with no arguments and no return value should work" , function ( ) {
4+ var obj = new java . lang . Object ( ) ;
5+ var hasException = false ;
6+
7+ try {
8+ obj . extensionFunctionWithNoArgumentsAndNoReturnValue ( ) ;
9+ } catch ( error ) {
10+ hasException = true ;
11+ }
12+
13+ expect ( hasException ) . toBe ( false ) ;
14+ } ) ;
15+
16+ it ( "Test Kotlin extension functions with no arguments should work" , function ( ) {
17+ var obj = new java . lang . Object ( ) ;
18+ var hasException = false ;
19+
20+ try {
21+ var res = obj . extensionFunctionWithNoArgumentsAndStringReturnValue ( ) ;
22+ expect ( res ) . toBe ( "some data" ) ;
23+ } catch ( error ) {
24+ hasException = true ;
25+ }
26+
27+ expect ( hasException ) . toBe ( false ) ;
28+ } ) ;
29+
30+ it ( "Test Kotlin extension functions with one primitive argument and no return value should work" , function ( ) {
31+ var obj = new java . lang . Object ( ) ;
32+ var hasException = false ;
33+
34+ try {
35+ obj . extensionFunctionWithOnePrimitiveArgumentAndNoReturnValue ( 42 ) ;
36+ } catch ( error ) {
37+ hasException = true ;
38+ }
39+
40+ expect ( hasException ) . toBe ( false ) ;
41+ } ) ;
42+
43+ it ( "Test Kotlin extension functions with one primitive argument should work" , function ( ) {
44+ var obj = new java . lang . Object ( ) ;
45+ var hasException = false ;
46+
47+ try {
48+ var res = obj . extensionFunctionWithOnePrimitiveArgumentAndStringReturnValue ( 42 ) ;
49+ expect ( res ) . toBe ( "some data 42" ) ;
50+ } catch ( error ) {
51+ hasException = true ;
52+ }
53+
54+ expect ( hasException ) . toBe ( false ) ;
55+ } ) ;
56+
57+ it ( "Test Kotlin extension functions with one object type argument and no return value should work" , function ( ) {
58+ var obj = new java . lang . Object ( ) ;
59+ var arg = new java . lang . Object ( ) ;
60+ var hasException = false ;
61+
62+ try {
63+ obj . extensionFunctionWithOneObjectTypeArgumentAndNoReturnValue ( arg ) ;
64+ } catch ( error ) {
65+ hasException = true ;
66+ }
67+
68+ expect ( hasException ) . toBe ( false ) ;
69+ } ) ;
70+
71+ it ( "Test Kotlin extension functions with one object type argument should work" , function ( ) {
72+ var obj = new java . lang . Object ( ) ;
73+ var arg = new java . lang . Object ( ) ;
74+ var argAsString = arg . toString ( ) ;
75+ var hasException = false ;
76+
77+ try {
78+ var res = obj . extensionFunctionWithOneObjectTypeArgumentAndStringReturnValue ( arg ) ;
79+ expect ( res ) . toBe ( "some data " + argAsString ) ;
80+ } catch ( error ) {
81+ hasException = true ;
82+ }
83+
84+ expect ( hasException ) . toBe ( false ) ;
85+ } ) ;
86+
87+ it ( "Test Kotlin extension functions with multiple object type arguments and no return value should work" , function ( ) {
88+ var obj = new java . lang . Object ( ) ;
89+ var arg1 = new java . lang . Object ( ) ;
90+ var arg2 = "test" ;
91+ var hasException = false ;
92+
93+ try {
94+ obj . extensionFunctionWithMultipleObjectTypeArgumentsAndNoReturnValue ( arg1 , arg2 ) ;
95+ } catch ( error ) {
96+ hasException = true ;
97+ }
98+
99+ expect ( hasException ) . toBe ( false ) ;
100+ } ) ;
101+
102+ it ( "Test Kotlin extension functions with multiple object type arguments should work" , function ( ) {
103+ var obj = new java . lang . Object ( ) ;
104+ var arg1 = new java . lang . Object ( ) ;
105+ var arg1AsString = arg1 . toString ( ) ;
106+ var arg2 = "test" ;
107+ var hasException = false ;
108+
109+ try {
110+ var res = obj . extensionFunctionWithMultipleObjectTypeArgumentsAndStringReturnValue ( arg1 , arg2 ) ;
111+ expect ( res ) . toBe ( "some data " + arg1AsString + " test" ) ;
112+ } catch ( error ) {
113+ hasException = true ;
114+ }
115+
116+ expect ( hasException ) . toBe ( false ) ;
117+ } ) ;
118+
119+ } ) ;
0 commit comments