summaryrefslogtreecommitdiff
path: root/website/app_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'website/app_test.ts')
-rw-r--r--website/app_test.ts196
1 files changed, 196 insertions, 0 deletions
diff --git a/website/app_test.ts b/website/app_test.ts
new file mode 100644
index 000000000..c16487585
--- /dev/null
+++ b/website/app_test.ts
@@ -0,0 +1,196 @@
+// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
+
+import { test, testPerm, assert, assertEquals } from "../js/test_util.ts";
+import { runIfMain } from "../js/deps/https/deno.land/std/testing/mod.ts";
+import {
+ createBinarySizeColumns,
+ createExecTimeColumns,
+ createThreadCountColumns,
+ createSyscallCountColumns,
+ createSha1List
+} from "./app.ts";
+
+const regularData = [
+ {
+ created_at: "2018-01-01T01:00:00Z",
+ sha1: "abcdef",
+ binary_size: {
+ deno: 100000000,
+ "main.js": 90000000,
+ "main.js.map": 80000000,
+ "snapshot_deno.bin": 70000000
+ },
+ throughput: {
+ "100M_tcp": 3.6,
+ "100M_cat": 3.0,
+ "10M_tcp": 1.6,
+ "10M_cat": 1.0
+ },
+ req_per_sec: {
+ node: 16000,
+ deno: 1000
+ },
+ benchmark: {
+ hello: {
+ mean: 0.05
+ },
+ relative_import: {
+ mean: 0.06
+ },
+ cold_hello: {
+ mean: 0.05
+ },
+ cold_relative_import: {
+ mean: 0.06
+ }
+ },
+ thread_count: {
+ set_timeout: 4,
+ fetch_deps: 6
+ },
+ syscall_count: {
+ hello: 600,
+ fetch_deps: 700
+ }
+ },
+ {
+ created_at: "2018-01-02T01:00:00Z",
+ sha1: "012345",
+ binary_size: {
+ deno: 100000001,
+ "main.js": 90000001,
+ "main.js.map": 80000001,
+ "snapshot_deno.bin": 70000001
+ },
+ throughput: {
+ "100M_tcp": 3.6,
+ "100M_cat": 3.0,
+ "10M_tcp": 1.6,
+ "10M_cat": 1.0
+ },
+ req_per_sec: {
+ node: 1600,
+ deno: 3.0
+ },
+ benchmark: {
+ hello: {
+ mean: 0.055
+ },
+ relative_import: {
+ mean: 0.065
+ },
+ cold_hello: {
+ mean: 0.055
+ },
+ cold_relative_import: {
+ mean: 0.065
+ }
+ },
+ thread_count: {
+ set_timeout: 5,
+ fetch_deps: 7
+ },
+ syscall_count: {
+ hello: 700,
+ fetch_deps: 800
+ }
+ }
+];
+
+const irregularData = [
+ {
+ created_at: "2018-01-01T01:00:00Z",
+ sha1: "123",
+ benchmark: {},
+ throughput: {},
+ binary_size: {},
+ thread_count: {},
+ syscall_count: {}
+ },
+ {
+ created_at: "2018-02-01T01:00:00Z",
+ sha1: "456",
+ benchmark: {
+ hello: {},
+ relative_import: {},
+ cold_hello: {},
+ cold_relative_import: {}
+ },
+ throughput: {
+ "100M_tcp": 3.0
+ },
+ binary_size: {
+ deno: 1
+ },
+ thread_count: {
+ set_timeout: 5,
+ fetch_deps: 7
+ },
+ syscall_count: {
+ hello: 700,
+ fetch_deps: 800
+ }
+ }
+];
+
+test(function createExecTimeColumnsRegularData() {
+ const columns = createExecTimeColumns(regularData);
+ assertEquals(columns, [
+ ["hello", 0.05, 0.055],
+ ["relative_import", 0.06, 0.065],
+ ["cold_hello", 0.05, 0.055],
+ ["cold_relative_import", 0.06, 0.065]
+ ]);
+});
+
+test(function createExecTimeColumnsIrregularData() {
+ const columns = createExecTimeColumns(irregularData);
+ assertEquals(columns, [
+ ["hello", null, null],
+ ["relative_import", null, null],
+ ["cold_hello", null, null],
+ ["cold_relative_import", null, null]
+ ]);
+});
+
+test(function createBinarySizeColumnsRegularData() {
+ const columns = createBinarySizeColumns(regularData);
+ assertEquals(columns, [
+ ["deno", 100000000, 100000001],
+ ["main.js", 90000000, 90000001],
+ ["main.js.map", 80000000, 80000001],
+ ["snapshot_deno.bin", 70000000, 70000001]
+ ]);
+});
+
+test(function createBinarySizeColumnsIrregularData() {
+ const columns = createBinarySizeColumns(irregularData);
+ assertEquals(columns, [["deno", null, 1]]);
+});
+
+test(function createThreadCountColumnsRegularData() {
+ const columns = createThreadCountColumns(regularData);
+ assertEquals(columns, [["set_timeout", 4, 5], ["fetch_deps", 6, 7]]);
+});
+
+test(function createThreadCountColumnsIrregularData() {
+ const columns = createThreadCountColumns(irregularData);
+ assertEquals(columns, [["set_timeout", null, 5], ["fetch_deps", null, 7]]);
+});
+
+test(function createSyscallCountColumnsRegularData() {
+ const columns = createSyscallCountColumns(regularData);
+ assertEquals(columns, [["hello", 600, 700], ["fetch_deps", 700, 800]]);
+});
+
+test(function createSyscallCountColumnsIrregularData() {
+ const columns = createSyscallCountColumns(irregularData);
+ assertEquals(columns, [["hello", null, 700], ["fetch_deps", null, 800]]);
+});
+
+test(function createSha1ListRegularData() {
+ const sha1List = createSha1List(regularData);
+ assertEquals(sha1List, ["abcdef", "012345"]);
+});
+
+runIfMain(import.meta);