Skip to content

Commit c487858

Browse files
Merge pull request #40 from utopia-php/feat-get-appex
Feat: get apex domain
2 parents 5c70b0f + bb001ec commit c487858

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

.github/workflows/codeql-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,5 @@ jobs:
1616

1717
- name: Run CodeQL
1818
run: |
19-
docker run --rm -v $PWD:/app composer sh -c \
19+
docker run --rm -v $PWD:/app composer:2.6 sh -c \
2020
"composer install --profile --ignore-platform-reqs && composer check"

src/Domains/Domain.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,21 @@ public function __construct(string $domain)
7878
}
7979

8080
/**
81-
* Return top level domain
81+
* Return domain
8282
*/
8383
public function get(): string
8484
{
8585
return $this->domain;
8686
}
8787

88+
/**
89+
* Return apex domain
90+
*/
91+
public function getApex(): string
92+
{
93+
return $this->getName() . '.' . $this->getSuffix();
94+
}
95+
8896
/**
8997
* Return top level domain
9098
*/

tests/DomainTest.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ public function testExampleCoUk(): void
4646

4747
$this->assertEquals('demo.example.co.uk', $domain->get());
4848
$this->assertEquals('uk', $domain->getTLD());
49+
$this->assertEquals('example.co.uk', $domain->getApex());
4950
$this->assertEquals('co.uk', $domain->getSuffix());
5051
$this->assertEquals('example.co.uk', $domain->getRegisterable());
5152
$this->assertEquals('example', $domain->getName());
@@ -62,6 +63,7 @@ public function testSubSubExampleCoUk(): void
6263

6364
$this->assertEquals('subsub.demo.example.co.uk', $domain->get());
6465
$this->assertEquals('uk', $domain->getTLD());
66+
$this->assertEquals('example.co.uk', $domain->getApex());
6567
$this->assertEquals('co.uk', $domain->getSuffix());
6668
$this->assertEquals('example.co.uk', $domain->getRegisterable());
6769
$this->assertEquals('example', $domain->getName());
@@ -174,6 +176,7 @@ public function testPrivateTLD(): void
174176

175177
$this->assertEquals('blog.potager.org', $domain->get());
176178
$this->assertEquals('org', $domain->getTLD());
179+
$this->assertEquals('blog.potager.org', $domain->getApex());
177180
$this->assertEquals('potager.org', $domain->getSuffix());
178181
$this->assertEquals('blog.potager.org', $domain->getRegisterable());
179182
$this->assertEquals('blog', $domain->getName());
@@ -219,6 +222,7 @@ public function testExampleExampleCk(): void
219222
$this->assertEquals('example.example.ck', $domain->get());
220223
$this->assertEquals('ck', $domain->getTLD());
221224
$this->assertEquals('example.ck', $domain->getSuffix());
225+
$this->assertEquals('example.example.ck', $domain->getApex());
222226
$this->assertEquals('example.example.ck', $domain->getRegisterable());
223227
$this->assertEquals('example', $domain->getName());
224228
$this->assertEquals('', $domain->getSub());
@@ -234,6 +238,7 @@ public function testSubSubExampleExampleCk(): void
234238

235239
$this->assertEquals('subsub.demo.example.example.ck', $domain->get());
236240
$this->assertEquals('ck', $domain->getTLD());
241+
$this->assertEquals('example.example.ck', $domain->getApex());
237242
$this->assertEquals('example.ck', $domain->getSuffix());
238243
$this->assertEquals('example.example.ck', $domain->getRegisterable());
239244
$this->assertEquals('example', $domain->getName());
@@ -250,6 +255,7 @@ public function testWwwCk(): void
250255

251256
$this->assertEquals('www.ck', $domain->get());
252257
$this->assertEquals('ck', $domain->getTLD());
258+
$this->assertEquals('www.ck', $domain->getApex());
253259
$this->assertEquals('ck', $domain->getSuffix());
254260
$this->assertEquals('www.ck', $domain->getRegisterable());
255261
$this->assertEquals('www', $domain->getName());
@@ -266,6 +272,7 @@ public function testSubSubWwwCk(): void
266272

267273
$this->assertEquals('subsub.demo.www.ck', $domain->get());
268274
$this->assertEquals('ck', $domain->getTLD());
275+
$this->assertEquals('www.ck', $domain->getApex());
269276
$this->assertEquals('ck', $domain->getSuffix());
270277
$this->assertEquals('www.ck', $domain->getRegisterable());
271278
$this->assertEquals('www', $domain->getName());
@@ -282,6 +289,7 @@ public function testWildcardNomBr(): void
282289

283290
$this->assertEquals('sub.example.com.nom.br', $domain->get());
284291
$this->assertEquals('br', $domain->getTLD());
292+
$this->assertEquals('example.com.nom.br', $domain->getApex());
285293
$this->assertEquals('com.nom.br', $domain->getSuffix());
286294
$this->assertEquals('example.com.nom.br', $domain->getRegisterable());
287295
$this->assertEquals('example', $domain->getName());
@@ -298,6 +306,7 @@ public function testWildcardKawasakiJp(): void
298306

299307
$this->assertEquals('sub.example.com.kawasaki.jp', $domain->get());
300308
$this->assertEquals('jp', $domain->getTLD());
309+
$this->assertEquals('example.com.kawasaki.jp', $domain->getApex());
301310
$this->assertEquals('com.kawasaki.jp', $domain->getSuffix());
302311
$this->assertEquals('example.com.kawasaki.jp', $domain->getRegisterable());
303312
$this->assertEquals('example', $domain->getName());

0 commit comments

Comments
 (0)