Blame view

node_modules/color-string/test/basic.js 5.2 KB
ce4c83ff   wxy   初始提交
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
  var string = require("../color-string"),
      assert = require("assert");
  
  
  assert.deepEqual(string.getRgba("#fef"), [255, 238, 255, 1]);
  assert.deepEqual(string.getRgba("#fffFEF"), [255, 255, 239,1]);
  assert.deepEqual(string.getRgba("rgb(244, 233, 100)"), [244, 233, 100, 1]);
  assert.deepEqual(string.getRgba("rgb(100%, 30%, 90%)"), [255, 77, 229, 1]);
  assert.deepEqual(string.getRgba("transparent"), [0, 0, 0, 0]);
  assert.deepEqual(string.getHsla("hsl(240, 100%, 50.5%)"), [240, 100, 50.5, 1]);
  assert.deepEqual(string.getHsla("hsl(240deg, 100%, 50.5%)"), [240, 100, 50.5, 1]);
  assert.deepEqual(string.getHwb("hwb(240, 100%, 50.5%)"), [240, 100, 50.5, 1]);
  assert.deepEqual(string.getHwb("hwb(240deg, 100%, 50.5%)"), [240, 100, 50.5, 1]);
  
  // with sign
  assert.deepEqual(string.getRgba("rgb(-244, +233, -100)"), [0, 233, 0, 1]);
  assert.deepEqual(string.getHsla("hsl(+240, 100%, 50.5%)"), [240, 100, 50.5, 1]);
  assert.deepEqual(string.getRgba("rgba(200, +20, -233, -0.0)"), [200, 20, 0, 0]);
  assert.deepEqual(string.getRgba("rgba(200, +20, -233, -0.0)"), [200, 20, 0, 0]);
  assert.deepEqual(string.getHsla("hsla(+200, 100%, 50%, -0.2)"), [200, 100, 50, 0]);
  assert.deepEqual(string.getHwb("hwb(+240, 100%, 50.5%)"), [240, 100, 50.5, 1]);
  assert.deepEqual(string.getHwb("hwb(-240deg, 100%, 50.5%)"), [0, 100, 50.5, 1]);
  assert.deepEqual(string.getHwb("hwb(-240deg, 100%, 50.5%, +0.6)"), [0, 100, 50.5, 0.6]);
  
  //subsequent return values should not change array
  assert.deepEqual(string.getRgba("blue"), [0, 0, 255, 1]);
  assert.deepEqual(string.getRgba("blue"), [0, 0, 255, 1]);
  
  assert.equal(string.getAlpha("rgb(244, 233, 100)"), 1);
  assert.equal(string.getAlpha("rgba(244, 233, 100, 0.5)"), 0.5);
  assert.equal(string.getAlpha("hsla(244, 100%, 100%, 0.6)"), 0.6);
  assert.equal(string.getAlpha("hwb(244, 100%, 100%, 0.6)"), 0.6);
  assert.equal(string.getAlpha("hwb(244, 100%, 100%)"), 1);
  
  // alpha
  assert.deepEqual(string.getRgba("rgba(200, 20, 233, 0.2)"), [200, 20, 233, 0.2]);
  assert.deepEqual(string.getRgba("rgba(200, 20, 233, 0)"), [200, 20, 233, 0]);
  assert.deepEqual(string.getRgba("rgba(100%, 30%, 90%, 0.2)"), [255, 77, 229, 0.2]);
  assert.deepEqual(string.getHsla("hsla(200, 20%, 33%, 0.2)"), [200, 20, 33, 0.2]);
  assert.deepEqual(string.getHwb("hwb(200, 20%, 33%, 0.2)"), [200, 20, 33, 0.2]);
  
  // no alpha
  assert.deepEqual(string.getRgb("#fef"), [255, 238, 255]);
  assert.deepEqual(string.getRgb("rgba(200, 20, 233, 0.2)"), [200, 20, 233]);
  assert.deepEqual(string.getHsl("hsl(240, 100%, 50.5%)"), [240, 100, 50.5]);
  assert.deepEqual(string.getRgba('rgba(0,0,0,0)'), [0, 0, 0, 0]);
  assert.deepEqual(string.getHsla('hsla(0,0%,0%,0)'), [0, 0, 0, 0]);
  assert.deepEqual(string.getHwb("hwb(400, 10%, 200%, 0)"), [360, 10, 100, 0]);
  
  // range
  assert.deepEqual(string.getRgba("rgba(300, 600, 100, 3)"), [255, 255, 100, 1]);
  assert.deepEqual(string.getRgba("rgba(8000%, 100%, 333%, 88)"), [255, 255, 255, 1]);
  assert.deepEqual(string.getHsla("hsla(400, 10%, 200%, 10)"), [360, 10, 100, 1]);
  assert.deepEqual(string.getHwb("hwb(400, 10%, 200%, 10)"), [360, 10, 100, 1]);
  
  // invalid
  assert.strictEqual(string.getRgba("yellowblue"), undefined);
  assert.strictEqual(string.getRgba("hsl(100, 10%, 10%)"), undefined);
  assert.strictEqual(string.getRgba("hwb(100, 10%, 10%)"), undefined);
  
  // generators
  assert.equal(string.hexString([255, 10, 35]), "#FF0A23");
  
  assert.equal(string.rgbString([255, 10, 35]), "rgb(255, 10, 35)");
  assert.equal(string.rgbString([255, 10, 35, 0.3]), "rgba(255, 10, 35, 0.3)");
  assert.equal(string.rgbString([255, 10, 35], 0.3), "rgba(255, 10, 35, 0.3)");
  assert.equal(string.rgbaString([255, 10, 35, 0.3]), "rgba(255, 10, 35, 0.3)");
  assert.equal(string.rgbaString([255, 10, 35], 0.3), "rgba(255, 10, 35, 0.3)");
  assert.equal(string.rgbaString([255, 10, 35]), "rgba(255, 10, 35, 1)");
  assert.equal(string.rgbaString([255, 10, 35, 0]), "rgba(255, 10, 35, 0)");
  
  assert.equal(string.percentString([255, 10, 35]), "rgb(100%, 4%, 14%)");
  assert.equal(string.percentString([255, 10, 35, 0.3]), "rgba(100%, 4%, 14%, 0.3)");
  assert.equal(string.percentString([255, 10, 35], 0.3), "rgba(100%, 4%, 14%, 0.3)");
  assert.equal(string.percentaString([255, 10, 35, 0.3]), "rgba(100%, 4%, 14%, 0.3)");
  assert.equal(string.percentaString([255, 10, 35], 0.3), "rgba(100%, 4%, 14%, 0.3)");
  assert.equal(string.percentaString([255, 10, 35]), "rgba(100%, 4%, 14%, 1)");
  
  assert.equal(string.hslString([280, 40, 60]), "hsl(280, 40%, 60%)");
  assert.equal(string.hslString([280, 40, 60, 0.3]), "hsla(280, 40%, 60%, 0.3)");
  assert.equal(string.hslString([280, 40, 60], 0.3), "hsla(280, 40%, 60%, 0.3)");
  assert.equal(string.hslaString([280, 40, 60, 0.3]), "hsla(280, 40%, 60%, 0.3)");
  assert.equal(string.hslaString([280, 40, 60], 0.3), "hsla(280, 40%, 60%, 0.3)");
  assert.equal(string.hslaString([280, 40, 60], 0), "hsla(280, 40%, 60%, 0)");
  assert.equal(string.hslaString([280, 40, 60]), "hsla(280, 40%, 60%, 1)");
  
  assert.equal(string.hwbString([280, 40, 60]), "hwb(280, 40%, 60%)");
  assert.equal(string.hwbString([280, 40, 60, 0.3]), "hwb(280, 40%, 60%, 0.3)");
  assert.equal(string.hwbString([280, 40, 60], 0.3), "hwb(280, 40%, 60%, 0.3)");
  assert.equal(string.hwbString([280, 40, 60], 0), "hwb(280, 40%, 60%, 0)");
  
  assert.equal(string.keyword([255, 255, 0]), "yellow");
  assert.equal(string.keyword([100, 255, 0]), undefined);