blob: 46142ba5a6b3fdc43bcb04b536078dbf237b3021 [file] [log] [blame]
PASS setTransform({a: 1, m11: 2}) (invalid)
PASS addPath({a: 1, m11: 2}) (invalid)
PASS setTransform({b: 0, m12: -1}) (invalid)
PASS addPath({b: 0, m12: -1}) (invalid)
PASS setTransform({c: Infinity, m21: -Infinity}) (invalid)
PASS addPath({c: Infinity, m21: -Infinity}) (invalid)
PASS setTransform({d: 0, m22: NaN}) (invalid)
PASS addPath({d: 0, m22: NaN}) (invalid)
PASS setTransform({e: 1, m41: 1.00000001}) (invalid)
PASS addPath({e: 1, m41: 1.00000001}) (invalid)
PASS setTransform({f: 0, m42: 5e-324}) (invalid)
PASS addPath({f: 0, m42: 5e-324}) (invalid)
PASS setTransform (Sanity check without dictionary)
PASS addPath (Sanity check without second parameter)
PASS setTransform({m13: 1, is2D: true})
PASS addPath({m13: 1, is2D: true})
PASS setTransform({m14: 1, is2D: true})
PASS addPath({m14: 1, is2D: true})
PASS setTransform({m23: 1, is2D: true})
PASS addPath({m23: 1, is2D: true})
PASS setTransform({m24: 1, is2D: true})
PASS addPath({m24: 1, is2D: true})
PASS setTransform({m31: 1, is2D: true})
PASS addPath({m31: 1, is2D: true})
PASS setTransform({m32: 1, is2D: true})
PASS addPath({m32: 1, is2D: true})
PASS setTransform({m33: 0, is2D: true})
PASS addPath({m33: 0, is2D: true})
PASS setTransform({m33: -0, is2D: true})
PASS addPath({m33: -0, is2D: true})
PASS setTransform({m33: -1, is2D: true})
PASS addPath({m33: -1, is2D: true})
PASS setTransform({m34: 1, is2D: true})
PASS addPath({m34: 1, is2D: true})
PASS setTransform({m43: 1, is2D: true})
PASS addPath({m43: 1, is2D: true})
PASS setTransform({m44: 0, is2D: true})
PASS addPath({m44: 0, is2D: true})
PASS setTransform({})
PASS addPath({})
PASS setTransform({is2D: undefined})
PASS addPath({is2D: undefined})
PASS setTransform({a: 1, m11: 1})
PASS addPath({a: 1, m11: 1})
PASS setTransform({b: 0, m12: undefined})
PASS addPath({b: 0, m12: undefined})
PASS setTransform({c: 0, m21: 0})
PASS addPath({c: 0, m21: 0})
FAIL setTransform({c: 0, m21: -0}) assert_equals: m21 expected -0 but got 0
PASS addPath({c: 0, m21: -0})
PASS setTransform({c: -0, m21: 0})
PASS addPath({c: -0, m21: 0})
FAIL setTransform({c: -0, m21: -0}) assert_equals: m21 expected -0 but got 0
PASS addPath({c: -0, m21: -0})
PASS setTransform({d: Infinity, m22: Infinity})
PASS addPath({d: Infinity, m22: Infinity})
PASS setTransform({e: -Infinity, m41: -Infinity})
PASS addPath({e: -Infinity, m41: -Infinity})
PASS setTransform({f: NaN, m42: NaN})
PASS addPath({f: NaN, m42: NaN})
PASS setTransform({f: NaN, m42: NaN, is2D: true})
PASS addPath({f: NaN, m42: NaN, is2D: true})
PASS setTransform({f: 0, m42: null})
PASS addPath({f: 0, m42: null})
PASS setTransform({f: -0, m42: null})
PASS addPath({f: -0, m42: null})
PASS setTransform({a: 2})
PASS addPath({a: 2})
PASS setTransform({b: 2})
FAIL addPath({b: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABbZJREFUeAHt1utuEzEQgNECz8hLwvvwOJSOQqQ2ymW9idcz9uEP6iW7M8dW9b29+UeAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhkF/iZfUDzESBQU+B7h7H9weqA6pEECPQReP94rD9afWw9lcDSAj0KK0D9wVr6WlmeQB2BKCyVVee8TEqgjECvwgoAlVXmGhiUwLoC58JSWeveAZsT6CLQs7BiYJXV5dg8lACBVwl8LiyV9SpVzyFA4K13YQWxynLRCBBIK3BZWCor7VEZjEAtgSMKK0RUVq17YVoCywhcKyyVtczxW5RAP4GjCis2UFn9ztGTCRDYKXCrsFTWTlAfI0DgJHBkYcUbVZabR4BAKoF7haWyUh2VYQjUEji6sEJHZdW6I6YlMLXAo8JSWVMfv+UI9BMYUVixjcrqd6aeTIBAg8CWwlJZDaB+lQCBk8Cowoq3qyy3kACB4QJbC0tlDT8qAxCoJTCysEJKZdW6L6YlMJ1AS2GprOmO30IE+gmMLqzYTGX1O19PJkDggUBrYamsB6B+TIDASSBDYcUkKsuNJEBgiMCewlJZQ47KSwnUEshSWKGmsmrdHdMSmELg18cWKmuKo7QEgVwCPQrr9xMrqqwn8HyUAIF9Aiprn5tPESBwR6BHYcXrVNYddD8iQCCfgMrKdyYmIlBaoFdhBYrKKn01DE9gPQGVtd6Z25hAN4GehRVDq6xuR+fBBAj0EFBZPVQ9k8CCAr0LK0hV1oIXy8oEKguorMqnZ3YCSQSOKKxYVWUlOXBjECCwTUBlbXPyWwQI3BA4qrDi9SrrxiH4NgECOQVUVs5zMRWBEgJHFlaAqKwS18KQBAicBVTWWcL/BAg0CRxdWDGcymo6Ir9MgMBoAZU1+gS8n0BBgRGFFUwqq+BlMTKBlQVU1sqnb3cCOwRGFVaMqrJ2HJiPECAwTkBljbP3ZgLlBEYWVmCprHJXxsAE1hZQWWufv+0JbBYYXVgxqMrafFx+kQCBDAIqK8MpmIFAcoEMhRVEKiv5RTEeAQJfBVTWVw9fESBwIZClsGIslXVxOL4kQCC3wN7K+pt7LdMRIPAKgUyFFfvsraxvr8DwDAIECLQK7K2s1vf4fQIEiglkK6zg21tZxeiNS4DALAJ7KmuW3e1BgMANgYyFFaOqrBsH5tsECOQUaK2snFuYigCBlwlkLaxYUGW97Jg9iACBIwRaKuuIebyDAIGBApkLK1hU1sDL4dUECLQLbK2s9if7BAECpQSyF1ZgqqxSV8qwBAhsqSxKBAhMLlChsOIIVNbkF9F6BGYTeFRZs+1rHwIELgSqFFaMrbIuDs+XBAjkFrhXWbknNx0BAk8LVCqsWFZlPX3kHkCAwJECtyrryBm8iwCBAQLVCiuIVNaAi+KVBAjsF7hWWfuf5pMECJQQqFhYAauySlwvQxIgcBa4rKzz9/1PgMCkAlULK45DZU16Ka1FYFaBz5U16472IkDgv0DlwooVVJarTIBAKYFzZZUa2rAECLQLVC+s2Dgq6719dZ8gQIDAGIGoLP8IEJhc4MdE+/2ZaBerECBwReAfzbLf0y0P4FYAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABUJJREFUeAHt1kuOG1EIBdBI2Rg7z1aSlSR4YMmy/KkiUoOb40n3BAGnntD98cOPAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQmC4Q0wc0HwECBK4Cv67/+EuAAIHpAn9zwJg+pPkIECBwEbgcLCnLWyBA4CMELgdLyvqIT2VIAgSuB0vK8hYIEBgvcD1YUtb4T2VAAgRuD5aU5T0QIDBa4PZgSVmjP5XhCBC4P1hSljdBgMBYgfuDJWWN/VQGI0Dg0cGSsrwLAgRGCjw6WFLWyE9lKAIEnh0sKcvbIEBgnMCzgyVljftUBiJA4NXBkrK8DwIERgm8OlhS1qhPZRgCBN4dLCnLGyFAYIzAu4MlZY35VAYhQODIwZKyvBMCBEYIHDlYUtaIT2UIAgSOHiwpy1shQKBd4OjBkrLaP5UBCBA4c7CkLO+FAIFWgTMHS8pq/VSaEyBw9mBJWd4MAQJtAmcPlpTV9qk0JkCgcrCkLO+GAIEWgcrBkrJaPpWmBAhUD5aU5e0QIPDlApfDUz1a8eXTakiAwGqByO2rB0vKWv10LE+gR0DK6nHXlQCBgkBkjZRVgFNCgECPgJTV464rAQIFgcgaKasAp4QAgR4BKavHXVcCBAoCkTVSVgFOCQECPQJSVo+7rgQIFAQia6SsApwSAgR6BKSsHnddCRAoCETWSFkFOCUECPQISFk97roSIFAQiKyRsgpwSggQ6BGQsnrcdSVAoCAQWSNlFeCUECDQIyBl9bjrSoBAQSCyRsoqwCkhQKBHQMrqcdeVAIGCQGSNlFWAU0KAQI+AlNXjrisBAgWByBopqwCnhACBHgEpq8ddVwIECgKRNVJWAU4JAQI9AlJWj7uuBAgUBCJrpKwCnBICBHoEpKwed10JECgIRNZIWQU4JQQI9AhIWT3uuhIgUBCIrJGyCnBKCBDoEfiflNUzsa4ECKwViNy8mrLWolmcAIE+gWrK6ptYZwIE1gpEbl5JWWvBLE6AQK9AJWX1Tqw7AQJrBSI3P5uy1mJZnACBfoGzKat/YhMQILBWIHLzMylrLZTFCRCYIXAmZc2Y2BQECKwViNz8aMpai2RxAgTmCBxNWXMmNgkBAmsFIjc/krLWAlmcAIFZAkdS1qyJTUOAwFqByM3fpay1OBYnQGCewLuUNW9iExEgsFYgcvNXKWstjMUJEJgp8CplzZzYVAQIrBWI3PxZylqLYnECBOYKPEtZcyc2GQECawUiN3+UstaCWJwAgdkCj1LW7IlNR4DAWoHIze9T1loMixMgMF/gPmXNn9iEBAisFYjc/DZlrYWwOAECnyFwm7I+Y2JTEiCwViBy82vKWotgcQIEPkfgmrI+Z2KTEiCwViBy80vK8iNAgMBHCFxSlh8BAt9c4Oc32e9P7vH7m+xiDQIEngj8A75fgi48cJAVAAAAAElFTkSuQmCC"
PASS setTransform({c: 2})
FAIL addPath({c: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA5RJREFUeAHt1EEKg1AMQEEv2Ut6SO0PtHTtxvJkBKGbYpiEt20eAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwE3itn/t6zxvf4/PN+baHAAEClwX+Ea6J5MRSuC6vyx8IEBgB4XIHBAjkBIQrtzIDEyAgXG6AAIGcgHDlVmZgAgSEyw0QIJATEK7cygxMgIBwuQECBHICwpVbmYEJEBAuN0CAQE5AuHIrMzABAsLlBggQyAkIV25lBiZAQLjcAAECOQHhyq3MwAQICJcbIEAgJyBcuZUZmAAB4XIDBAjkBIQrtzIDEyAgXG6AAIGcgHDlVmZgAgSEyw0QIJATEK7cygxMgIBwuQECBHICwpVbmYEJEBAuN0CAQE5AuHIrMzABAsLlBggQyAl8w3Wsyc8b3319a77tIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDggQJvT+eAqPH0HaQAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA9xJREFUeAHt1DEKQlEQA0CPlpt7NI2VnZDGbebDg9+EwCzk8fARIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGvQPr77Hv9+X060+cjQIDALJAmDNfMJkCAwKVAWm64Li+gmwCBWSBNGK6ZTYAAgUuBtNxwXV5ANwECs0CaMFwzmwABApcCabnhuryAbgIEZoE0YbhmNgECBC4F0nLDdXkB3QQIzAJpwnDNbAIECFwKpOWG6/ICugkQmAXShOGa2QQIELgUSMsN1+UFdBMgMAukCcM1swkQIHApkJYbrssL6CZAYBZIE4ZrZhMgQOBSIC03XJcX0E2AwCyQJgzXzCZAgMClQFpuuC4voJsAgVkgTRiumU2AAIFLgbTccF1eQDcBArNAmjBcM5sAAQKXAmm54bq8gG4CBGaBNGG4ZjYBAgQuBdJyw3V5Ad0ECMwCacJwzWwCBAhcCqTlhuvyAroJEJgF0oThmtkECBC4FEjLDdflBXQTIDALpAnDNbMJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwS+ANiI6Aqlxbg1QAAAAASUVORK5CYII="
PASS setTransform({d: 2})
PASS addPath({d: 2})
PASS setTransform({e: 2})
PASS addPath({e: 2})
PASS setTransform({f: 2})
PASS addPath({f: 2})
FAIL setTransform({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0}) assert_equals: m11 expected -0 but got 1
PASS addPath({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0})
FAIL setTransform({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true}) assert_equals: m11 expected -0 but got 1
PASS addPath({a: -0, b: -0, c: -0, d: -0, e: -0, f: -0, is2D: true})
PASS setTransform({m11: 2})
FAIL addPath({m11: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6FJREFUeAHt1EEKhEAUQ0Fn7n9nPcCjtxKhXMZFh/qQ6/IRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwEngd/oxlN9DXd6o8oWbvOHgDQIR+CcRECBAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQGBUwGCNHkYtAgQqYLBqIiFAYFTAYI0eRi0CBCpgsGoiIUBgVMBgjR5GLQIEKmCwaiIhQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYPAA8V2ATzPOX7TAAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
PASS setTransform({m12: 2})
FAIL addPath({m12: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAABbZJREFUeAHt1utuEzEQgNECz8hLwvvwOJSOQqQ2ymW9idcz9uEP6iW7M8dW9b29+UeAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhkF/iZfUDzESBQU+B7h7H9weqA6pEECPQReP94rD9afWw9lcDSAj0KK0D9wVr6WlmeQB2BKCyVVee8TEqgjECvwgoAlVXmGhiUwLoC58JSWeveAZsT6CLQs7BiYJXV5dg8lACBVwl8LiyV9SpVzyFA4K13YQWxynLRCBBIK3BZWCor7VEZjEAtgSMKK0RUVq17YVoCywhcKyyVtczxW5RAP4GjCis2UFn9ztGTCRDYKXCrsFTWTlAfI0DgJHBkYcUbVZabR4BAKoF7haWyUh2VYQjUEji6sEJHZdW6I6YlMLXAo8JSWVMfv+UI9BMYUVixjcrqd6aeTIBAg8CWwlJZDaB+lQCBk8Cowoq3qyy3kACB4QJbC0tlDT8qAxCoJTCysEJKZdW6L6YlMJ1AS2GprOmO30IE+gmMLqzYTGX1O19PJkDggUBrYamsB6B+TIDASSBDYcUkKsuNJEBgiMCewlJZQ47KSwnUEshSWKGmsmrdHdMSmELg18cWKmuKo7QEgVwCPQrr9xMrqqwn8HyUAIF9Aiprn5tPESBwR6BHYcXrVNYddD8iQCCfgMrKdyYmIlBaoFdhBYrKKn01DE9gPQGVtd6Z25hAN4GehRVDq6xuR+fBBAj0EFBZPVQ9k8CCAr0LK0hV1oIXy8oEKguorMqnZ3YCSQSOKKxYVWUlOXBjECCwTUBlbXPyWwQI3BA4qrDi9SrrxiH4NgECOQVUVs5zMRWBEgJHFlaAqKwS18KQBAicBVTWWcL/BAg0CRxdWDGcymo6Ir9MgMBoAZU1+gS8n0BBgRGFFUwqq+BlMTKBlQVU1sqnb3cCOwRGFVaMqrJ2HJiPECAwTkBljbP3ZgLlBEYWVmCprHJXxsAE1hZQWWufv+0JbBYYXVgxqMrafFx+kQCBDAIqK8MpmIFAcoEMhRVEKiv5RTEeAQJfBVTWVw9fESBwIZClsGIslXVxOL4kQCC3wN7K+pt7LdMRIPAKgUyFFfvsraxvr8DwDAIECLQK7K2s1vf4fQIEiglkK6zg21tZxeiNS4DALAJ7KmuW3e1BgMANgYyFFaOqrBsH5tsECOQUaK2snFuYigCBlwlkLaxYUGW97Jg9iACBIwRaKuuIebyDAIGBApkLK1hU1sDL4dUECLQLbK2s9if7BAECpQSyF1ZgqqxSV8qwBAhsqSxKBAhMLlChsOIIVNbkF9F6BGYTeFRZs+1rHwIELgSqFFaMrbIuDs+XBAjkFrhXWbknNx0BAk8LVCqsWFZlPX3kHkCAwJECtyrryBm8iwCBAQLVCiuIVNaAi+KVBAjsF7hWWfuf5pMECJQQqFhYAauySlwvQxIgcBa4rKzz9/1PgMCkAlULK45DZU16Ka1FYFaBz5U16472IkDgv0DlwooVVJarTIBAKYFzZZUa2rAECLQLVC+s2Dgq6719dZ8gQIDAGIGoLP8IEJhc4MdE+/2ZaBerECBwReAfzbLf0y0P4FYAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
PASS setTransform({m21: 2})
FAIL addPath({m21: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA5RJREFUeAHt1EEKg1AMQEEv2Ut6SO0PtHTtxvJkBKGbYpiEt20eAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDwE3itn/t6zxvf4/PN+baHAAEClwX+Ea6J5MRSuC6vyx8IEBgB4XIHBAjkBIQrtzIDEyAgXG6AAIGcgHDlVmZgAgSEyw0QIJATEK7cygxMgIBwuQECBHICwpVbmYEJEBAuN0CAQE5AuHIrMzABAsLlBggQyAkIV25lBiZAQLjcAAECOQHhyq3MwAQICJcbIEAgJyBcuZUZmAAB4XIDBAjkBIQrtzIDEyAgXG6AAIGcgHDlVmZgAgSEyw0QIJATEK7cygxMgIBwuQECBHICwpVbmYEJEBAuN0CAQE5AuHIrMzABAsLlBggQyAl8w3Wsyc8b3319a77tIUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDggQJvT+eAqPH0HaQAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
PASS setTransform({m22: 2})
FAIL addPath({m22: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA/1JREFUeAHt1LENg1AUBEGg/57tEhArfV0yjjkenmCvy48AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAd4H7++R18Xt94swDJ/7LmS/1VgIEksCTVkYECBAYCAjWAN1JAgSagGA1NysCBAYCgjVAd5IAgSYgWM3NigCBgYBgDdCdJECgCQhWc7MiQGAgIFgDdCcJEGgCgtXcrAgQGAgI1gDdSQIEmoBgNTcrAgQGAoI1QHeSAIEmIFjNzYoAgYGAYA3QnSRAoAkIVnOzIkBgICBYA3QnCRBoAoLV3KwIEBgICNYA3UkCBJqAYDU3KwIEBgKCNUB3kgCBJiBYzc2KAIGBgGAN0J0kQKAJCFZzsyJAYCAgWAN0JwkQaAKC1dysCBAYCAjWAN1JAgSagGA1NysCBAYCgjVAd5IAgSYgWM3NigCBgYBgDdCdJECgCQhWc7MiQGAgIFgDdCcJEGgCgtXcrAgQGAgI1gDdSQIEmoBgNTcrAgQGAoI1QHeSAIEmIFjNzYoAgYGAYA3QnSRAoAkIVnOzIkBgICBYA3QnCRBoAoLV3KwIEBgICNYA3UkCBJqAYDU3KwIEBgKCNUB3kgCBJiBYzc2KAIGBgGAN0J0kQKAJCFZzsyJAYCAgWAN0JwkQaAKC1dysCBAYCAjWAN1JAgSagGA1NysCBAYCgjVAd5IAgSYgWM3NigCBgYBgDdCdJECgCQhWc7MiQGAgIFgDdCcJEGgCgtXcrAgQGAgI1gDdSQIEmoBgNTcrAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIBIE/pMcBeCvKjewAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
PASS setTransform({m41: 2})
FAIL addPath({m41: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6NJREFUeAHt1LERgwAQA0Gg/56hAhLmFLEO8ViPN7jj8CFAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBN4Hz7Yvg+R1sfJlY/qcv7+M3BAhEAle0Y4YAAQJzAcGaEztAgEAlIFiVpB0CBOYCgjUndoAAgUpAsCpJOwQIzAUEa07sAAEClYBgVZJ2CBCYCwjWnNgBAgQqAcGqJO0QIDAXEKw5sQMECFQCglVJ2iFAYC4gWHNiBwgQqAQEq5K0Q4DAXECw5sQOECBQCQhWJWmHAIG5gGDNiR0gQKASEKxK0g4BAnMBwZoTO0CAQCUgWJWkHQIE5gKCNSd2gACBSkCwKkk7BAjMBQRrTuwAAQKVgGBVknYIEJgLCNac2AECBCoBwaok7RAgMBcQrDmxAwQIVAKCVUnaIUBgLiBYc2IHCBCoBASrkrRDgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBHwg8Df0BPNEPdCAAAAAASUVORK5CYII=" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
PASS setTransform({m42: 2})
FAIL addPath({m42: 2}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA55JREFUeAHt1LENhEAQBEEg/5z5FJBG1+8UNtrRldHX5SNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABApXAfWDoPXDzy8kTb/my6x8CBCKBJ9oxQ4AAgVlAsGZCBwgQqAQEq5K2Q4DALCBYM6EDBAhUAoJVSdshQGAWEKyZ0AECBCoBwaqk7RAgMAsI1kzoAAEClYBgVdJ2CBCYBQRrJnSAAIFKQLAqaTsECMwCgjUTOkCAQCUgWJW0HQIEZgHBmgkdIECgEhCsStoOAQKzgGDNhA4QIFAJCFYlbYcAgVlAsGZCBwgQqAQEq5K2Q4DALCBYM6EDBAhUAoJVSdshQGAWEKyZ0AECBCoBwaqk7RAgMAsI1kzoAAEClYBgVdJ2CBCYBQRrJnSAAIFKQLAqaTsECMwCgjUTOkCAQCUgWJW0HQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE/iDwA4mzATwuYhK6AAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
FAIL setTransform({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0}) assert_equals: m11 expected -0 but got 1
FAIL addPath({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
FAIL setTransform({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true}) assert_equals: m11 expected -0 but got 1
FAIL addPath({m11: -0, m12: -0, m21: -0, m22: -0, m41: -0, m42: -0, is2D: true}) assert_equals: expected "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAAylJREFUeAHt0DEBAAAAwqD1T20IX4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYOAdGL/UAAEPpnR6AAAAAElFTkSuQmCC" but got "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAAXNSR0IArs4c6QAAA6JJREFUeAHt1LENhDAABEGg/575Coi8l7yG0MgrmOCuy0OAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECXwL314uD8/fg7snVxb+cfI+7BAjEAk/ckyNAgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4DATMBgzWiFCRCoBQxWLapHgMBMwGDNaIUJEKgFDFYtqkeAwEzAYM1ohQkQqAUMVi2qR4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgT8W+AEV/QE8XblneQAAAABJRU5ErkJggg=="
PASS setTransform({m13: 0, is2D: true})
PASS addPath({m13: 0, is2D: true})
PASS setTransform({m13: -0, is2D: true})
PASS addPath({m13: -0, is2D: true})
PASS setTransform({m14: 0, is2D: true})
PASS addPath({m14: 0, is2D: true})
PASS setTransform({m14: -0, is2D: true})
PASS addPath({m14: -0, is2D: true})
PASS setTransform({m23: 0, is2D: true})
PASS addPath({m23: 0, is2D: true})
PASS setTransform({m23: -0, is2D: true})
PASS addPath({m23: -0, is2D: true})
PASS setTransform({m24: 0, is2D: true})
PASS addPath({m24: 0, is2D: true})
PASS setTransform({m24: -0, is2D: true})
PASS addPath({m24: -0, is2D: true})
PASS setTransform({m31: 0, is2D: true})
PASS addPath({m31: 0, is2D: true})
PASS setTransform({m31: -0, is2D: true})
PASS addPath({m31: -0, is2D: true})
PASS setTransform({m32: 0, is2D: true})
PASS addPath({m32: 0, is2D: true})
PASS setTransform({m32: -0, is2D: true})
PASS addPath({m32: -0, is2D: true})
PASS setTransform({m33: 1, is2D: true})
PASS addPath({m33: 1, is2D: true})
PASS setTransform({m34: 0, is2D: true})
PASS addPath({m34: 0, is2D: true})
PASS setTransform({m34: -0, is2D: true})
PASS addPath({m34: -0, is2D: true})
PASS setTransform({m43: 0, is2D: true})
PASS addPath({m43: 0, is2D: true})
PASS setTransform({m43: -0, is2D: true})
PASS addPath({m43: -0, is2D: true})
PASS setTransform({m44: 1, is2D: true})
PASS addPath({m44: 1, is2D: true})
PASS setTransform({is2D: true})
PASS addPath({is2D: true})
PASS setTransform({m13: 1, is2D: false})
PASS addPath({m13: 1, is2D: false})
PASS setTransform({m14: 1, is2D: false})
PASS addPath({m14: 1, is2D: false})
PASS setTransform({m23: 1, is2D: false})
PASS addPath({m23: 1, is2D: false})
PASS setTransform({m24: 1, is2D: false})
PASS addPath({m24: 1, is2D: false})
PASS setTransform({m31: 1, is2D: false})
PASS addPath({m31: 1, is2D: false})
PASS setTransform({m32: 1, is2D: false})
PASS addPath({m32: 1, is2D: false})
PASS setTransform({m33: 0, is2D: false})
PASS addPath({m33: 0, is2D: false})
PASS setTransform({m33: -0, is2D: false})
PASS addPath({m33: -0, is2D: false})
PASS setTransform({m33: -1, is2D: false})
PASS addPath({m33: -1, is2D: false})
PASS setTransform({m34: 1, is2D: false})
PASS addPath({m34: 1, is2D: false})
PASS setTransform({m43: 1, is2D: false})
PASS addPath({m43: 1, is2D: false})
PASS setTransform({m44: 0, is2D: false})
PASS addPath({m44: 0, is2D: false})
PASS setTransform({m13: 1})
PASS addPath({m13: 1})
PASS setTransform({m14: 1})
PASS addPath({m14: 1})
PASS setTransform({m23: 1})
PASS addPath({m23: 1})
PASS setTransform({m24: 1})
PASS addPath({m24: 1})
PASS setTransform({m31: 1})
PASS addPath({m31: 1})
PASS setTransform({m32: 1})
PASS addPath({m32: 1})
PASS setTransform({m33: 0})
PASS addPath({m33: 0})
PASS setTransform({m34: 1})
PASS addPath({m34: 1})
PASS setTransform({m43: 1})
PASS addPath({m43: 1})
PASS setTransform({m44: 0})
PASS addPath({m44: 0})
PASS setTransform({is2D: false})
PASS addPath({is2D: false})
PASS setTransform({is2D: null})
PASS addPath({is2D: null})