import { describe, expect, it } from 'vitest';
|
|
import {
|
convertToHsl,
|
convertToHslCssVar,
|
convertToRgb,
|
isValidColor,
|
} from '../convert';
|
|
describe('color conversion functions', () => {
|
it('should correctly convert color to HSL format', () => {
|
const color = '#ff0000';
|
const expectedHsl = 'hsl(0 100% 50%)';
|
expect(convertToHsl(color)).toEqual(expectedHsl);
|
});
|
|
it('should correctly convert color with alpha to HSL format', () => {
|
const color = 'rgba(255, 0, 0, 0.5)';
|
const expectedHsl = 'hsl(0 100% 50%) 0.5';
|
expect(convertToHsl(color)).toEqual(expectedHsl);
|
});
|
|
it('should correctly convert color to HSL CSS variable format', () => {
|
const color = '#ff0000';
|
const expectedHsl = '0 100% 50%';
|
expect(convertToHslCssVar(color)).toEqual(expectedHsl);
|
});
|
|
it('should correctly convert color with alpha to HSL CSS variable format', () => {
|
const color = 'rgba(255, 0, 0, 0.5)';
|
const expectedHsl = '0 100% 50% / 0.5';
|
expect(convertToHslCssVar(color)).toEqual(expectedHsl);
|
});
|
|
it('should correctly convert color to RGB CSS variable format', () => {
|
const color = 'hsl(284, 100%, 50%)';
|
const expectedRgb = 'rgb(187, 0, 255)';
|
expect(convertToRgb(color)).toEqual(expectedRgb);
|
});
|
|
it('should correctly convert color with alpha to RGBA CSS variable format', () => {
|
const color = 'hsla(284, 100%, 50%, 0.92)';
|
const expectedRgba = 'rgba(187, 0, 255, 0.92)';
|
expect(convertToRgb(color)).toEqual(expectedRgba);
|
});
|
});
|
|
describe('isValidColor', () => {
|
it('isValidColor function', () => {
|
// 测试有效颜色
|
expect(isValidColor('blue')).toBe(true);
|
expect(isValidColor('#000000')).toBe(true);
|
|
// 测试无效颜色
|
expect(isValidColor('invalid color')).toBe(false);
|
expect(isValidColor()).toBe(false);
|
});
|
});
|