Git Komut Rehberi & Terminal Asistanı
Sıfırdan Yeni Bir Depo Başlatın:
Mevcut Bir Git Deposu veya Klasörü Gönderin:
Hataları Geri Alma, İptal & Temizlik:
Son commit'i geri al (yapılan değişiklikleri korur):
git reset --soft HEAD~1
Yapılan yerel değişiklikleri iptal et (çalışma ağacını temizler):
git restore .
Takip edilmeyen gereksiz dosyaları sil:
git clean -fd
Değişiklikleri geçici sakla ve geri getir (stash):
git stash git stash pop
Dal (Branch) ve Sürüm Etiketleri:
Yeni dal aç ve geçiş yap:
git checkout -b yeni-ozellik git push -u origin yeni-ozellik
Sürüm etiketi (tag) oluştur ve gönder:
git tag -a v1.0.0 -m "Sürüm 1.0.0" git push origin --tags
release: v3.1.0 premium smart core engines and 14 new accessibility rules
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace YakNet\AccessibilityConsole\Tests\Core;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use YakNet\AccessibilityConsole\Core\Metrics\AccessibilityScoreCalculator;
|
||||
use YakNet\AccessibilityConsole\Core\Violation;
|
||||
use YakNet\AccessibilityConsole\Core\Severity;
|
||||
use YakNet\AccessibilityConsole\Core\WCAGStandard;
|
||||
|
||||
class AccessibilityScoreCalculatorTest extends TestCase
|
||||
{
|
||||
public function testScoreCalculationWithNoViolations(): void
|
||||
{
|
||||
$metrics = AccessibilityScoreCalculator::calculate([]);
|
||||
$this->assertSame(100, $metrics['score']);
|
||||
}
|
||||
|
||||
public function testScoreCalculationDeductions(): void
|
||||
{
|
||||
$violations = [
|
||||
new Violation('WCAG_1_1_1_ALT', 'Img alt missing', Severity::ERROR, WCAGStandard::A, '<img>'), // -8
|
||||
new Violation('WCAG_2_4_3_AUTOFOCUS', 'Autofocus usage', Severity::WARNING, WCAGStandard::A, '<input autofocus>') // -3
|
||||
];
|
||||
|
||||
$metrics = AccessibilityScoreCalculator::calculate($violations);
|
||||
$this->assertSame(89, $metrics['score']); // 100 - 8 - 3 = 89
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace YakNet\AccessibilityConsole\Tests\Core;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use YakNet\AccessibilityConsole\Core\Baseline\FuzzyBaselineMatcher;
|
||||
|
||||
class FuzzyBaselineMatcherTest extends TestCase
|
||||
{
|
||||
public function testFuzzyMatchIgnoresAttributeOrderAndSpaces(): void
|
||||
{
|
||||
$snippetA = '<img src="logo.png" alt="logo" class="banner">';
|
||||
$snippetB = ' <img class="banner" src="logo.png" alt="logo"> ';
|
||||
|
||||
$this->assertTrue(FuzzyBaselineMatcher::match($snippetA, $snippetB));
|
||||
}
|
||||
|
||||
public function testNormalizeLowercaseTags(): void
|
||||
{
|
||||
$html = '<IMG SRC="logo.png" ALT="logo">';
|
||||
$norm = FuzzyBaselineMatcher::normalize($html);
|
||||
|
||||
$this->assertSame('<img alt="logo" src="logo.png">', $norm);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace YakNet\AccessibilityConsole\Tests\Core;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use YakNet\AccessibilityConsole\Core\SelfHealing\LocalHealer;
|
||||
use YakNet\AccessibilityConsole\Core\Violation;
|
||||
use YakNet\AccessibilityConsole\Core\Severity;
|
||||
use YakNet\AccessibilityConsole\Core\WCAGStandard;
|
||||
|
||||
class LocalHealerTest extends TestCase
|
||||
{
|
||||
public function testHealsBlinkTag(): void
|
||||
{
|
||||
$healer = new LocalHealer();
|
||||
$violation = new Violation(
|
||||
ruleId: 'WCAG_2_2_2_BLINK',
|
||||
message: 'Banned blink tag.',
|
||||
severity: Severity::ERROR,
|
||||
standard: WCAGStandard::A,
|
||||
htmlSnippet: '<blink>Hello</blink>'
|
||||
);
|
||||
|
||||
$result = $healer->heal($violation);
|
||||
$this->assertNotNull($result);
|
||||
$this->assertStringContainsString('FIX: <span style="text-decoration: blink;">Hello</span>', $result);
|
||||
}
|
||||
|
||||
public function testHealsAutofocusAttribute(): void
|
||||
{
|
||||
$healer = new LocalHealer();
|
||||
$violation = new Violation(
|
||||
ruleId: 'WCAG_2_4_3_AUTOFOCUS',
|
||||
message: 'Banned autofocus attribute.',
|
||||
severity: Severity::WARNING,
|
||||
standard: WCAGStandard::A,
|
||||
htmlSnippet: '<input type="text" autofocus />'
|
||||
);
|
||||
|
||||
$result = $healer->heal($violation);
|
||||
$this->assertNotNull($result);
|
||||
$this->assertStringContainsString('FIX: <input type="text" />', $result);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace YakNet\AccessibilityConsole\Tests\Core;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use YakNet\AccessibilityConsole\Core\Diff\VisualDiffGenerator;
|
||||
|
||||
class VisualDiffGeneratorTest extends TestCase
|
||||
{
|
||||
public function testGeneratesVisualDiff(): void
|
||||
{
|
||||
$generator = new VisualDiffGenerator();
|
||||
$original = "hello world\nfoo\n";
|
||||
$fixed = "hello world\nbar\n";
|
||||
|
||||
$diff = $generator->generate($original, $fixed);
|
||||
|
||||
$this->assertStringContainsString('--- Original', $diff);
|
||||
$this->assertStringContainsString('+++ Healed', $diff);
|
||||
$this->assertStringContainsString('<fg=red>-foo', $diff);
|
||||
$this->assertStringContainsString('<fg=green>+bar', $diff);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user