use Test; plan 30; use CSS::Font::Descriptor; my CSS::Font::Descriptor $font-face .= new: :style("font-family:'Sans-serif'; src:url('/myfonts/serif.otf'); font-stretch:condensed"); is $font-face.module.name, '@fontface'; is $font-face.src, '/myfonts/serif.otf'; $font-face .= new: :style(q:to); font-family: MyGentium; src: local(Gentium), /* use locally available Gentium */ url(Gentium.woff); /* otherwise, download it */ END is $font-face.src[0].type, 'expr'; is $font-face.src[0][0], 'Gentium'; is $font-face.src[1].type, 'expr'; is $font-face.src[1][0], 'Gentium.woff'; is $font-face.src[1][0].type, 'url'; is $font-face.Str, "font-family:MyGentium; src:local(Gentium), url('Gentium.woff');"; $font-face .= new: :style(q:to); font-family: MyFont; src: local(MyFont) END is $font-face.src[0].type, 'expr'; is $font-face.src[0][0].type, 'local'; is $font-face.src[0][0], 'MyFont'; $font-face .= COERCE: q:to; font-family: MyFont; src: local(MyFont), url(MyFont.woff) format('woff'), url(MyFont.otf) format('opentype'); END is $font-face.src[0].type, 'expr'; is $font-face.src[0][0].type, 'local'; is $font-face.src[0][0], 'MyFont'; is $font-face.src[1].type, 'expr'; is $font-face.src[1][0], 'MyFont.woff'; is $font-face.src[1][0].type, 'url'; is $font-face.src[1][1], 'woff'; is $font-face.src[1][1].type, 'format'; is $font-face.src[2].type, 'expr'; is $font-face.src[2][0], 'MyFont.otf'; is $font-face.src[2][0].type, 'url'; is $font-face.src[2][1], 'opentype'; is $font-face.src[2][1].type, 'format'; is $font-face.Str, "font-family:MyFont; src:local(MyFont), url('MyFont.woff') format('woff'), url('MyFont.otf') format('opentype');"; $font-face .= new: :font-family, :src("local(bar)"); is $font-face.font-family, "Foo"; is $font-face.src[0].type, 'expr'; is $font-face.src[0][0].type, 'local'; is $font-face.src[0][0], 'bar'; is $font-face.Str, "font-family:Foo; src:local(bar);";