diff --git a/tests/unit/src/unit/TestHttps.hx b/tests/unit/src/unit/TestHttps.hx new file mode 100644 index 00000000000..37429a23f58 --- /dev/null +++ b/tests/unit/src/unit/TestHttps.hx @@ -0,0 +1,62 @@ +package unit; + +import utest.Async; + +class TestHttps extends Test { + static final RUN_HTTPS_TESTS = + #if !github false && #end // comment out line to run https tests locally + #if (github && flash) + false + #elseif (js && !nodejs) + js.Browser.supported + #else + true + #end; + + function run(async:Async, test:()->Void) { + if (RUN_HTTPS_TESTS) { + test(); + return; + } + noAssert(); + async.done(); + } + + // Check if http is working for this target before blaming https + @:timeout(3000) + public function testDownloadHttp(async:Async) run(async, () -> { + final url = 'http://build.haxe.org/builds/haxe/linux64/haxe_latest.tar.gz'; + var req = new haxe.Http(url); + req.onBytes = bytes -> { + noAssert(); + async.done(); + } + req.onError = e -> { + assert('Failed Http request with string data: $e'); + async.done(); + } + req.request(); + }); + + @:timeout(3000) + public function testDownloadHttps(async:Async) run(async, () -> { + #if python + if (Sys.systemName() == "Windows") { + noAssert(); + return async.done(); + } + #end + + final url = 'https://build.haxe.org/builds/haxe/linux64/haxe_latest.tar.gz'; + var req = new haxe.Http(url); + req.onBytes = bytes -> { + noAssert(); + async.done(); + } + req.onError = e -> { + assert('Failed Https request with string data: $e'); + async.done(); + } + req.request(); + }); +} diff --git a/tests/unit/src/unit/TestMain.hx b/tests/unit/src/unit/TestMain.hx index 71163d46607..b92a255ef85 100644 --- a/tests/unit/src/unit/TestMain.hx +++ b/tests/unit/src/unit/TestMain.hx @@ -66,6 +66,9 @@ function main() { new TestNumericCasts(), new TestHashMap(), new TestRest(), + #if (!php && !lua) + new TestHttps(), + #end #if !no_pattern_matching new TestMatch(), #end diff --git a/tests/unit/src/unitstd/Https.unit.hx.no b/tests/unit/src/unitstd/Https.unit.hx similarity index 57% rename from tests/unit/src/unitstd/Https.unit.hx.no rename to tests/unit/src/unitstd/Https.unit.hx index 94104513f21..a9db49ef1d1 100644 --- a/tests/unit/src/unitstd/Https.unit.hx.no +++ b/tests/unit/src/unitstd/Https.unit.hx @@ -1,4 +1,7 @@ -#if (cpp || hl || (neko && !macro && !interp)) +// TODO: python is fine on unix but not on windows +#if (sys && !lua && !php && !python) var r = haxe.Http.requestUrl("https://raw.githubusercontent.com/HaxeFoundation/haxe/development/tests/unit/res1.txt"); r == "Héllo World !"; +#else +true == true; #end