车间能级提升-智能设备管理系统
朱桂飞
2025-01-09 3e8f7f239bedae0b4f04a1ac6bd443ba6298f73c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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);
  });
});