166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis// Copyright (c) 2013 The Chromium Authors. All rights reserved.
266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis// Use of this source code is governed by a BSD-style license that can be
366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis// found in the LICENSE file.
466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis'use strict';
666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('cc.picture_ops_list_view');
866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('cc.picture');
966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('cc.layer_tree_host_impl_test_data');
1066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('tracing.importer.trace_event_importer');
1166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.require('tracing.trace_model');
1266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
1366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennisbase.unittest.testSuite('cc.picture_ops_list_view', function() {
1466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis  var PictureOpsListView = cc.PictureOpsListView;
1566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
1666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis  test('instantiate', function() {
1766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    if (!cc.PictureSnapshot.CanRasterize())
1866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis      return;
1966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var m = new tracing.TraceModel(g_catLTHIEvents);
2066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var p = base.dictionaryValues(m.processes)[0];
2166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
2266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var instance = p.objects.getAllInstancesNamed('cc::Picture')[0];
2366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var snapshot = instance.snapshots[0];
2466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
2566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var view = new PictureOpsListView();
2666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    view.picture = snapshot;
2766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertEquals(627, view.opsList_.children.length);
2866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis  });
2966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
3066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis  test('selection', function() {
3166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    if (!cc.PictureSnapshot.CanRasterize())
3266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis      return;
3366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var m = new tracing.TraceModel(g_catLTHIEvents);
3466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var p = base.dictionaryValues(m.processes)[0];
3566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
3666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var instance = p.objects.getAllInstancesNamed('cc::Picture')[0];
3766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var snapshot = instance.snapshots[0];
3866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
3966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var view = new PictureOpsListView();
4066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    view.picture = snapshot;
4166a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    var didSelectionChange = 0;
4266a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    view.addEventListener('selection-changed', function() {
4366a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis      didSelectionChange = true;
4466a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    });
4566a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertFalse(didSelectionChange);
4666a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    view.opsList_.selectedElement = view.opsList_.children[3];
4766a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis    assertTrue(didSelectionChange);
4866a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis  });
4966a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis
5066a37686207944273ced825e0e8b6b6375f8c3deJamie Gennis});
51