Harness status: OK Found 233 tests 227 Pass 6 Fail Pass abs(1) should be used-value-equivalent to 1 Pass sign(1) should be used-value-equivalent to 1 Pass abs(-1) should be used-value-equivalent to 1 Pass sign(-1) should be used-value-equivalent to -1 Pass abs(sign(1)) should be used-value-equivalent to 1 Pass abs(sign(sign(1))) should be used-value-equivalent to 1 Pass sign(sign(sign(1) + sign(1))) should be used-value-equivalent to 1 Pass calc(abs(0.1 + 0.2) + 0.05) should be used-value-equivalent to 0.35 Pass calc(sign(0.1 + 0.2) - 0.05) should be used-value-equivalent to 0.95 Pass calc(abs(0.1 + 0.2) * 2) should be used-value-equivalent to 0.6 Pass calc(abs(sign(0.1) + 0.2) / 2) should be used-value-equivalent to 0.6 Pass calc(abs(0.1 + 0.2) * -2) should be used-value-equivalent to -0.6 Pass calc(sign(0.1 - 0.2) - 0.05) should be used-value-equivalent to -1.05 Pass calc(sign(1) + sign(1) - 0.05) should be used-value-equivalent to 1.95 Pass abs(10px) should be used-value-equivalent to 10px Pass abs(10%) should be used-value-equivalent to 10px Pass abs(10px + 10%) should be used-value-equivalent to 20px Pass calc(10px + abs(10%)) should be used-value-equivalent to 20px Pass abs(-10px) should be used-value-equivalent to 10px Pass abs(-10%) should be used-value-equivalent to 10px Pass calc((1em + 1px) * (sign(1em - 10px - 10%) + 1)) should be used-value-equivalent to 21px Pass calc(calc(sign(-0))) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(calc(sign(-0)))), 1) should be used-value-equivalent to -1 Pass calc(calc(sign(0))) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(calc(sign(0)))), 1) should be used-value-equivalent to 1 Pass abs(infinity) should be used-value-equivalent to calc(infinity) Pass abs(-infinity) should be used-value-equivalent to calc(infinity) Pass abs(NaN) should be used-value-equivalent to calc(NaN) Pass calc(20 - abs(-10)) should be used-value-equivalent to 10 Pass calc(20 - abs(10)) should be used-value-equivalent to 10 Pass calc(10 - abs(10 - abs(-30)) should be used-value-equivalent to -10 Pass calc(2 - sign(1)) should be used-value-equivalent to 1 Pass calc(2 - sign(-1)) should be used-value-equivalent to 3 Pass calc(2 - sign(1 - sign(-1))) should be used-value-equivalent to 1 Pass calc(10 - abs(20 - sign(2 - abs(-20)))) should be used-value-equivalent to -11 Pass sign(1px) should be used-value-equivalent to 1 Pass sign(1cm) should be used-value-equivalent to 1 Pass sign(1mm) should be used-value-equivalent to 1 Pass sign(1Q) should be used-value-equivalent to 1 Pass sign(1in) should be used-value-equivalent to 1 Pass sign(1pc) should be used-value-equivalent to 1 Pass sign(1pt) should be used-value-equivalent to 1 Pass sign(1em) should be used-value-equivalent to 1 Pass sign(1ex) should be used-value-equivalent to 1 Pass sign(1ch) should be used-value-equivalent to 1 Pass sign(1rem) should be used-value-equivalent to 1 Pass sign(1vh) should be used-value-equivalent to 1 Pass sign(1vw) should be used-value-equivalent to 1 Pass sign(1vmin) should be used-value-equivalent to 1 Pass sign(1vmax) should be used-value-equivalent to 1 Pass sign(-1px) should be used-value-equivalent to -1 Pass sign(-1cm) should be used-value-equivalent to -1 Pass sign(-1mm) should be used-value-equivalent to -1 Pass sign(-1Q) should be used-value-equivalent to -1 Pass sign(-1in) should be used-value-equivalent to -1 Pass sign(-1pc) should be used-value-equivalent to -1 Pass sign(-1pt) should be used-value-equivalent to -1 Pass sign(-1em) should be used-value-equivalent to -1 Pass sign(-1ex) should be used-value-equivalent to -1 Pass sign(-1ch) should be used-value-equivalent to -1 Pass sign(-1rem) should be used-value-equivalent to -1 Pass sign(-1vh) should be used-value-equivalent to -1 Pass sign(-1vw) should be used-value-equivalent to -1 Pass sign(-1vmin) should be used-value-equivalent to -1 Pass sign(-1vmax) should be used-value-equivalent to -1 Pass sign(1s) should be used-value-equivalent to 1 Pass sign(1ms) should be used-value-equivalent to 1 Pass sign(-1s) should be used-value-equivalent to -1 Pass sign(-1ms) should be used-value-equivalent to -1 Pass sign(1deg) should be used-value-equivalent to 1 Pass sign(1grad) should be used-value-equivalent to 1 Pass sign(1rad) should be used-value-equivalent to 1 Pass sign(1turn) should be used-value-equivalent to 1 Pass sign(-1deg) should be used-value-equivalent to -1 Pass sign(-1grad) should be used-value-equivalent to -1 Pass sign(-1rad) should be used-value-equivalent to -1 Pass sign(-1turn) should be used-value-equivalent to -1 Pass calc(sign(0px)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0px))), 1) should be used-value-equivalent to 1 Pass calc(sign(0cm)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0cm))), 1) should be used-value-equivalent to 1 Pass calc(sign(0mm)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0mm))), 1) should be used-value-equivalent to 1 Pass calc(sign(0Q)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0Q))), 1) should be used-value-equivalent to 1 Pass calc(sign(0in)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0in))), 1) should be used-value-equivalent to 1 Pass calc(sign(0pc)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0pc))), 1) should be used-value-equivalent to 1 Pass calc(sign(0pt)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0pt))), 1) should be used-value-equivalent to 1 Pass calc(sign(0em)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0em))), 1) should be used-value-equivalent to 1 Pass calc(sign(0ex)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0ex))), 1) should be used-value-equivalent to 1 Pass calc(sign(0ch)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0ch))), 1) should be used-value-equivalent to 1 Pass calc(sign(0rem)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0rem))), 1) should be used-value-equivalent to 1 Pass calc(sign(0vh)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0vh))), 1) should be used-value-equivalent to 1 Pass calc(sign(0vw)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0vw))), 1) should be used-value-equivalent to 1 Pass calc(sign(0vmin)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0vmin))), 1) should be used-value-equivalent to 1 Pass calc(sign(0vmax)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0vmax))), 1) should be used-value-equivalent to 1 Pass calc(sign(-0px)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0px))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0cm)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0cm))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0mm)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0mm))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0Q)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0Q))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0in)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0in))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0pc)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0pc))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0pt)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0pt))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0em)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0em))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0ex)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0ex))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0ch)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0ch))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0rem)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0rem))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0vh)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0vh))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0vw)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0vw))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0vmin)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0vmin))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0vmax)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0vmax))), 1) should be used-value-equivalent to -1 Pass calc(sign(0s)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0s))), 1) should be used-value-equivalent to 1 Pass calc(sign(0ms)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0ms))), 1) should be used-value-equivalent to 1 Pass calc(sign(-0s)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0s))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0ms)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0ms))), 1) should be used-value-equivalent to -1 Pass calc(sign(0deg)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0deg))), 1) should be used-value-equivalent to 1 Pass calc(sign(0grad)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0grad))), 1) should be used-value-equivalent to 1 Pass calc(sign(0rad)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0rad))), 1) should be used-value-equivalent to 1 Pass calc(sign(0turn)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0turn))), 1) should be used-value-equivalent to 1 Pass calc(sign(-0deg)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0deg))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0grad)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0grad))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0rad)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0rad))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0turn)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(-0turn))), 1) should be used-value-equivalent to -1 Pass abs(1px) should be used-value-equivalent to 1px Pass abs(1cm) should be used-value-equivalent to 1cm Pass abs(1mm) should be used-value-equivalent to 1mm Pass abs(1Q) should be used-value-equivalent to 1Q Pass abs(1in) should be used-value-equivalent to 1in Pass abs(1pc) should be used-value-equivalent to 1pc Pass abs(1pt) should be used-value-equivalent to 1pt Pass abs(1em) should be used-value-equivalent to 1em Pass abs(1ex) should be used-value-equivalent to 1ex Pass abs(1ch) should be used-value-equivalent to 1ch Pass abs(1rem) should be used-value-equivalent to 1rem Pass abs(1vh) should be used-value-equivalent to 1vh Pass abs(1vw) should be used-value-equivalent to 1vw Pass abs(1vmin) should be used-value-equivalent to 1vmin Pass abs(1vmax) should be used-value-equivalent to 1vmax Pass abs(-1px) should be used-value-equivalent to 1px Pass abs(-1cm) should be used-value-equivalent to 1cm Pass abs(-1mm) should be used-value-equivalent to 1mm Pass abs(-1Q) should be used-value-equivalent to 1Q Pass abs(-1in) should be used-value-equivalent to 1in Pass abs(-1pc) should be used-value-equivalent to 1pc Pass abs(-1pt) should be used-value-equivalent to 1pt Pass abs(-1em) should be used-value-equivalent to 1em Pass abs(-1ex) should be used-value-equivalent to 1ex Pass abs(-1ch) should be used-value-equivalent to 1ch Pass abs(-1rem) should be used-value-equivalent to 1rem Pass abs(-1vh) should be used-value-equivalent to 1vh Pass abs(-1vw) should be used-value-equivalent to 1vw Pass abs(-1vmin) should be used-value-equivalent to 1vmin Pass abs(-1vmax) should be used-value-equivalent to 1vmax Pass abs(1s) should be used-value-equivalent to 1s Pass abs(1ms) should be used-value-equivalent to 1ms Pass abs(-1s) should be used-value-equivalent to 1s Pass abs(-1ms) should be used-value-equivalent to 1ms Pass abs(1deg) should be used-value-equivalent to 1deg Pass abs(1grad) should be used-value-equivalent to 1grad Pass abs(1rad) should be used-value-equivalent to 1rad Pass abs(1turn) should be used-value-equivalent to 1turn Pass abs(-1deg) should be used-value-equivalent to 1deg Pass abs(-1grad) should be used-value-equivalent to 1grad Pass abs(-1rad) should be used-value-equivalent to 1rad Pass abs(-1turn) should be used-value-equivalent to 1turn Pass sign(10px - 1em) should be used-value-equivalent to 0; fontSize=10px Pass sign(10px - 2em) should be used-value-equivalent to -1; fontSize=10px Pass calc(sign(10%) * 100px) should be used-value-equivalent to 100px Pass calc(2.5 - sign(41px - 2em) / 2) should be used-value-equivalent to 2 Pass calc(2.5 - sign(40px - 2em) / 2) should be used-value-equivalent to 2.5 Pass calc(2.5 - sign(39px - 2em) / 2) should be used-value-equivalent to 3 Pass calc(3 + sign(42px - 2em)) should be used-value-equivalent to 4 Pass calc(3 + sign(40px - 2em)) should be used-value-equivalent to 3 Pass calc(3 + sign(38px - 2em)) should be used-value-equivalent to 2 Pass calc(50px + 100px * sign(42px - 2em)) should be used-value-equivalent to 150px Pass calc(50px + 100px * sign(40px - 2em)) should be used-value-equivalent to 50px Pass calc(50px + 100px * sign(38px - 2em)) should be used-value-equivalent to -50px Pass calc(90deg + 30deg * sign(42px - 2em)) should be used-value-equivalent to 120deg Pass calc(90deg + 30deg * sign(40px - 2em)) should be used-value-equivalent to 90deg Pass calc(90deg + 30deg * sign(38px - 2em)) should be used-value-equivalent to 60deg Pass calc(5s + 15s * sign(42px - 2em)) should be used-value-equivalent to 20s Pass calc(5s + 15s * sign(40px - 2em)) should be used-value-equivalent to 5s Pass calc(5s + 15s * sign(38px - 2em)) should be used-value-equivalent to -10s Fail calc(100dpi + 20dpi * sign(42px - 2em)) should be used-value-equivalent to 120dpi Fail calc(100dpi + 20dpi * sign(40px - 2em)) should be used-value-equivalent to 100dpi Fail calc(100dpi + 20dpi * sign(38px - 2em)) should be used-value-equivalent to 80dpi Fail calc(3fr + 1fr * sign(42px - 2em)) should be used-value-equivalent to 4fr Fail calc(3fr + 1fr * sign(40px - 2em)) should be used-value-equivalent to 3fr Fail calc(3fr + 1fr * sign(38px - 2em)) should be used-value-equivalent to 2fr Pass calc(2.5 - sign(33px - 2rem) / 2) should be used-value-equivalent to 2 Pass calc(2.5 - sign(32px - 2rem) / 2) should be used-value-equivalent to 2.5 Pass calc(2.5 - sign(31px - 2rem) / 2) should be used-value-equivalent to 3 Pass calc(50px + 100px * sign(34px - 2rem)) should be used-value-equivalent to 150px Pass calc(50px + 100px * sign(32px - 2rem)) should be used-value-equivalent to 50px Pass calc(50px + 100px * sign(30px - 2rem)) should be used-value-equivalent to -50px