summaryrefslogtreecommitdiffstats
path: root/devtools/client/webconsole/net/test/unit/test_net-utils.js
blob: 512ebcbc7f21244f30db553055256adabc9ac440 (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
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

var Cu = Components.utils;
const { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
const {
  isImage,
  isHTML,
  getHeaderValue,
  isURLEncodedRequest,
  isMultiPartRequest
} = require("devtools/client/webconsole/net/utils/net");

// Test data
const imageMimeTypes = ["image/jpeg", "image/jpg", "image/gif",
  "image/png", "image/bmp"];

const htmlMimeTypes = ["text/html", "text/xml", "application/xml",
  "application/rss+xml", "application/atom+xml", "application/xhtml+xml",
  "application/mathml+xml", "application/rdf+xml"];

const headers = [{name: "headerName", value: "value1"}];

const har1 = {
  request: {
    postData: {
      text: "content-type: application/x-www-form-urlencoded"
    }
  }
};

const har2 = {
  request: {
    headers: [{
      name: "content-type",
      value: "application/x-www-form-urlencoded"
    }]
  }
};

const har3 = {
  request: {
    headers: [{
      name: "content-type",
      value: "multipart/form-data"
    }]
  }
};

/**
 * Testing API provided by webconsole/net/utils/net.js
 */
function run_test() {
  // isImage
  imageMimeTypes.forEach(mimeType => {
    ok(isImage(mimeType));
  });

  // isHTML
  htmlMimeTypes.forEach(mimeType => {
    ok(isHTML(mimeType));
  });

  // getHeaderValue
  equal(getHeaderValue(headers, "headerName"), "value1");

  // isURLEncodedRequest
  ok(isURLEncodedRequest(har1));
  ok(isURLEncodedRequest(har2));

  // isMultiPartRequest
  ok(isMultiPartRequest(har3));
}