1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-24 08:33:29 +00:00
Files
browser/libs/eslint/components/no-bwi-class-usage.spec.mjs
Will Martin 5dc49f21d2 [CL-82] rename bit-icon to bit-svg; create new bit-icon component for font icons (#18584)
* rename bit-icon to bit-svg; create new bit-icon for font icons

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* find and replace current usage

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* add custom eslint warning

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix incorrect usage

* fix tests

* fix tests

* Update libs/components/src/svg/index.ts

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

* Update libs/eslint/components/no-bwi-class-usage.spec.mjs

Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>

* update component api

* update class name

* use icon type in iconButton component

* update type Icon --> BitSvg

* fix bad renames

* fix more renames

* fix bad input

* revert iconButton type

* fix lint

* fix more inputs

* misc fixes

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* fix test

* add eslint ignore

* fix lint

* add comparison story

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
2026-01-28 11:36:27 -05:00

45 lines
1.2 KiB
JavaScript

import { RuleTester } from "@typescript-eslint/rule-tester";
import rule, { errorMessage } from "./no-bwi-class-usage.mjs";
const ruleTester = new RuleTester({
languageOptions: {
parser: require("@angular-eslint/template-parser"),
},
});
ruleTester.run("no-bwi-class-usage", rule.default, {
valid: [
{
name: "should allow bit-icon component usage",
code: `<bit-icon icon="bwi-lock"></bit-icon>`,
},
{
name: "should allow elements without bwi classes",
code: `<div class="tw-flex tw-p-4"></div>`,
},
],
invalid: [
{
name: "should error on direct bwi class usage",
code: `<i class="bwi bwi-lock"></i>`,
errors: [{ message: errorMessage }],
},
{
name: "should error on bwi class with other classes",
code: `<i class="tw-flex bwi bwi-lock tw-p-2"></i>`,
errors: [{ message: errorMessage }],
},
{
name: "should error on single bwi-* class",
code: `<i class="bwi-lock"></i>`,
errors: [{ message: errorMessage }],
},
{
name: "should error on bwi-fw modifier",
code: `<i class="bwi bwi-lock bwi-fw"></i>`,
errors: [{ message: errorMessage }],
},
],
});