mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-10-06 17:12:50 +00:00
Test: added unit test for option -xml-output-format of objj
This commit is contained in:
1 parent
3102c545ce
commit
4f64d466fb
1 file changed
+22
-8
+22
-8
@@ -7,7 +7,7 @@ function cleanup() {
|
||||
FILE.rmtree(dir);
|
||||
});
|
||||
|
||||
["objj2objcskeletonTestFile.h", "objj2objcskeletonTestFile.m", "objj2objcskeletonTestFile.j"].forEach(function(file) {
|
||||
["objj2objcskeletonTestFile.h", "objj2objcskeletonTestFile.m", "objj2objcskeletonTestFile.j", "objjWarningTestFile.j", "objjErrorTestFile.j"].forEach(function(file) {
|
||||
if (FILE.isFile(file))
|
||||
FILE.remove(file);
|
||||
});
|
||||
@@ -18,6 +18,14 @@ function cleanup() {
|
||||
}
|
||||
|
||||
- (void)setUp
|
||||
{
|
||||
cleanup();
|
||||
FILE.write("objj2objcskeletonTestFile.j", "@import <Foundation/CPObject.j>\n@import <AppKit/AppKit.j>\n\n\n@implementation AppController : CPObject\n{\n @outlet CPSplitView splitViewA;\n @outlet CPSplitView splitViewB;\n @outlet CPSplitView splitViewC;\n}\n\n@end");
|
||||
FILE.write("objjWarningTestFile.j", "@import <Foundation/Foundation.j>@implementation AppController : CPObject{CPWindow theWindow;}@end");
|
||||
FILE.write("objjErrorTestFile.j", "@implementation AppController : CPObject{}@end");
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
cleanup();
|
||||
}
|
||||
@@ -38,14 +46,25 @@ function cleanup() {
|
||||
status = OS.system(["objj", "ToolsTestApp/AppController.j"]);
|
||||
[self assert:0 equals:status message:"objj failed"];
|
||||
|
||||
status = OS.system(["objj", "--xml-output-format", "ToolsTestApp/AppController.j"]);
|
||||
[self assert:0 equals:status message:"objj failed"];
|
||||
|
||||
var p = OS.popen(["objj", "--xml-output-format", "objjErrorTestFile.j"]);
|
||||
[self assert:1 equals:p.wait() message:"objj failed"];
|
||||
[self assert:"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"><plist version = \"1.0\"><array><dict><key>line</key><integer>1</integer><key>path</key><string>/Users/Dogild/Project/cappuccino/objjErrorTestFile.j</string><key>message</key><string>Can't find superclass CPObject</string></dict></array></plist>\n" equals:p.stdout.read() message:"objj failed"];
|
||||
|
||||
var p = OS.popen(["objj", "--xml-output-format", "objjWarningTestFile.j"]);
|
||||
[self assert:0 equals:p.wait() message:"objj failed"];
|
||||
[self assert:"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"><plist version = \"1.0\"><array><dict><key>line</key><integer>1</integer><key>path</key><string>/Users/Dogild/Project/cappuccino/objjWarningTestFile.j</string><key>message</key><string>\n@import <Foundation/Foundation.j>@implementation AppController : CPObject{CPWindow theWindow;}@end\
|
||||
\n ^\
|
||||
\nWARNING line 1 in file:/Users/Dogild/Project/cappuccino/objjWarningTestFile.j: Unknown type 'CPWindow' for ivar 'theWindow'</string></dict></array></plist>\n" equals:p.stdout.read() message:"objj failed"];
|
||||
|
||||
status = OS.system(["objj", "-m", "ToolsTestApp/AppController.j", "ToolsTestApp/AppController.j"]);
|
||||
[self assert:0 equals:status message:"objj failed with several files"];
|
||||
|
||||
status = OS.system(["objj", "-I", "ToolsTestApp/Frameworks", "ToolsTestApp/AppController.j"]);
|
||||
[self assert:0 equals:status message:"objj failed with options -I"];
|
||||
|
||||
FILE.write("objj2objcskeletonTestFile.j", "@import <Foundation/CPObject.j>\n@import <AppKit/AppKit.j>\n\n\n@implementation AppController : CPObject\n{\n @outlet CPSplitView splitViewA;\n @outlet CPSplitView splitViewB;\n @outlet CPSplitView splitViewC;\n}\n\n@end");
|
||||
|
||||
status = OS.system(["objj2objcskeleton", "objj2objcskeletonTestFile.j", "."]);
|
||||
[self assert:0 equals:status message:"objj2objcskeleton failed"];
|
||||
|
||||
@@ -60,9 +79,4 @@ function cleanup() {
|
||||
[self assert:contentMFile equals:expectedMResult message:@"File generated by objj2objcskeleton is wrong"];
|
||||
}
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
cleanup();
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in new issue
Block a user