Skip to content
This repository was archived by the owner on Mar 25, 2025. It is now read-only.

Commit 64dc948

Browse files
committed
added Kotlin alias interfaces for Page and PageFragment
1 parent a48299f commit 64dc948

File tree

2 files changed

+76
-0
lines changed

2 files changed

+76
-0
lines changed
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package org.webtester.kotlin.pagefragments
2+
3+
import info.novatec.testit.webtester.adhoc.TypeFinder
4+
import info.novatec.testit.webtester.internal.OffersAdHocFinding
5+
import info.novatec.testit.webtester.internal.OffersPageCreation
6+
import info.novatec.testit.webtester.pagefragments.PageFragment
7+
import info.novatec.testit.webtester.pages.Page
8+
import kotlin.reflect.KClass
9+
10+
/**
11+
* Kotlin alias for [PageFragment] interface.
12+
*
13+
* Provides additional method for Kotlin compatibility.
14+
* @since 2.3
15+
*/
16+
interface PageFragment : PageFragment {
17+
18+
/**
19+
* Alias for [find(Class fragmentClass)][OffersAdHocFinding.find] in [PageFragment] changing the signature to accept
20+
* [KClass] instances.
21+
* @see OffersAdHocFinding.find
22+
* @since 2.3
23+
*/
24+
fun <T : PageFragment> find(fragmentClass: KClass<T>): TypeFinder<T> {
25+
return finder().find(fragmentClass.java)
26+
}
27+
28+
/**
29+
* Alias for [create(Class pageClass)][OffersPageCreation.create] in [PageFragment] changing the signature to accept
30+
* [KClass] instances.
31+
* @see OffersPageCreation.create
32+
* @since 2.3
33+
*/
34+
fun <T : Page> create(pageClass: KClass<T>): T {
35+
return browser().create(pageClass.java)
36+
}
37+
38+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package org.webtester.kotlin.pages
2+
3+
import info.novatec.testit.webtester.adhoc.TypeFinder
4+
import info.novatec.testit.webtester.internal.OffersAdHocFinding
5+
import info.novatec.testit.webtester.internal.OffersPageCreation
6+
import info.novatec.testit.webtester.pagefragments.PageFragment
7+
import info.novatec.testit.webtester.pages.Page
8+
import kotlin.reflect.KClass
9+
10+
/**
11+
* Kotlin alias for [Page] interface.
12+
*
13+
* Provides additional method for Kotlin compatibility.
14+
* @since 2.3
15+
*/
16+
interface Page : Page {
17+
18+
/**
19+
* Alias for [find(Class fragmentClass)][OffersAdHocFinding.find] in [Page] changing the signature to accept
20+
* [KClass] instances.
21+
* @see OffersAdHocFinding.find
22+
* @since 2.3
23+
*/
24+
fun <T : PageFragment> find(fragmentClass: KClass<T>): TypeFinder<T> {
25+
return finder().find(fragmentClass.java)
26+
}
27+
28+
/**
29+
* Alias for [create(Class pageClass)][OffersPageCreation.create] in [Page] changing the signature to accept
30+
* [KClass] instances.
31+
* @see OffersPageCreation.create
32+
* @since 2.3
33+
*/
34+
fun <T : Page> create(pageClass: KClass<T>): T {
35+
return browser().create(pageClass.java)
36+
}
37+
38+
}

0 commit comments

Comments
 (0)