<!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/test_utils.html">
<link rel="import" href="/core/timeline_viewport.html">
<link rel="import" href="/core/tracks/drawing_container.html">
<link rel="import" href="/core/tracks/ruler_track.html">

<script>
'use strict';

tr.b.unittest.testSuite(function() {
  test('instantiate', function() {
    var div = document.createElement('div');

    var viewport = new tr.c.TimelineViewport(div);
    var drawingContainer = new tr.c.tracks.DrawingContainer(viewport);
    div.appendChild(drawingContainer);

    var track = tr.c.tracks.RulerTrack(viewport);
    drawingContainer.appendChild(track);
    this.addHTMLOutput(div);

    drawingContainer.invalidate();

    var dt = new tr.c.TimelineDisplayTransform();
    dt.setPanAndScale(0, track.clientWidth / 1000);
    track.viewport.setDisplayTransformImmediately(dt);
  });
});
</script>

