Skip to content

Commit 34b9cbe

Browse files
committed
Fix language options with tests
1 parent 8f1781c commit 34b9cbe

File tree

2 files changed

+111
-1
lines changed

2 files changed

+111
-1
lines changed

src/Html/Options/HasInternationalisation.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public function languageDecimal(string $value): static
3838
public function language(array|string $value): static
3939
{
4040
if (is_array($value)) {
41-
$this->attributes['language'] = array_merge((array) $this->attributes['language'], $value);
41+
$this->attributes['language'] = array_merge((array) ($this->attributes['language'] ?? []), $value);
4242
} else {
4343
$this->attributes['language']['url'] = $value;
4444
}
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
<?php
2+
3+
namespace Yajra\DataTables\Html\Tests;
4+
5+
class BuilderOptionsLanguageTest extends TestCase
6+
{
7+
/** @test */
8+
public function it_has_language_aria_options()
9+
{
10+
$builder = $this->getHtmlBuilder();
11+
$builder->languageAria(['paginate' => ['first' => 'First']]);
12+
$this->assertEquals(['paginate' => ['first' => 'First']], $builder->getLanguage('aria'));
13+
14+
$builder->languageAriaPaginate(['first' => 'First']);
15+
$this->assertEquals(['first' => 'First'], $builder->getLanguage('aria')['paginate']);
16+
17+
$builder->languageAriaPaginateFirst('First');
18+
$this->assertEquals('First', $builder->getLanguage('aria')['paginate']['first']);
19+
20+
$builder->languageAriaPaginateLast('Last');
21+
$this->assertEquals('Last', $builder->getLanguage('aria')['paginate']['last']);
22+
23+
$builder->languageAriaPaginateNext('Next');
24+
$this->assertEquals('Next', $builder->getLanguage('aria')['paginate']['next']);
25+
26+
$builder->languageAriaPaginatePrevious('Previous');
27+
$this->assertEquals('Previous', $builder->getLanguage('aria')['paginate']['previous']);
28+
29+
$builder->languageAriaSortAscending('languageAriaSortAscending');
30+
$this->assertEquals('languageAriaSortAscending', $builder->getLanguage('aria')['sortAscending']);
31+
32+
$builder->languageAriaSortDescending('languageAriaSortDescending');
33+
$this->assertEquals('languageAriaSortDescending', $builder->getLanguage('aria')['sortDescending']);
34+
}
35+
36+
/** @test */
37+
public function it_has_language_autofill_options()
38+
{
39+
$builder = $this->getHtmlBuilder();
40+
$builder->languageAutoFill(['button' => 'button']);
41+
$this->assertEquals(['button' => 'button'], $builder->getLanguage('autoFill'));
42+
43+
$builder->languageAutoFillButton('button');
44+
$this->assertEquals('button', $builder->getLanguage('autoFill')['button']);
45+
46+
$builder->languageAutoFillCancel('cancel');
47+
$this->assertEquals('cancel', $builder->getLanguage('autoFill')['cancel']);
48+
49+
$builder->languageAutoFillFill('fill');
50+
$this->assertEquals('fill', $builder->getLanguage('autoFill')['fill']);
51+
52+
$builder->languageAutoFillFillHorizontal('languageAutoFillFillHorizontal');
53+
$this->assertEquals('languageAutoFillFillHorizontal', $builder->getLanguage('autoFill')['fillHorizontal']);
54+
55+
$builder->languageAutoFillFillVertical('languageAutoFillFillVertical');
56+
$this->assertEquals('languageAutoFillFillVertical', $builder->getLanguage('autoFill')['fillVertical']);
57+
58+
$builder->languageAutoFillIncrement('languageAutoFillIncrement');
59+
$this->assertEquals('languageAutoFillIncrement', $builder->getLanguage('autoFill')['increment']);
60+
61+
$builder->languageAutoFillInfo('languageAutoFillInfo');
62+
$this->assertEquals('languageAutoFillInfo', $builder->getLanguage('autoFill')['info']);
63+
}
64+
65+
/** @test */
66+
public function it_has_language_paginate_options()
67+
{
68+
$builder = $this->getHtmlBuilder();
69+
$builder->languagePaginate(['first' => 'First']);
70+
$this->assertEquals(['first' => 'First'], $builder->getLanguage('paginate'));
71+
72+
$builder->languagePaginateFirst('languagePaginateFirst');
73+
$this->assertEquals('languagePaginateFirst', $builder->getLanguage('paginate')['first']);
74+
75+
$builder->languagePaginateLast('languagePaginateLast');
76+
$this->assertEquals('languagePaginateLast', $builder->getLanguage('paginate')['last']);
77+
78+
$builder->languagePaginateNext('languagePaginateNext');
79+
$this->assertEquals('languagePaginateNext', $builder->getLanguage('paginate')['next']);
80+
81+
$builder->languagePaginatePrevious('languagePaginatePrevious');
82+
$this->assertEquals('languagePaginatePrevious', $builder->getLanguage('paginate')['previous']);
83+
}
84+
85+
/** @test */
86+
public function it_has_language_select_options()
87+
{
88+
$builder = $this->getHtmlBuilder();
89+
$builder->languageSelect(['cells' => 1]);
90+
$this->assertEquals(['cells' => 1], $builder->getLanguage('select'));
91+
92+
$builder->languageSelectCells('languageSelectCells');
93+
$this->assertEquals('languageSelectCells', $builder->getLanguage('select')['cells']);
94+
95+
$builder->languageSelectCells([1, 2, 3]);
96+
$this->assertEquals([1, 2, 3], $builder->getLanguage('select')['cells']);
97+
98+
$builder->languageSelectColumns('languageSelectColumns');
99+
$this->assertEquals('languageSelectColumns', $builder->getLanguage('select')['columns']);
100+
101+
$builder->languageSelectColumns([1, 2, 3]);
102+
$this->assertEquals([1, 2, 3], $builder->getLanguage('select')['columns']);
103+
104+
$builder->languageSelectRows('languageSelectRows');
105+
$this->assertEquals('languageSelectRows', $builder->getLanguage('select')['rows']);
106+
107+
$builder->languageSelectRows([1, 2, 3]);
108+
$this->assertEquals([1, 2, 3], $builder->getLanguage('select')['rows']);
109+
}
110+
}

0 commit comments

Comments
 (0)