Browse Source

issues-17 (#18)

tags/0.2.1
Angel Koilov (po_taka) GitHub 7 years ago
parent
commit
526bfe8211
2 changed files with 26 additions and 1 deletions
  1. +2
    -1
      src/Potaka/BbCode/Tokenizer/Tokenizer.php
  2. +24
    -0
      tests/phpUnit/Test/Potaka/BbCode/Tokenizer/TokenizerTest.php

+ 2
- 1
src/Potaka/BbCode/Tokenizer/Tokenizer.php View File

@@ -35,7 +35,8 @@ class Tokenizer
if ($textAsArray[$tmpPosion] === ']') {
$closeTagFound = true;
break;
} elseif ($textAsArray[$tmpPosion] === '=') {
// for the time being we support only 1 argument
} elseif ($textAsArray[$tmpPosion] === '=' && $argumentFound === false) {
$argumentFound = true;
} else {
if ($argumentFound) {


+ 24
- 0
tests/phpUnit/Test/Potaka/BbCode/Tokenizer/TokenizerTest.php View File

@@ -231,4 +231,28 @@ class TokenizerTest extends TestCase

$this->assertSameTokenized($expected, $result);
}

/**
* @see https://github.com/angelk/bbCode/issues/17
*/
public function testInvalidOptions()
{
$tokenizer = new Tokenizer();
$url = 'https://www.facebook.com/permalink.php?story_fbid=1554622461246932&id=121306641245195';
$text = 'a[url=' . $url . ']fb[/url]';
$result = $tokenizer->tokenize($text);
$expected = new Tag(null);

$urlTag = new Tag('url');
$urlTag->setArgumen($url);
$urlTag->addTag(
(new Tag(null))->setText('fb')
);

$expected->addTag(
(new Tag(null))->setText('a')
)->addTag($urlTag);

$this->assertSameTokenized($expected, $result);
}
}

Loading…
Cancel
Save