UNPKG

gulp-px2rem-converter

Version:

Gulp plugin. Converts all properties in pixels to rem, also converts all media in pixels in em

36 lines (30 loc) 1.6 kB
const replace = require('../dist/replace'); const remToEm = /rem+[ \)|\)|\)\n]+{/ig; const em = 'em){'; const rems = ['rem','Rem','REM']; const units = ['vw','vh','%','vmax','vmin']; const coficients = [8,10,12,16,20,22,30,32,40,42]; const mediaParams = ['min-width','max-width','min-height','max-height','width','height']; for(let i = 20; i < 120; i+=10){ mediaParams.forEach(mediaparam=>{ coficients.forEach(cof=>{ rems.forEach(rem=>{ test(`replace em into ${i}${rem} coficient ${cof} in ${mediaparam}`,()=>{ expect(replace(`@media(${mediaparam}:${i}${rem}){}`, cof).replace(remToEm,em)).toBe(`@media(${mediaparam}:${i}em){}`); }); }); test(`return ${i}em is ${i}em coficient ${cof} in ${mediaparam}`,()=>{ expect(replace(`@media(${mediaparam}:${i}em){}`,cof).replace(remToEm,em)).toBe(`@media(${mediaparam}:${i}em){}`); }); test(`return ${i}em is ${i}em coficient ${cof} if many media in ${mediaparam}`,()=>{ const media = `@media(${mediaparam}:${i}em){}@media(min-width:${i*2}em){}@media(max-width:${i*3}em){}`; expect(replace(media,cof).replace(remToEm,em)).toBe(media); }); units.forEach(unit=>{ test(`return default ${i}${unit} coficient ${cof} in ${mediaparam}`,()=>{ expect(replace(`@media(${mediaparam}:${i}${unit}){}`,cof).replace(remToEm, em)).toBe(`@media(${mediaparam}:${i}${unit}){}`); }); }); }); }); }