summaryrefslogtreecommitdiff
path: root/website/app_test.js
blob: 48b7f2859b3ed8a3b668f2dcb134f812a8dc722b (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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
// Copyright 2018 the Deno authors. All rights reserved. MIT license.

import { test, assertEqual } from "../js/test_util.ts";
import {
  createBinarySizeColumns,
  createExecTimeColumns,
  createThreadCountColumns,
  createSyscallCountColumns,
  createSha1List,
  formatBytes
} from "./app.js";

const regularData = [
  {
    created_at: "2018-01-01T01:00:00Z",
    sha1: "abcdef",
    binary_size: 100000000,
    benchmark: {
      hello: {
        mean: 0.05
      },
      relative_import: {
        mean: 0.06
      }
    },
    thread_count: {
      set_timeout: 4,
      fetch_deps: 6
    },
    syscall_count: {
      hello: 600
    }
  },
  {
    created_at: "2018-01-02T01:00:00Z",
    sha1: "012345",
    binary_size: 110000000,
    benchmark: {
      hello: {
        mean: 0.055
      },
      relative_import: {
        mean: 0.065
      }
    },
    thread_count: {
      set_timeout: 5,
      fetch_deps: 7
    },
    syscall_count: {
      hello: 700
    }
  }
];

const irregularData = [
  {
    created_at: "2018-01-01T01:00:00Z",
    sha1: "123",
    benchmark: {
      hello: {},
      relative_import: {}
    },
    thread_count: {},
    syscall_count: {}
  },
  {
    created_at: "2018-02-01T01:00:00Z",
    sha1: "456",
    benchmark: {}
  }
];

test(function createExecTimeColumnsRegularData() {
  const columns = createExecTimeColumns(regularData);
  assertEqual(columns, [
    ["hello", 0.05, 0.055],
    ["relative_import", 0.06, 0.065]
  ]);
});

test(function createExecTimeColumnsIrregularData() {
  const columns = createExecTimeColumns(irregularData);
  assertEqual(columns, [["hello", 0, 0], ["relative_import", 0, 0]]);
});

test(function createBinarySizeColumnsRegularData() {
  const columns = createBinarySizeColumns(regularData);
  assertEqual(columns, [["binary_size", 100000000, 110000000]]);
});

test(function createBinarySizeColumnsIrregularData() {
  const columns = createBinarySizeColumns(irregularData);
  assertEqual(columns, [["binary_size", 0, 0]]);
});

test(function createThreadCountColumnsRegularData() {
  const columns = createThreadCountColumns(regularData);
  assertEqual(columns, [["set_timeout", 4, 5], ["fetch_deps", 6, 7]]);
});

test(function createThreadCountColumnsIrregularData() {
  const columns = createThreadCountColumns(irregularData);
  assertEqual(columns, [["set_timeout", 0, 0], ["fetch_deps", 0, 0]]);
});

test(function createSyscallCountColumnsRegularData() {
  const columns = createSyscallCountColumns(regularData);
  assertEqual(columns, [["hello", 600, 700]]);
});

test(function createSyscallCountColumnsIrregularData() {
  const columns = createSyscallCountColumns(irregularData);
  assertEqual(columns, [["hello", 0, 0]]);
});

test(function createSha1ListRegularData() {
  const sha1List = createSha1List(regularData);
  assertEqual(sha1List, ["abcdef", "012345"]);
});

test(function formatBytesPatterns() {
  assertEqual(formatBytes(18000), "17.58 KB");
  assertEqual(formatBytes(1800000), "1.72 MB");
  assertEqual(formatBytes(180000000), "171.66 MB");
  assertEqual(formatBytes(18000000000), "16.76 GB");
});