Skip to content

Commit 8b9632c

Browse files
authored
Merge pull request #136 from maxhelias/count-translate
Count translate
2 parents 00544a9 + 047a99b commit 8b9632c

2 files changed

Lines changed: 25 additions & 0 deletions

File tree

src/Translations.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,6 +416,21 @@ public function find($context, $original = '')
416416
return $this->offsetExists($id) ? $this[$id] : false;
417417
}
418418

419+
/**
420+
* Count all elements translated
421+
*
422+
* @return integer
423+
*/
424+
public function countTranslated()
425+
{
426+
$callback = function(Translation $v)
427+
{
428+
return ($v->hasTranslation()) ? $v->getTranslation() : null;
429+
};
430+
431+
return count(array_filter(get_object_vars($this), $callback));
432+
}
433+
419434
/**
420435
* Creates and insert/merges a new translation.
421436
*

tests/AssetsTest.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ public function testPo()
1212

1313
$this->assertCount($countTranslations, $translations);
1414
$this->assertCount($countHeaders, $translations->getHeaders());
15+
$this->assertEquals(3, $translations->countTranslated());
1516

1617
$this->assertContent($translations, 'po/Po');
1718
$this->assertContent($translations, 'po/Mo');
@@ -46,6 +47,7 @@ public function testPo2()
4647

4748
$this->assertCount($countTranslations, $translations);
4849
$this->assertCount($countHeaders, $translations->getHeaders());
50+
$this->assertEquals(10, $translations->countTranslated());
4951

5052
$this->assertContent($translations, 'po2/Po');
5153
$this->assertContent($translations, 'po2/Mo');
@@ -80,6 +82,7 @@ public function testPo3()
8082

8183
$this->assertCount($countTranslations, $translations);
8284
$this->assertCount($countHeaders, $translations->getHeaders());
85+
$this->assertEquals(8, $translations->countTranslated());
8386

8487
$this->assertContent($translations, 'po3/Po');
8588
$this->assertContent($translations, 'po3/Mo');
@@ -114,6 +117,7 @@ public function testBlade()
114117

115118
$this->assertCount($countTranslations, $translations);
116119
$this->assertCount($countHeaders, $translations->getHeaders());
120+
$this->assertEquals(0, $translations->countTranslated());
117121

118122
$this->assertContent($translations, 'blade/Po');
119123
$this->assertContent($translations, 'blade/Mo');
@@ -148,6 +152,7 @@ public function testJed()
148152

149153
$this->assertCount($countTranslations, $translations);
150154
$this->assertCount($countHeaders, $translations->getHeaders());
155+
$this->assertEquals(10, $translations->countTranslated());
151156

152157
$this->assertContent($translations, 'jed/Po');
153158
$this->assertContent($translations, 'jed/Mo');
@@ -182,6 +187,7 @@ public function testJsCode()
182187

183188
$this->assertCount($countTranslations, $translations);
184189
$this->assertCount($countHeaders, $translations->getHeaders());
190+
$this->assertEquals(0, $translations->countTranslated());
185191

186192
$this->assertContent($translations, 'jscode/Po');
187193
$this->assertContent($translations, 'jscode/Mo');
@@ -216,6 +222,7 @@ public function testJs2Code()
216222

217223
$this->assertCount($countTranslations, $translations);
218224
$this->assertCount($countHeaders, $translations->getHeaders());
225+
$this->assertEquals(0, $translations->countTranslated());
219226

220227
$this->assertContent($translations, 'jscode2/Po');
221228
$this->assertContent($translations, 'jscode2/Mo');
@@ -250,6 +257,7 @@ public function testPhpCode()
250257

251258
$this->assertCount($countTranslations, $translations);
252259
$this->assertCount($countHeaders, $translations->getHeaders());
260+
$this->assertEquals(0, $translations->countTranslated());
253261

254262
$this->assertContent($translations, 'phpcode/Po');
255263
$this->assertContent($translations, 'phpcode/Mo');
@@ -288,6 +296,7 @@ public function testPhpCode2()
288296

289297
$this->assertCount($countTranslations, $translations);
290298
$this->assertCount($countHeaders, $translations->getHeaders());
299+
$this->assertEquals(0, $translations->countTranslated());
291300

292301
$this->assertContent($translations, 'phpcode2/Po');
293302
$this->assertContent($translations, 'phpcode2/Mo');
@@ -322,6 +331,7 @@ public function testTwig()
322331

323332
$this->assertCount($countTranslations, $translations);
324333
$this->assertCount($countHeaders, $translations->getHeaders());
334+
$this->assertEquals(0, $translations->countTranslated());
325335

326336
$this->assertContent($translations, 'twig/Po');
327337
$this->assertContent($translations, 'twig/Mo');

0 commit comments

Comments
 (0)