<!DOCTYPE html>
<!--
Copyright (c) 2013 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->

<link rel="import" href="/core/timeline_display_transform.html">

<script>
'use strict';

tr.b.unittest.testSuite(function() {
  var TimelineDisplayTransform = tr.c.TimelineDisplayTransform;

  test('basics', function() {
    var a = new TimelineDisplayTransform();
    a.panX = 0;
    a.panY = 0;
    a.scaleX = 1;

    var b = new TimelineDisplayTransform();
    b.panX = 10;
    b.panY = 0;
    b.scaleX = 1;

    assert.isFalse(a.equals(b));
    assert.isFalse(a.almostEquals(b));

    var c = b.clone();
    assert.isTrue(b.equals(c));
    assert.isTrue(b.almostEquals(c));

    c.set(a);
    assert.isTrue(a.equals(c));
    assert.isTrue(a.almostEquals(c));
  });
});
</script>

