Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / trace_viewer / tracing / trace_model / object_snapshot_test.html
1 <!DOCTYPE html>
2 <!--
3 Copyright (c) 2013 The Chromium Authors. All rights reserved.
4 Use of this source code is governed by a BSD-style license that can be
5 found in the LICENSE file.
6 -->
7
8 <link rel="import" href="/tracing/trace_model/object_instance.html">
9 <link rel="import" href="/tracing/trace_model/object_snapshot.html">
10
11 <script>
12 'use strict';
13
14 tvcm.unittest.testSuite(function() {
15   test('snapshotTypeRegistry', function() {
16     function MySnapshot() {
17       tracing.trace_model.ObjectSnapshot.apply(this, arguments);
18       this.myFoo = this.args.foo;
19     }
20
21     MySnapshot.prototype = {
22       __proto__: tracing.trace_model.ObjectSnapshot.prototype
23     };
24
25     var instance = new tracing.trace_model.ObjectInstance(
26         {}, '0x1000', 'cat', 'MySnapshot', 10);
27     try {
28       tracing.trace_model.ObjectSnapshot.register('MySnapshot', MySnapshot);
29       var snapshot = instance.addSnapshot(15, {foo: 'bar'});
30       assertTrue(snapshot instanceof MySnapshot);
31       assertEquals('bar', snapshot.myFoo);
32     } finally {
33       tracing.trace_model.ObjectSnapshot.unregister('MySnapshot');
34     }
35   });
36 });
37 </script>
38