diff --git a/.github/workflows/code-style.yml b/.github/workflows/code-style.yml index d3c66b7..18319cb 100644 --- a/.github/workflows/code-style.yml +++ b/.github/workflows/code-style.yml @@ -14,13 +14,13 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Install PHP uses: shivammathur/setup-php@v2 with: coverage: none - php-version: 8.1 + php-version: 8.5 extensions: mbstring - name: Composer install diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml index ff21534..7e66b64 100644 --- a/.github/workflows/static-analysis.yml +++ b/.github/workflows/static-analysis.yml @@ -13,13 +13,13 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Install PHP uses: shivammathur/setup-php@v2 with: coverage: none - php-version: 8.1 + php-version: 8.5 extensions: mbstring - name: Composer install diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 48ae522..2df71bb 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -21,10 +21,11 @@ jobs: - 8.2 - 8.3 - 8.4 + - 8.5 steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Install PHP uses: shivammathur/setup-php@v2 @@ -40,14 +41,14 @@ jobs: run: vendor/bin/phpunit --coverage-clover=clover.xml - name: Upload codecov coverage reporter - if: matrix.php-version == '8.3' - uses: codecov/codecov-action@v4 + if: matrix.php-version == '8.5' + uses: codecov/codecov-action@v7 with: files: clover.xml token: ${{ secrets.CODECOV_TOKEN }} - name: Upload codacy coverage reporter - if: matrix.php-version == '8.3' + if: matrix.php-version == '8.5' uses: codacy/codacy-coverage-reporter-action@v1 with: project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e3010b..e7a7b04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog -## [Unreleased](https://github.com/akhx/typograf/compare/v0.7.0...HEAD) +## [Unreleased](https://github.com/akhx/typograf/compare/v0.7.1...HEAD) + +## [0.7.1](https://github.com/akhx/typograf/compare/v0.7.0...v0.7.1) - 2026-08-26 +* ошибка safeblock, при тегах из одинаковых букв - dd ## [0.7.0](https://github.com/akhx/typograf/compare/v0.6.0...v0.7.0) - 2024-12-08 * url добавлен в safeBlock diff --git a/src/SafeBlock.php b/src/SafeBlock.php index 7279035..d3689ce 100644 --- a/src/SafeBlock.php +++ b/src/SafeBlock.php @@ -113,7 +113,7 @@ public function safeTagAttr(string $text, bool $back = false): string $i = 1; return preg_replace_callback( - '/<[^\/]([^>]+)>/ius', + '/<([^\/][^>]+)>/ius', function ($matches) use (&$i, $back) { switch ($back) { case true: diff --git a/tests/Rule/Quote/QuoteTest.php b/tests/Rule/Quote/QuoteTest.php index 677ec28..82f5942 100644 --- a/tests/Rule/Quote/QuoteTest.php +++ b/tests/Rule/Quote/QuoteTest.php @@ -187,22 +187,22 @@ public function dataProvider(): array 'по произведению Достоевского «Преступление и наказание"в театре Моссовета', ], [ - 'Из всей нашей культурной программы самое сильное впечатление на меня произвела постановка "Р.Р.Р." по произведению Достоевского "Преступление и наказание"в театре Моссовета.' . - "Она буквально влюбила меня в театр.\n"Мы напихиваем в детей ненужное барахло". 5 радикальных тезисов Германа Грефа об образовании", + 'Из всей нашей культурной программы самое сильное впечатление на меня произвела постановка "Р.Р.Р." по произведению Достоевского "Преступление и наказание"в театре Моссовета.' + . "Она буквально влюбила меня в театр.\n"Мы напихиваем в детей ненужное барахло". 5 радикальных тезисов Германа Грефа об образовании", - 'Из всей нашей культурной программы самое сильное впечатление на меня произвела постановка «Р.Р.Р.» по произведению Достоевского «Преступление и наказание"в театре Моссовета.' . - "Она буквально влюбила меня в театр.\n«Мы напихиваем в детей ненужное барахло». 5 радикальных тезисов Германа Грефа об образовании", + 'Из всей нашей культурной программы самое сильное впечатление на меня произвела постановка «Р.Р.Р.» по произведению Достоевского «Преступление и наказание"в театре Моссовета.' + . "Она буквально влюбила меня в театр.\n«Мы напихиваем в детей ненужное барахло». 5 радикальных тезисов Германа Грефа об образовании", ], [ - 'Из всей нашей культурной программы самое сильное впечатление на меня произвела постановка "Р.Р.Р." по произведению Достоевского "Преступление и наказание"в театре Моссовета.' . - "Она буквально влюбила меня в театр.\n"Мы напихиваем в детей ненужное барахло". 5 радикальных тезисов Германа Грефа об образовании\n" . - 'Из всей нашей культурной программы самое сильное впечатление на меня произвела постановка "Р.Р.Р." по произведению Достоевского "Преступление и наказание"в театре Моссовета.' . - "Она буквально влюбила меня в театр.\n"Мы напихиваем в детей ненужное барахло". 5 радикальных тезисов Германа Грефа об образовании", + 'Из всей нашей культурной программы самое сильное впечатление на меня произвела постановка "Р.Р.Р." по произведению Достоевского "Преступление и наказание"в театре Моссовета.' + . "Она буквально влюбила меня в театр.\n"Мы напихиваем в детей ненужное барахло". 5 радикальных тезисов Германа Грефа об образовании\n" + . 'Из всей нашей культурной программы самое сильное впечатление на меня произвела постановка "Р.Р.Р." по произведению Достоевского "Преступление и наказание"в театре Моссовета.' + . "Она буквально влюбила меня в театр.\n"Мы напихиваем в детей ненужное барахло". 5 радикальных тезисов Германа Грефа об образовании", - 'Из всей нашей культурной программы самое сильное впечатление на меня произвела постановка «Р.Р.Р.» по произведению Достоевского «Преступление и наказание"в театре Моссовета.' . - "Она буквально влюбила меня в театр.\n«Мы напихиваем в детей ненужное барахло». 5 радикальных тезисов Германа Грефа об образовании\n" . - 'Из всей нашей культурной программы самое сильное впечатление на меня произвела постановка «Р.Р.Р.» по произведению Достоевского «Преступление и наказание"в театре Моссовета.' . - "Она буквально влюбила меня в театр.\n«Мы напихиваем в детей ненужное барахло». 5 радикальных тезисов Германа Грефа об образовании", + 'Из всей нашей культурной программы самое сильное впечатление на меня произвела постановка «Р.Р.Р.» по произведению Достоевского «Преступление и наказание"в театре Моссовета.' + . "Она буквально влюбила меня в театр.\n«Мы напихиваем в детей ненужное барахло». 5 радикальных тезисов Германа Грефа об образовании\n" + . 'Из всей нашей культурной программы самое сильное впечатление на меня произвела постановка «Р.Р.Р.» по произведению Достоевского «Преступление и наказание"в театре Моссовета.' + . "Она буквально влюбила меня в театр.\n«Мы напихиваем в детей ненужное барахло». 5 радикальных тезисов Германа Грефа об образовании", ], [ '

«Куда ты ведёшь нас?.. не видно ни зги! —

', diff --git a/tests/TypografTest.php b/tests/TypografTest.php index 484064b..930762b 100644 --- a/tests/TypografTest.php +++ b/tests/TypografTest.php @@ -45,6 +45,10 @@ public function testApply(): void "+7 926 999 9999", "+7 926 999–99–99", ],*/ + [ + '
Привет
https://domain.com/path/test-05-09-2024/', + '
Привет
https://domain.com/path/test-05-09-2024/', + ], [ 123, '123',