diff --git a/Tests/http-tests.ts b/Tests/http-tests.ts index ac901e919..ec3b2c0c2 100644 --- a/Tests/http-tests.ts +++ b/Tests/http-tests.ts @@ -1,8 +1,14 @@ import TKUnit = require("Tests/TKUnit"); import http = require("http/http"); -import http_request = require("http/http-request"); require("globals"); +// +// # Http module +// ``` JavaScript +// var http = require("http"); +// ``` +// + export var test_getString_isDefined = function () { TKUnit.assert(typeof (http.getString) !== "undefined", "Method http.getString() should be defined!"); }; @@ -12,10 +18,18 @@ export var test_getString = function () { var completed: boolean; var isReady = function () { return completed; } + // + // ### Get string from URL + // ``` JavaScript http.getString("http://httpbin.org/get").then(function (r) { + //// Result (r) is string! + // completed = true; result = r; + // }).fail(function (e) { console.log(e); }); + // ``` + // TKUnit.waitUntilReady(isReady, 3); TKUnit.assert(typeof (result) === "string", "Result from getString() should be string!"); @@ -26,10 +40,18 @@ export var test_getString_fail = function () { var completed: boolean; var isReady = function () { return completed; } + // + // ### Get string from invalid URL + // ``` JavaScript http.getString("hgfttp://httpbin.org/get").fail(function (e) { + //// Result (e) is Error! + // completed = true; result = e; + // }); + // ``` + // TKUnit.waitUntilReady(isReady, 3); TKUnit.assert(result instanceof Error, "Result from getString().fail() should be Error!"); @@ -44,10 +66,18 @@ export var test_getJSON = function () { var completed: boolean; var isReady = function () { return completed; } + // + // ### Get JSON from URL + // ``` JavaScript http.getJSON("http://httpbin.org/get").then(function (r) { + //// Result (r) is JSON! + // completed = true; result = r; + // }).fail(function (e) { console.log(e); }); + // ``` + // TKUnit.waitUntilReady(isReady, 3); TKUnit.assert(typeof (JSON.stringify(result)) === "string", "Result from getJSON() should be valid JSON object!"); @@ -58,10 +88,18 @@ export var test_getJSON_fail = function () { var completed: boolean; var isReady = function () { return completed; } + // + // ### Get JSON from invalid URL + // ``` JavaScript http.getJSON("hgfttp://httpbin.org/get").fail(function (e) { + //// Result (e) is Error! + // completed = true; result = e; + // }); + // ``` + // TKUnit.waitUntilReady(isReady, 3); TKUnit.assert(result instanceof Error, "Result from getJSON().fail() should be Error!"); @@ -76,10 +114,18 @@ export var test_getImage = function () { var completed: boolean; var isReady = function () { return completed; } + // + // ### Get Image from URL + // ``` JavaScript http.getImage("http://www.google.com/images/errors/logo_sm_2.png").then(function (r) { + //// Result (r) is Image! + // completed = true; result = r; + // }); + // ``` + // TKUnit.waitUntilReady(isReady, 3); TKUnit.assert(result instanceof require("image").Image, "Result from getImage() should be valid Image object!"); @@ -90,10 +136,18 @@ export var test_getImage_fail = function () { var completed: boolean; var isReady = function () { return completed; } + // + // ### Get Image from URL + // ``` JavaScript http.getImage("htadvtp://www.google.com/images/errors/logo_sm_2.pngm").fail(function (e) { + //// Result (e) is Error! + // completed = true; result = e; + // }); + // ``` + // TKUnit.waitUntilReady(isReady, 3); TKUnit.assert(result instanceof Error, "Result from getImage().fail() should be Error!"); @@ -108,7 +162,7 @@ export var test_request_shouldFailIfOptionsUrlIsNotDefined = function () { var completed: boolean; var isReady = function () { return completed; } - http_request.request({ url: undefined, method: undefined }).fail(function (e) { + http.request({ url: undefined, method: undefined }).fail(function (e) { completed = true; result = e; }); @@ -118,35 +172,70 @@ export var test_request_shouldFailIfOptionsUrlIsNotDefined = function () { }; export var test_request_responseStatusCodeShouldBeDefined = function () { - var result : http_request.HttpResponse; + var result: http.HttpResponse; var completed: boolean; var isReady = function () { return completed; } - http_request.request({ url: "http://httpbin.org/get", method: "GET" }).then(function (response) { + // + // ### Get response status code + // ``` JavaScript + http.request({ url: "http://httpbin.org/get", method: "GET" }).then(function (response) { + //// Result (response) is require("http/http-request").HttpResponse! + //// You can get status code using response.statusCode (number)! + // completed = true; result = response; + // }); + // ``` + // TKUnit.waitUntilReady(isReady, 3); TKUnit.assert(typeof (result.statusCode) !== "undefined", "response.statusCode should be defined!"); }; export var test_request_responseHeadersShouldBeDefined = function () { - var result: http_request.HttpResponse; + var result: http.HttpResponse; var completed: boolean; var isReady = function () { return completed; } - http_request.request({ url: "http://httpbin.org/get", method: "GET" }).then(function (response) { + // + // ### Get response headers + // ``` JavaScript + http.request({ url: "http://httpbin.org/get", method: "GET" }).then(function (response) { + //// Result (response) is require("http/http-request").HttpResponse! + //// You can get response headers using response.headers (JSON)! + // completed = true; result = response; + // }); + // ``` + // TKUnit.waitUntilReady(isReady, 3); TKUnit.assert(typeof (result.headers) !== "undefined", "response.headers should be defined!"); }; export var test_request_responseContentShouldBeDefined = function () { - http_request.request({ url: "http://httpbin.org/get", method: "GET" }).then(function (response) { - TKUnit.assert(typeof (response.content) !== "undefined", "response.content should be defined!"); + var result: http.HttpResponse; + var completed: boolean; + var isReady = function () { return completed; } + + // + // ### Get response content + // ``` JavaScript + http.request({ url: "http://httpbin.org/get", method: "GET" }).then(function (response) { + //// Result (response) is require("http/http-request").HttpContent! + //// You can get response content using response.content methods: toString(), toJSON and toImage()! + // + completed = true; + result = response; + // }); + // ``` + // + + TKUnit.waitUntilReady(isReady, 3); + TKUnit.assert(typeof (result.content) !== "undefined", "response.content should be defined!"); }; \ No newline at end of file diff --git a/http/http.ts b/http/http.ts index 49ee1ff2b..7fcd04cb3 100644 --- a/http/http.ts +++ b/http/http.ts @@ -3,8 +3,10 @@ import promises = require("promises/promises"); import http = require("http/http-request"); // merge request -declare var exports; -require("utils/module-merge").merge(http, exports); +export var request = http.request; +export interface HttpResponse extends http.HttpResponse { }; +export interface HttpRequestOptions extends http.HttpRequestOptions { }; +export interface HttpContent extends http.HttpContent { }; /** * Gets string from url.