| <meta charset="utf-8"> |
| <title>CSSNumericValue.equals tests</title> |
| <link rel="help" href="https://drafts.css-houdini.org/css-typed-om-1/#dom-cssnumericvalue-equals"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="../../resources/testhelper.js"></script> |
| <script> |
| 'use strict'; |
| |
| test(() => { |
| assert_true(CSS.px(1).equals(CSS.px(1))); |
| }, 'Two CSSUnitValues with same value and unit are equal'); |
| |
| test(() => { |
| assert_false(CSS.px(0).equals(CSS.px(1))); |
| }, 'Two CSSUnitValues with different values are not equal'); |
| |
| test(() => { |
| assert_false(CSS.px(1).equals(CSS.number(1))); |
| }, 'Two CSSUnitValues with different units are not equal'); |
| |
| test(() => { |
| const a = new CSSMathSum(0, new CSSMathNegate(0)); |
| const b = new CSSMathProduct(0, new CSSMathNegate(0)); |
| assert_false(a.equals(b)); |
| }, 'Two CSSMathValues with different types are not equal'); |
| |
| test(() => { |
| const a = new CSSMathSum(0, new CSSMathNegate(0)); |
| const b = new CSSMathSum(0); |
| assert_false(a.equals(b)); |
| }, 'Two CSSMathValues with different number of values are not equal'); |
| |
| test(() => { |
| const a = new CSSMathSum(0, new CSSMathNegate(0)); |
| const b = new CSSMathSum(0, new CSSMathNegate(1)); |
| assert_false(a.equals(b)); |
| }, 'Two CSSMathValues with different values are not equal'); |
| |
| test(() => { |
| const a = new CSSMathSum(0, new CSSMathNegate(0)); |
| const b = new CSSMathSum(0, new CSSMathNegate(0)); |
| assert_true(a.equals(b)); |
| }, 'Two CSSMathValues with same structure are equal'); |
| |
| test(() => { |
| const a = new CSSMathSum(0, new CSSMathNegate(0)); |
| const b = new CSSMathSum(0, new CSSMathNegate(0)); |
| const c = new CSSMathSum(0, new CSSMathNegate(0)); |
| const d = new CSSMathSum(0, new CSSMathNegate(0)); |
| assert_true(a.equals(b, c, d)); |
| }, 'Multiple CSSMathValues with same structure are equal'); |
| |
| test(() => { |
| const a = new CSSMathSum(0, new CSSMathNegate(0)); |
| const b = new CSSMathSum(0, new CSSMathNegate(0)); |
| const c = new CSSMathSum(0, new CSSMathNegate(1)); |
| const d = new CSSMathSum(0, new CSSMathNegate(0)); |
| assert_false(a.equals(b, c, d)); |
| }, 'Multiple CSSMathValues with one different are not equal'); |
| |
| test(() => { |
| const a = new CSSMathClamp(1, 2, 3); |
| const b = new CSSMathClamp(CSS.number(1), CSS.number(2), CSS.number(3)); |
| assert_true(a.equals(b)); |
| }, 'Two CSSMathClamp with same value and unit are equal'); |
| |
| test(() => { |
| const a = new CSSMathClamp(1, 2, 3); |
| const b = new CSSMathClamp(CSS.px(1), CSS.px(2), CSS.px(3)); |
| assert_false(a.equals(b)); |
| }, 'Two CSSMathClamp with different units are not equal'); |
| |
| </script> |