@@ -50,20 +50,25 @@ test('repeated values', t => {
5050 return run ( t , input , output , optDefault ) ;
5151} ) ;
5252
53- test ( 'option "onlyColor"' , t => {
53+ /** *************Color types*********************** **/
54+ test ( 'HSL' , t => {
55+ let input = `.foo {
56+ border: 1px solid hsl(120,100%,50%, 0.5);
57+ }` ;
58+ let output = `:root {
59+ --border-1: hsl(120,100%,50%, 0.5);\n}\n.foo {
60+ border: 1px solid var(--border-1);
61+ }` ;
62+ return run ( t , input , output , { onlyColor : true } ) ;
63+ } ) ;
64+
65+ test ( 'HSLA' , t => {
5466 let input = `.foo {
55- color: #000;
5667 border: 1px solid hsla(120,100%,50%, 0.5);
57- width: 10px;
58- display: block;
5968 }` ;
6069 let output = `:root {
61- --color-1: #000;
6270 --border-1: hsla(120,100%,50%, 0.5);\n}\n.foo {
63- color: var(--color-1);
6471 border: 1px solid var(--border-1);
65- width: 10px;
66- display: block;
6772 }` ;
6873 return run ( t , input , output , { onlyColor : true } ) ;
6974} ) ;
@@ -79,6 +84,52 @@ test('color keyword', t => {
7984 return run ( t , input , output , { onlyColor : true } ) ;
8085} ) ;
8186
87+ test ( 'RGB' , t => {
88+ let input = `.foo {
89+ border: 1px solid rgb(120, 100, 50);
90+ }` ;
91+ let output = `:root {
92+ --border-1: rgb(120, 100, 50);\n}\n.foo {
93+ border: 1px solid var(--border-1);
94+ }` ;
95+ return run ( t , input , output , { onlyColor : true } ) ;
96+ } ) ;
97+
98+ test ( 'RGBA' , t => {
99+ let input = `.foo {
100+ border: 1px solid rgba(120, 100, 50, 0.4);
101+ }` ;
102+ let output = `:root {
103+ --border-1: rgba(120, 100, 50, 0.4);\n}\n.foo {
104+ border: 1px solid var(--border-1);
105+ }` ;
106+ return run ( t , input , output , { onlyColor : true } ) ;
107+ } ) ;
108+
109+ test ( 'short hex' , t => {
110+ let input = `.foo {
111+ border: 1px solid #000;
112+ }` ;
113+ let output = `:root {
114+ --border-1: #000;\n}\n.foo {
115+ border: 1px solid var(--border-1);
116+ }` ;
117+ return run ( t , input , output , { onlyColor : true } ) ;
118+ } ) ;
119+
120+ test ( 'long hex' , t => {
121+ let input = `.foo {
122+ border: 1px solid #101113;
123+ }` ;
124+ let output = `:root {
125+ --border-1: #101113;\n}\n.foo {
126+ border: 1px solid var(--border-1);
127+ }` ;
128+ return run ( t , input , output , { onlyColor : true } ) ;
129+ } ) ;
130+
131+ /** ************************************************** **/
132+
82133test ( 'exist root element' , t => {
83134 let input = `:root {
84135 --base-font-size: 16px;
0 commit comments