Skip to content

Commit 1f06d05

Browse files
committed
Merge branch 'mitelg-add-more-generics' into 2.3
2 parents d5391fe + 5d30f26 commit 1f06d05

File tree

5 files changed

+38
-21
lines changed

5 files changed

+38
-21
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
composer.lock
22
doc/_build
33
vendor/
4+
.idea/

src/Context/PageObjectContext.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ class PageObjectContext implements Context, PageObjectAware
1515
private $pageObjectFactory = null;
1616

1717
/**
18-
* @template T of Page
18+
* @template TPage of Page
1919
*
20-
* @param class-string<T> $name
20+
* @param class-string<TPage> $name
2121
*
22-
* @return T
22+
* @return TPage
2323
*
2424
* @throws \RuntimeException
2525
*/
@@ -33,9 +33,11 @@ public function getPage($name)
3333
}
3434

3535
/**
36-
* @param string $name
36+
* @template TElement of Element
3737
*
38-
* @return Element
38+
* @param class-string<TElement> $name
39+
*
40+
* @return TElement
3941
*
4042
* @throws \RuntimeException
4143
*/

src/PageObject/Element.php

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,11 @@ public function __call($name, $arguments)
4747
}
4848

4949
/**
50-
* @param string $name
50+
* @template TElement of Element
51+
*
52+
* @param class-string<TElement> $name
5153
*
52-
* @return Element
54+
* @return TElement
5355
*/
5456
public function getElement($name)
5557
{
@@ -63,9 +65,11 @@ public function getElement($name)
6365
}
6466

6567
/**
66-
* @param string $name
68+
* @template TPage of Page
6769
*
68-
* @return Page
70+
* @param class-string<TPage> $name
71+
*
72+
* @return TPage
6973
*/
7074
protected function getPage($name)
7175
{
@@ -83,9 +87,11 @@ protected function hasElement($name)
8387
}
8488

8589
/**
86-
* @param string $name
90+
* @template TElement of Element
91+
*
92+
* @param class-string<TElement> $name
8793
*
88-
* @return Element
94+
* @return TElement
8995
*/
9096
protected function createElement($name)
9197
{

src/PageObject/Factory.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,18 @@
55
interface Factory
66
{
77
/**
8-
* @template T of Page
8+
* @template TPage of Page
99
*
10-
* @param class-string<T> $name
10+
* @param class-string<TPage> $name
1111
*
12-
* @return T
12+
* @return TPage
1313
*/
1414
public function createPage($name);
1515

1616
/**
17-
* @param string $name
17+
* @template TElement of Element
18+
*
19+
* @param class-string<TElement> $name
1820
*
1921
* @return Element
2022
*/

src/PageObject/Page.php

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,11 @@ public function __call($name, $arguments)
8686
}
8787

8888
/**
89-
* @param string $name
89+
* @template TElement of Element
90+
*
91+
* @param class-string<TElement> $name
9092
*
91-
* @return Element
93+
* @return TElement
9294
*/
9395
public function getElement($name)
9496
{
@@ -102,9 +104,11 @@ public function getElement($name)
102104
}
103105

104106
/**
105-
* @param string $name
107+
* @template TPage of Page
106108
*
107-
* @return Page
109+
* @param class-string<TPage> $name
110+
*
111+
* @return TPage
108112
*/
109113
protected function getPage($name)
110114
{
@@ -122,9 +126,11 @@ protected function hasElement($name)
122126
}
123127

124128
/**
125-
* @param string $name
129+
* @template TElement of Element
130+
*
131+
* @param class-string<TElement> $name
126132
*
127-
* @return Element
133+
* @return TElement
128134
*/
129135
protected function createElement($name)
130136
{

0 commit comments

Comments
 (0)