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