1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/toolkit/devtools/webconsole/test/unit/test_network_helper.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,47 @@ 1.4 +/* Any copyright is dedicated to the Public Domain. 1.5 + http://creativecommons.org/publicdomain/zero/1.0/ */ 1.6 + 1.7 +"use strict"; 1.8 +const Cu = Components.utils; 1.9 +const { devtools } = Cu.import("resource://gre/modules/devtools/Loader.jsm", {}); 1.10 + 1.11 +Object.defineProperty(this, "NetworkHelper", { 1.12 + get: function() { 1.13 + return devtools.require("devtools/toolkit/webconsole/network-helper"); 1.14 + }, 1.15 + configurable: true, 1.16 + writeable: false, 1.17 + enumerable: true 1.18 +}); 1.19 + 1.20 +function run_test() { 1.21 + test_isTextMimeType(); 1.22 +} 1.23 + 1.24 +function test_isTextMimeType () { 1.25 + do_check_eq(NetworkHelper.isTextMimeType("text/plain"), true); 1.26 + do_check_eq(NetworkHelper.isTextMimeType("application/javascript"), true); 1.27 + do_check_eq(NetworkHelper.isTextMimeType("application/json"), true); 1.28 + do_check_eq(NetworkHelper.isTextMimeType("text/css"), true); 1.29 + do_check_eq(NetworkHelper.isTextMimeType("text/html"), true); 1.30 + do_check_eq(NetworkHelper.isTextMimeType("image/svg+xml"), true); 1.31 + do_check_eq(NetworkHelper.isTextMimeType("application/xml"), true); 1.32 + 1.33 + // Test custom JSON subtype 1.34 + do_check_eq(NetworkHelper.isTextMimeType("application/vnd.tent.posts-feed.v0+json"), true); 1.35 + do_check_eq(NetworkHelper.isTextMimeType("application/vnd.tent.posts-feed.v0-json"), true); 1.36 + // Test custom XML subtype 1.37 + do_check_eq(NetworkHelper.isTextMimeType("application/vnd.tent.posts-feed.v0+xml"), true); 1.38 + do_check_eq(NetworkHelper.isTextMimeType("application/vnd.tent.posts-feed.v0-xml"), false); 1.39 + // Test case-insensitive 1.40 + do_check_eq(NetworkHelper.isTextMimeType("application/vnd.BIG-CORP+json"), true); 1.41 + // Test non-text type 1.42 + do_check_eq(NetworkHelper.isTextMimeType("image/png"), false); 1.43 + // Test invalid types 1.44 + do_check_eq(NetworkHelper.isTextMimeType("application/foo-+json"), false); 1.45 + do_check_eq(NetworkHelper.isTextMimeType("application/-foo+json"), false); 1.46 + do_check_eq(NetworkHelper.isTextMimeType("application/foo--bar+json"), false); 1.47 + 1.48 + // Test we do not cause internal errors with unoptimized regex. Bug 961097 1.49 + do_check_eq(NetworkHelper.isTextMimeType("application/vnd.google.safebrowsing-chunk"), false); 1.50 +}