mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-08-29 06:57:03 +00:00
69 lines
2.7 KiB
Plaintext
69 lines
2.7 KiB
Plaintext
var OS = require("os");
|
|
var FILE = require("file");
|
|
|
|
function cleanup() {
|
|
["ToolsTestApp", "PressTestApp", "FlattenTestApp"].forEach(function(dir) {
|
|
if (FILE.isDirectory(dir))
|
|
FILE.rmtree(dir);
|
|
});
|
|
|
|
["objj2objcskeletonTestFile.h", "objj2objcskeletonTestFile.m", "objj2objcskeletonTestFile.j"].forEach(function(file) {
|
|
if (FILE.isFile(file))
|
|
FILE.remove(file);
|
|
});
|
|
}
|
|
|
|
@implementation ToolsTest : OJTestCase
|
|
{
|
|
}
|
|
|
|
- (void)setUp
|
|
{
|
|
cleanup();
|
|
}
|
|
|
|
- (void)testTools
|
|
{
|
|
var status;
|
|
|
|
status = OS.system(["capp", "gen", "ToolsTestApp"].map(OS.enquote).join(" ") + " > /dev/null");
|
|
[self assert:0 equals:status message:"capp gen failed"];
|
|
|
|
status = OS.system(["press", "-f", "ToolsTestApp", "PressTestApp"].map(OS.enquote).join(" ") + " > /dev/null");
|
|
[self assert:0 equals:status message:"press failed"];
|
|
|
|
status = OS.system(["flatten", "-f", "ToolsTestApp", "FlattenTestApp"].map(OS.enquote).join(" ") + " > /dev/null");
|
|
[self assert:0 equals:status message:"flatten failed"];
|
|
|
|
status = OS.system(["objj", "ToolsTestApp/AppController.j"]);
|
|
[self assert:0 equals:status 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"];
|
|
|
|
var contentHeader = FILE.read("objj2objcskeletonTestFile.h"),
|
|
expectedHeaderResult = "#import <Cocoa/Cocoa.h>\n#import \"xcc_general_include.h\"\n\n@interface AppController : NSObject\n\n@property (assign) IBOutlet NSSplitView* splitViewA;\n@property (assign) IBOutlet NSSplitView* splitViewB;\n@property (assign) IBOutlet NSSplitView* splitViewC;\n\n@end\n";
|
|
|
|
[self assert:contentHeader equals:expectedHeaderResult message:@"Header generated by objj2objcskeleton is wrong"];
|
|
|
|
var contentMFile = FILE.read("objj2objcskeletonTestFile.m"),
|
|
expectedMResult = "#import \"objj2objcskeletonTestFile.h\"\n\n@implementation AppController\n@end\n";
|
|
|
|
[self assert:contentMFile equals:expectedMResult message:@"File generated by objj2objcskeleton is wrong"];
|
|
}
|
|
|
|
- (void)tearDown
|
|
{
|
|
cleanup();
|
|
}
|
|
|
|
@end
|