فهرست منبع

[tests] https tests

Rudy Ges 1 سال پیش
والد
کامیت
3cae8875b4
3فایلهای تغییر یافته به همراه69 افزوده شده و 1 حذف شده
  1. 62 0
      tests/unit/src/unit/TestHttps.hx
  2. 3 0
      tests/unit/src/unit/TestMain.hx
  3. 4 1
      tests/unit/src/unitstd/Https.unit.hx

+ 62 - 0
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();
+	});
+}

+ 3 - 0
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

+ 4 - 1
tests/unit/src/unitstd/Https.unit.hx.no → 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