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.2.0 - Enterprise Edition with Live Web Dashboard, PDF/Excel Exporters, Framework Stubs & 110 WCAG Rules
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
namespace YakNet\AccessibilityConsole\Tests\Rules;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use YakNet\AccessibilityConsole\Core\Scanner;
|
||||
use YakNet\AccessibilityConsole\Rules\ColorBlindnessContrast;
|
||||
|
||||
class ColorBlindnessContrastTest extends TestCase
|
||||
{
|
||||
public function testFlagsLowContrastUnderColorBlindnessSimulation(): void
|
||||
{
|
||||
$scanner = new Scanner();
|
||||
$scanner->addRule(new ColorBlindnessContrast());
|
||||
|
||||
// Red text #ff0000 on Green background #00ff00 (Classic red/green colorblindness issue)
|
||||
$violations = $scanner->scan('<div style="color: #ff0000; background-color: #00ff00;">Red on Green text</div>');
|
||||
$this->assertGreaterThanOrEqual(1, count($violations));
|
||||
$this->assertSame('WCAG_1_4_1_COLOR_BLINDNESS_CONTRAST', $violations[0]->ruleId);
|
||||
}
|
||||
|
||||
public function testPassesHighContrastUnderColorBlindnessSimulation(): void
|
||||
{
|
||||
$scanner = new Scanner();
|
||||
$scanner->addRule(new ColorBlindnessContrast());
|
||||
|
||||
// Black text #000000 on White background #ffffff
|
||||
$violations = $scanner->scan('<div style="color: #000000; background-color: #ffffff;">Black on White text</div>');
|
||||
$this->assertCount(0, $violations);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace YakNet\AccessibilityConsole\Tests\Rules;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use YakNet\AccessibilityConsole\Core\Scanner;
|
||||
use YakNet\AccessibilityConsole\Rules\ContentInfoParent;
|
||||
|
||||
class ContentInfoParentTest extends TestCase
|
||||
{
|
||||
public function testFlagsNestedFooterInSection(): void
|
||||
{
|
||||
$scanner = new Scanner();
|
||||
$scanner->addRule(new ContentInfoParent());
|
||||
|
||||
$violations = $scanner->scan('<section><footer role="contentinfo"><p>Nested footer</p></footer></section>');
|
||||
$this->assertGreaterThanOrEqual(1, count($violations));
|
||||
$this->assertSame('WCAG_1_3_1_CONTENTINFO_PARENT', $violations[0]->ruleId);
|
||||
}
|
||||
|
||||
public function testPassesTopLevelFooter(): void
|
||||
{
|
||||
$scanner = new Scanner();
|
||||
$scanner->addRule(new ContentInfoParent());
|
||||
|
||||
$violations = $scanner->scan('<body><footer role="contentinfo"><p>Top level footer</p></footer></body>');
|
||||
$this->assertCount(0, $violations);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace YakNet\AccessibilityConsole\Tests\Rules;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use YakNet\AccessibilityConsole\Core\Scanner;
|
||||
use YakNet\AccessibilityConsole\Rules\ImageDimensionsAndScale;
|
||||
|
||||
class ImageDimensionsAndScaleTest extends TestCase
|
||||
{
|
||||
public function testFlagsMissingWidthAttribute(): void
|
||||
{
|
||||
$scanner = new Scanner();
|
||||
$scanner->addRule(new ImageDimensionsAndScale());
|
||||
|
||||
$violations = $scanner->scan('<img src="test.jpg" alt="Test image">');
|
||||
$this->assertGreaterThanOrEqual(1, count($violations));
|
||||
$this->assertSame('WCAG_1_4_4_IMAGE_DIMENSIONS_SCALE', $violations[0]->ruleId);
|
||||
}
|
||||
|
||||
public function testFlagsSmallInteractiveTouchTarget(): void
|
||||
{
|
||||
$scanner = new Scanner();
|
||||
$scanner->addRule(new ImageDimensionsAndScale());
|
||||
|
||||
$violations = $scanner->scan('<a href="/"><img src="icon.png" alt="Home" width="12" height="12"></a>');
|
||||
$this->assertGreaterThanOrEqual(1, count($violations));
|
||||
}
|
||||
|
||||
public function testPassesValidImageDimensions(): void
|
||||
{
|
||||
$scanner = new Scanner();
|
||||
$scanner->addRule(new ImageDimensionsAndScale());
|
||||
|
||||
$violations = $scanner->scan('<img src="test.jpg" alt="Test" width="300" height="200">');
|
||||
$this->assertCount(0, $violations);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace YakNet\AccessibilityConsole\Tests\Rules;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use YakNet\AccessibilityConsole\Core\Scanner;
|
||||
use YakNet\AccessibilityConsole\Rules\InputTypePasswordVisibility;
|
||||
|
||||
class InputTypePasswordVisibilityTest extends TestCase
|
||||
{
|
||||
public function testFlagsPasswordToggleWithoutAccessibleName(): void
|
||||
{
|
||||
$scanner = new Scanner();
|
||||
$scanner->addRule(new InputTypePasswordVisibility());
|
||||
|
||||
$violations = $scanner->scan('<button class="toggle-password"></button>');
|
||||
$this->assertGreaterThanOrEqual(1, count($violations));
|
||||
$this->assertSame('WCAG_4_1_2_PASSWORD_VISIBILITY_TOGGLE', $violations[0]->ruleId);
|
||||
}
|
||||
|
||||
public function testPassesPasswordToggleWithAriaLabel(): void
|
||||
{
|
||||
$scanner = new Scanner();
|
||||
$scanner->addRule(new InputTypePasswordVisibility());
|
||||
|
||||
$violations = $scanner->scan('<button class="toggle-password" aria-label="Şifreyi göster"></button>');
|
||||
$this->assertCount(0, $violations);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace YakNet\AccessibilityConsole\Tests\Rules;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use YakNet\AccessibilityConsole\Core\Scanner;
|
||||
use YakNet\AccessibilityConsole\Rules\TableNestedBanned;
|
||||
|
||||
class TableNestedBannedTest extends TestCase
|
||||
{
|
||||
public function testFlagsNestedTable(): void
|
||||
{
|
||||
$scanner = new Scanner();
|
||||
$scanner->addRule(new TableNestedBanned());
|
||||
|
||||
$violations = $scanner->scan('<table><tr><td><table><tr><td>Nested table</td></tr></table></td></tr></table>');
|
||||
$this->assertGreaterThanOrEqual(1, count($violations));
|
||||
$this->assertSame('WCAG_1_3_1_TABLE_NESTED_BANNED', $violations[0]->ruleId);
|
||||
}
|
||||
|
||||
public function testPassesSingleTable(): void
|
||||
{
|
||||
$scanner = new Scanner();
|
||||
$scanner->addRule(new TableNestedBanned());
|
||||
|
||||
$violations = $scanner->scan('<table><tr><td>Single table data</td></tr></table>');
|
||||
$this->assertCount(0, $violations);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user