diff --git a/Tests/Foundation/CPURLConnectionTest.j b/Tests/Foundation/CPURLConnectionTest.j new file mode 100644 index 000000000..0d1b471f3 --- /dev/null +++ b/Tests/Foundation/CPURLConnectionTest.j @@ -0,0 +1,24 @@ + +@implementation CPURLConnectionTest : OJTestCase +{ +} + +- (void)testSynchronousRequestSuccess +{ + var req = [CPURLRequest requestWithURL:@"Tests/Foundation/CPURLConnectionTest.j"], + data = [CPURLConnection sendSynchronousRequest:req returningResponse:nil]; + + [self assert:CPData equals:[data class]]; + [self assertNotNull:data]; + [self assertFalse:([data rawString] == @"")]; +} + +- (void)testSynchronousRequestNotFound +{ + var req = [CPURLRequest requestWithURL:@"NotFound"], + data = [CPURLConnection sendSynchronousRequest:req returningResponse:nil]; + + [self assertNull:data]; +} + +@end \ No newline at end of file diff --git a/Tests/Manual/CPURLConnectionSynchronousTest/AppController.j b/Tests/Manual/CPURLConnectionSynchronousTest/AppController.j new file mode 100644 index 000000000..b851bad96 --- /dev/null +++ b/Tests/Manual/CPURLConnectionSynchronousTest/AppController.j @@ -0,0 +1,65 @@ +/* + * AppController.j + * CPURLConnectionSynchronousTest + * + * Created by You on July 28, 2012. + * Copyright 2012, Your Company All rights reserved. + */ + +@import + + +@implementation AppController : CPObject +{ + BOOL _success; +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ + _success = YES; + + [self testSynchronousRequestSuccess]; + [self testSynchronousRequestNotFound]; + + if (_success) + write("
All Tests Passed In Test Suite", "green"); + else + write("
One Or More Test Failed", "red"); +} + +- (void)testSynchronousRequestSuccess +{ + write(_cmd , "black"); + + var req = [CPURLRequest requestWithURL:@"Info.plist"], + data = [CPURLConnection sendSynchronousRequest:req returningResponse:nil]; + + [self assertTrue:(CPData == [data class])]; + [self assertTrue:([data rawString] != @"")]; +} + +- (void)testSynchronousRequestNotFound +{ + write(_cmd , "black"); + + var req = [CPURLRequest requestWithURL:@"NotFound"], + data = [CPURLConnection sendSynchronousRequest:req returningResponse:nil]; + + [self assertTrue:(data === nil)]; +} + +- (void)assertTrue:(BOOL)result +{ + if (!result) + { + write("Test Failed", "red"); + _success = NO; + } +} + +@end + +function write(text, color) +{ + document.write(""+text+"
"); +} \ No newline at end of file diff --git a/Tests/Manual/CPURLConnectionSynchronousTest/Info.plist b/Tests/Manual/CPURLConnectionSynchronousTest/Info.plist new file mode 100644 index 000000000..36ae6411c --- /dev/null +++ b/Tests/Manual/CPURLConnectionSynchronousTest/Info.plist @@ -0,0 +1,12 @@ + + + + + CPApplicationDelegateClass + AppController + CPBundleName + CPURLConnectionSynchronousTest + CPPrincipalClass + CPApplication + + diff --git a/Tests/Manual/CPURLConnectionSynchronousTest/Jakefile b/Tests/Manual/CPURLConnectionSynchronousTest/Jakefile new file mode 100644 index 000000000..d92409917 --- /dev/null +++ b/Tests/Manual/CPURLConnectionSynchronousTest/Jakefile @@ -0,0 +1,93 @@ +/* + * Jakefile + * CPURLConnectionSynchronousTest + * + * Created by You on July 28, 2012. + * Copyright 2012, Your Company All rights reserved. + */ + +var ENV = require("system").env, + FILE = require("file"), + JAKE = require("jake"), + task = JAKE.task, + FileList = JAKE.FileList, + app = require("cappuccino/jake").app, + configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug", + OS = require("os"); + +app ("CPURLConnectionSynchronousTest", function(task) +{ + task.setBuildIntermediatesPath(FILE.join("Build", "CPURLConnectionSynchronousTest.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("CPURLConnectionSynchronousTest"); + task.setIdentifier("com.yourcompany.CPURLConnectionSynchronousTest"); + task.setVersion("1.0"); + task.setAuthor("Your Company"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("CPURLConnectionSynchronousTest"); + task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**"))); + task.setResources(new FileList("Resources/**")); + task.setIndexFilePath("index.html"); + task.setInfoPlistPath("Info.plist"); + + if (configuration === "Debug") + task.setCompilerFlags("-DDEBUG -g"); + else + task.setCompilerFlags("-O"); +}); + +task ("default", ["CPURLConnectionSynchronousTest"], function() +{ + printResults(configuration); +}); + +task ("build", ["default"]); + +task ("debug", function() +{ + ENV["CONFIGURATION"] = "Debug"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("release", function() +{ + ENV["CONFIGURATION"] = "Release"; + JAKE.subjake(["."], "build", ENV); +}); + +task ("run", ["debug"], function() +{ + OS.system(["open", FILE.join("Build", "Debug", "CPURLConnectionSynchronousTest", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "CPURLConnectionSynchronousTest", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "CPURLConnectionSynchronousTest")); + OS.system(["press", "-f", FILE.join("Build", "Release", "CPURLConnectionSynchronousTest"), FILE.join("Build", "Deployment", "CPURLConnectionSynchronousTest")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "CPURLConnectionSynchronousTest")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "CPURLConnectionSynchronousTest"), FILE.join("Build", "Desktop", "CPURLConnectionSynchronousTest", "CPURLConnectionSynchronousTest.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "CPURLConnectionSynchronousTest", "CPURLConnectionSynchronousTest.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "CPURLConnectionSynchronousTest")); + print("----------------------------"); +} diff --git a/Tests/Manual/CPURLConnectionSynchronousTest/Resources/spinner.gif b/Tests/Manual/CPURLConnectionSynchronousTest/Resources/spinner.gif new file mode 100644 index 000000000..06dbc2bc2 Binary files /dev/null and b/Tests/Manual/CPURLConnectionSynchronousTest/Resources/spinner.gif differ diff --git a/Tests/Manual/CPURLConnectionSynchronousTest/index-debug.html b/Tests/Manual/CPURLConnectionSynchronousTest/index-debug.html new file mode 100644 index 000000000..bbab82e8e --- /dev/null +++ b/Tests/Manual/CPURLConnectionSynchronousTest/index-debug.html @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + CPURLConnectionSynchronousTest + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPURLConnectionSynchronousTest/index.html b/Tests/Manual/CPURLConnectionSynchronousTest/index.html new file mode 100644 index 000000000..42d7aaf45 --- /dev/null +++ b/Tests/Manual/CPURLConnectionSynchronousTest/index.html @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + CPURLConnectionSynchronousTest + + + + + + + + + + + + +
+
+ + + +
+
+ + + + diff --git a/Tests/Manual/CPURLConnectionSynchronousTest/main.j b/Tests/Manual/CPURLConnectionSynchronousTest/main.j new file mode 100644 index 000000000..339d37c4a --- /dev/null +++ b/Tests/Manual/CPURLConnectionSynchronousTest/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * CPURLConnectionSynchronousTest + * + * Created by You on July 28, 2012. + * Copyright 2012, Your Company All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +}