object_snapshot_test.html revision b2cbf1594f8d6e4ba32d384cf379f62a74ed7654
1<!DOCTYPE html> 2<!-- 3Copyright (c) 2013 The Chromium Authors. All rights reserved. 4Use of this source code is governed by a BSD-style license that can be 5found in the LICENSE file. 6--> 7 8<link rel="import" href="/model/object_instance.html"> 9<link rel="import" href="/model/object_snapshot.html"> 10 11<script> 12'use strict'; 13 14tr.b.unittest.testSuite(function() { 15 test('snapshotTypeRegistry', function() { 16 function MySnapshot() { 17 tr.model.ObjectSnapshot.apply(this, arguments); 18 this.myFoo = this.args.foo; 19 } 20 21 MySnapshot.prototype = { 22 __proto__: tr.model.ObjectSnapshot.prototype 23 }; 24 25 var instance = new tr.model.ObjectInstance( 26 {}, '0x1000', 'cat', 'MySnapshot', 10); 27 try { 28 tr.model.ObjectSnapshot.register( 29 MySnapshot, 30 {typeName: 'MySnapshot'}); 31 var snapshot = instance.addSnapshot(15, {foo: 'bar'}); 32 assert.instanceOf(snapshot, MySnapshot); 33 assert.equal(snapshot.myFoo, 'bar'); 34 } finally { 35 tr.model.ObjectSnapshot.unregister(MySnapshot); 36 } 37 }); 38}); 39</script> 40 41