1
0
mirror of https://github.com/phpmyadmin/phpmyadmin.git synced 2026-10-23 18:29:15 +03:00
Files
phpmyadmin/tests/unit/FontTest.php
Kamil Tekiela fed9933d60 Drop $charLists param from getStringWidth()
Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
2026-09-08 23:33:23 +01:00

205 lines
4.6 KiB
PHP

<?php
declare(strict_types=1);
namespace PhpMyAdmin\Tests;
use PhpMyAdmin\Font;
use PHPUnit\Framework\Attributes\CoversClass;
#[CoversClass(Font::class)]
class FontTest extends AbstractTestCase
{
private Font $font;
/**
* Sets up the fixture
*/
protected function setUp(): void
{
parent::setUp();
$this->font = new Font();
}
/**
* Test getStringWidth with different characters.
*/
public function testGetStringWidth(): void
{
// empty string
self::assertSame(
0,
$this->font->getStringWidth('', 'arial', 10),
);
// empty string
self::assertSame(
3,
$this->font->getStringWidth(' ', 'arial', 10),
);
// string "a"
self::assertSame(
6,
$this->font->getStringWidth('a', 'arial', 10),
);
// string "aa"
self::assertSame(
12,
$this->font->getStringWidth('aa', 'arial', 10),
);
// string "i"
self::assertSame(
3,
$this->font->getStringWidth('i', 'arial', 10),
);
// string "f"
self::assertSame(
3,
$this->font->getStringWidth('f', 'arial', 10),
);
// string "t"
self::assertSame(
3,
$this->font->getStringWidth('t', 'arial', 10),
);
// string "if"
self::assertSame(
5,
$this->font->getStringWidth('if', 'arial', 10),
);
// string "it"
self::assertSame(
6,
$this->font->getStringWidth('it', 'arial', 10),
);
// string "r"
self::assertSame(
4,
$this->font->getStringWidth('r', 'arial', 10),
);
// string "1"
self::assertSame(
5,
$this->font->getStringWidth('1', 'arial', 10),
);
// string "c"
self::assertSame(
5,
$this->font->getStringWidth('c', 'arial', 10),
);
// string "F"
self::assertSame(
7,
$this->font->getStringWidth('F', 'arial', 10),
);
// string "A"
self::assertSame(
7,
$this->font->getStringWidth('A', 'arial', 10),
);
// string "w"
self::assertSame(
8,
$this->font->getStringWidth('w', 'arial', 10),
);
// string "G"
self::assertSame(
8,
$this->font->getStringWidth('G', 'arial', 10),
);
// string "m"
self::assertSame(
9,
$this->font->getStringWidth('m', 'arial', 10),
);
// string "W"
self::assertSame(
10,
$this->font->getStringWidth('W', 'arial', 10),
);
// string "$"
self::assertSame(
3,
$this->font->getStringWidth('$', 'arial', 10),
);
}
/**
* Test getStringWidth with different fonts.
*/
public function testGetStringWidthFont(): void
{
// string "phpMyAdmin", with Arial 10
self::assertSame(
59,
$this->font->getStringWidth('phpMyAdmin', 'arial', 10),
);
// string "phpMyAdmin", with No font
self::assertSame(
59,
$this->font->getStringWidth('phpMyAdmin', '', 10),
);
// string "phpMyAdmin", with Times 10
self::assertSame(
55,
$this->font->getStringWidth('phpMyAdmin', 'times', 10),
);
// string "phpMyAdmin", with Broadway 10
self::assertSame(
73,
$this->font->getStringWidth('phpMyAdmin', 'broadway', 10),
);
}
/**
* Test getStringWidth with different font sizes.
*/
public function testGetStringWidthSize(): void
{
// string "phpMyAdmin", with font size 0
self::assertSame(
0,
$this->font->getStringWidth('phpMyAdmin', 'arial', 0),
);
// string "phpMyAdmin", with Arial 10
self::assertSame(
59,
$this->font->getStringWidth('phpMyAdmin', 'arial', 10),
);
// string "phpMyAdmin", with Arial 11
self::assertSame(
65,
$this->font->getStringWidth('phpMyAdmin', 'arial', 11),
);
// string "phpMyAdmin", with Arial 20
self::assertSame(
118,
$this->font->getStringWidth('phpMyAdmin', 'arial', 20),
);
}
}