@@ -19,30 +19,38 @@ describe('postcss-local-vars', function () {
1919 } ) ;
2020
2121 it ( 'replaces variables in values' , function ( done ) {
22- test ( 'a{color: import local.green from "./ test/vars.css"}' , ' a{color: #8EE7D3}', { } , done ) ;
22+ test ( '~colors: "test/vars.json"; a{color: primary from ~colors;}' , '~colors: " test/vars.json"; a{color: #8EE7D3; }', { } , done ) ;
2323 } ) ;
2424
25- it ( 'replaces variables in values with semi-colons' , function ( done ) {
26- test ( 'a{color: import local.green from "./ test/vars.css";}' , 'a{ color: #8EE7D3; }', { } , done ) ;
25+ it ( 'replaces variables in values without semi-colons' , function ( done ) {
26+ test ( '~colors: "test/vars.json"; a{background: blue; color: primary from ~colors}' , '~colors: " test/vars.json"; a{background: blue; color: #8EE7D3}', { } , done ) ;
2727 } ) ;
2828
2929 it ( 'replaces variables in values with single quotes' , function ( done ) {
30- test ( 'a{color: import local.green from \'./ test/vars.css \';}' , ' a{color: #8EE7D3;}', { } , done ) ;
30+ test ( '~colors: \'test/vars.json\'; a{color: primary from ~colors;}' , '~colors: \' test/vars.json \'; a{color: #8EE7D3;}', { } , done ) ;
3131 } ) ;
3232
3333 it ( 'replaces variables at start of value' , function ( done ) {
34- test ( 'a{border: import local.borderWeight from "./ test/vars.css" solid #8EE7D3;}' , 'a{border: 2px solid #8EE7D3;}' , { } , done ) ;
34+ test ( '~borders: " test/vars.json"; a{border: weight from ~borders solid #8EE7D3;}' , '~borders: "test/vars.json"; a{border: 2px solid #8EE7D3;}' , { } , done ) ;
3535 } ) ;
3636
3737 it ( 'replaces variables in middle of value' , function ( done ) {
38- test ( 'a{border: 2px import local.borderStyle from "./test/vars.css" #8EE7D3;}' , 'a{border: 2px solid #8EE7D3;}' , { } , done ) ;
38+ test ( '~borders: "test/vars.json"; a{border: 2px style from ~borders #8EE7D3;}' , '~borders: "test/vars.json"; a{border: 2px solid #8EE7D3;}' , { } , done ) ;
3939 } ) ;
4040
4141 it ( 'replaces variables at end of value' , function ( done ) {
42- test ( 'a{border: 2px solid import local.green from "./ test/vars.css";}' , ' a{border: 2px solid #8EE7D3;}', { } , done ) ;
42+ test ( '~colors: "test/vars.json"; a{border: 2px solid primary from ~colors;}' , '~colors: " test/vars.json"; a{border: 2px solid #8EE7D3;}', { } , done ) ;
4343 } ) ;
4444
4545 it ( 'replaces variables in @ rules' , function ( done ) {
46- test ( '@media (max-width: import local.mediaQuery from "./test/vars.css") {color: red;}' , '@media (max-width: 200px) {color: red;}' , { } , done ) ;
46+ test ( '~queries: "test/vars.json"; @media (max-width: maxWidth from ~queries) {color: red;}' , '~queries: "test/vars.json"; @media (max-width: 200px) {color: red;}' , { } , done ) ;
47+ } ) ;
48+
49+ it ( 'multiple sources' , function ( done ) {
50+ test ( '~colors: "test/vars.json"; ~borders: "test/vars.json"; a{color: primary from ~colors; border: 2px style from ~borders black}' , '~colors: "test/vars.json"; ~borders: "test/vars.json"; a{color: #8EE7D3; border: 2px solid black}' , { } , done ) ;
51+ } ) ;
52+
53+ it ( 'multiple variables in a single value' , function ( done ) {
54+ test ( '~borders: "test/vars.json"; a{border: weight from ~borders style from ~borders black}' , '~borders: "test/vars.json"; a{border: 2px solid black}' , { } , done ) ;
4755 } ) ;
4856} ) ;
0 commit comments