summaryrefslogtreecommitdiff
path: root/chromium/third_party/trace-viewer/src/ui/info_bar_test.js
blob: 8eff552480f0967082077cfe3432851168a54f3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// 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.

'use strict';

base.require('ui.info_bar');

base.unittest.testSuite('ui.info_bar', function() {
  test('instantiate', function() {
    var infoBar = new ui.InfoBar();
    infoBar.message = 'This is an info';
    infoBar.visible = true;
    this.addHTMLOutput(infoBar);
  });

  test('buttons', function() {
    var infoBar = new ui.InfoBar();
    infoBar.visible = true;
    infoBar.message = 'This is an info bar with buttons';
    var didClick = false;
    var button = infoBar.addButton('More info...', function() {
      didClick = true;
    });
    button.click();
    assertTrue(didClick);
    this.addHTMLOutput(infoBar);
  });

  test('group-instantiate', function() {
    var infoBarGroup = new ui.InfoBarGroup();
    infoBarGroup.addMessage(
        'Message 1',
        [{buttonText: 'ok', onClick: function() {}}]);
    infoBarGroup.addMessage(
        'Message 2',
        [{buttonText: 'button 2', onClick: function() {}}]);
    this.addHTMLOutput(infoBarGroup);
  });

  test('group-populate-then-clear', function() {
    var infoBarGroup = new ui.InfoBarGroup();
    infoBarGroup.addMessage(
        'Message 1',
        [{buttonText: 'ok', onClick: function() {}}]);
    infoBarGroup.addMessage(
        'Message 2',
        [{buttonText: 'button 2', onClick: function() {}}]);
    infoBarGroup.clearMessages();
    assertEquals(0, infoBarGroup.children.length);
  });

  test('group-populate-clear-repopulate', function() {
    var infoBarGroup = new ui.InfoBarGroup();
    infoBarGroup.addMessage(
        'Message 1',
        [{buttonText: 'ok', onClick: function() {}}]);
    infoBarGroup.addMessage(
        'Message 2',
        [{buttonText: 'button 2', onClick: function() {}}]);
    infoBarGroup.clearMessages();
    infoBarGroup.addMessage(
        'Message 1',
        [{buttonText: 'ok', onClick: function() {}}]);
    this.addHTMLOutput(infoBarGroup);
  });
});