Skip to content

Commit f7ae824

Browse files
author
Yuri Kovsher
committed
MAGETWO-33062: Update dictionary search tool to support \Magento\Framework\Phrase
1 parent d01c710 commit f7ae824

File tree

5 files changed

+11
-7
lines changed

5 files changed

+11
-7
lines changed

dev/tests/integration/testsuite/Magento/Test/Tools/I18n/Parser/Adapter/Php/Tokenizer/PhraseCollectorTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
use Magento\Framework\ObjectManager;
99
use Magento\TestFramework\Helper\Bootstrap;
10+
use Magento\Tools\I18n\Parser\Adapter\Php\Tokenizer\PhraseCollector;
1011

1112
/**
1213
* @covers \Magento\Tools\I18n\Parser\Adapter\Php\Tokenizer\PhraseCollector
@@ -37,7 +38,7 @@ protected function setUp()
3738
public function testParse()
3839
{
3940
$file = __DIR__.'/_files/objectsCode.php.txt';
40-
$this->phraseCollector->parse($file);
41+
$this->phraseCollector->parse($file, true);
4142
$expectation = [
4243
[
4344
'phrase' => '\'Testing\'',

dev/tests/integration/testsuite/Magento/Test/Tools/I18n/Parser/Adapter/Php/Tokenizer/Translate/MethodCollectorTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
use Magento\Framework\ObjectManager;
99
use Magento\TestFramework\Helper\Bootstrap;
10+
use Magento\Tools\I18n\Parser\Adapter\Php\Tokenizer\Translate\MethodCollector;
1011

1112
/**
1213
* @covers \Magento\Tools\I18n\Parser\Adapter\Php\Tokenizer\Translate\MethodCollector

dev/tests/unit/testsuite/Magento/Tools/I18n/Parser/Adapter/Php/Tokenizer/PhraseCollectorTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public function testParse(
9292
$isMatchingClassReturnValues
9393
));
9494

95-
$this->phraseCollector->parse($file);
95+
$this->phraseCollector->parse($file, true);
9696
$this->assertEquals($result, $this->phraseCollector->getPhrases());
9797
}
9898

dev/tools/Magento/Tools/I18n/Parser/Adapter/Php.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public function __construct(PhraseCollector $phraseCollector)
3434
*/
3535
protected function _parse()
3636
{
37-
$this->_phraseCollector->parse($this->_file);
37+
$this->_phraseCollector->parse($this->_file, true);
3838

3939
foreach ($this->_phraseCollector->getPhrases() as $phrase) {
4040
$this->_addPhrase($phrase['phrase'], $phrase['line']);

dev/tools/Magento/Tools/I18n/Parser/Adapter/Php/Tokenizer/PhraseCollector.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,24 +55,26 @@ public function getPhrases()
5555
* Parse given files for phrase
5656
*
5757
* @param string $file
58+
* @param bool $searchObjects
5859
* @return void
5960
*/
60-
public function parse($file)
61+
public function parse($file, $searchObjects = false)
6162
{
6263
$this->_phrases = [];
6364
$this->_file = $file;
6465
$this->_tokenizer->parse($file);
6566
while (!$this->_tokenizer->isEndOfLoop()) {
66-
$this->_extractPhrases();
67+
$this->_extractPhrases($searchObjects);
6768
}
6869
}
6970

7071
/**
7172
* Extract phrases from given tokens. e.g.: __('phrase', ...)
7273
*
74+
* @param bool $searchObjects
7375
* @return void
7476
*/
75-
protected function _extractPhrases()
77+
protected function _extractPhrases($searchObjects)
7678
{
7779
if ($firstToken = $this->_tokenizer->getNextRealToken()) {
7880
if ($firstToken->isEqualFunction('__')) {
@@ -84,7 +86,7 @@ protected function _extractPhrases()
8486
$this->_addPhrase($phrase, count($arguments), $this->_file, $firstToken->getLine());
8587
}
8688
}
87-
} elseif ($firstToken->isNew() && $this->_tokenizer->isMatchingClass('Phrase')) {
89+
} elseif ($searchObjects && $firstToken->isNew() && $this->_tokenizer->isMatchingClass('Phrase')) {
8890
$arguments = $this->_tokenizer->getFunctionArgumentsTokens();
8991
$phrase = $this->_collectPhrase(array_shift($arguments));
9092
if (null !== $phrase) {

0 commit comments

Comments
 (0)