-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Changes to XML generator; add SyncViewController+TestDriver
- Loading branch information
1 parent
09ea2c8
commit 2827a55
Showing
6 changed files
with
360 additions
and
41 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
// | ||
// SyncViewController+TestDriver.h | ||
// PWStore | ||
// | ||
// Created by Andy Sawyer on 04/06/2012. | ||
// Copyright 2012 Andy Sawyer. All rights reserved. | ||
// | ||
|
||
#import <Foundation/Foundation.h> | ||
#import "SyncViewController.h" | ||
|
||
@class PWData; | ||
@interface SyncViewController (TestDriver) | ||
-(PWData *)getRootData; | ||
-(void)testXmlImport; | ||
-(void)testXmlExport; | ||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
// | ||
// SyncViewController+TestDriver.m | ||
// PWStore | ||
// | ||
// Created by Andy Sawyer on 04/06/2012. | ||
// Copyright 2012 __MyCompanyName__. All rights reserved. | ||
// | ||
|
||
#import "SyncViewController+TestDriver.h" | ||
#import "PWData.h" | ||
#import "UIApplication+Utility.h" | ||
#import "XmlWrapper.h" | ||
#import "PWStoreAppDelegate.h" | ||
|
||
|
||
@implementation SyncViewController (TestDriver) | ||
-(PWData *)getRootData | ||
{ | ||
UIApplication *app = [UIApplication sharedApplication]; | ||
NSAssert( app, @"NULL Application" ); | ||
NSObject *delegate = app.delegate; | ||
NSAssert( delegate, @"NULL Delegate" ); | ||
NSAssert( [delegate isKindOfClass:[PWStoreAppDelegate class]], @"Not a PWStoreAppDelegate" ); | ||
return ((PWStoreAppDelegate *)delegate).pwitems; | ||
} | ||
|
||
#pragma mark - | ||
#pragma mark Test Functions | ||
-(void)testXmlImport | ||
{ | ||
NSString *import = [UIApplication documentPath:@"import.xml"]; | ||
if( [[NSFileManager defaultManager] fileExistsAtPath:import] ) { | ||
NSData *data = [NSData dataWithContentsOfFile:import]; | ||
if( data ) { | ||
XmlWrapper *xml = [XmlWrapper xmlWithData:data]; | ||
NSAssert( xml, @"failed to load xml" ); | ||
if( xml ) { | ||
NSArray *results = [xml xpathQuery:@"//root/item"]; | ||
if( results ) { | ||
for( XmlNode *node in results ) { | ||
NSLog(@"node : %@", node.name); | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
|
||
-(void)testXmlExport | ||
{ | ||
XmlWrapper *xml = [[XmlWrapper alloc] init]; | ||
PWData *data = [self getRootData]; | ||
for( PWItem *item in data ) { | ||
XmlNode *node = [xml.rootNode addChildNode:@"item"]; | ||
[node addAttribute:@"title" value:item.title]; | ||
[node addAttribute:@"login" value:item.login]; | ||
[node addAttribute:@"password" value:item.password]; | ||
[node addAttribute:@"url" value:item.url]; | ||
[node addAttribute:@"email" value:item.email]; | ||
[node addChildNode:@"notes" | ||
content:item.notes]; | ||
} | ||
NSString *exp = [xml toString]; | ||
NSError *error = nil; | ||
BOOL ok = [exp writeToFile:[UIApplication documentPath:@"export.xml"] | ||
atomically:YES | ||
encoding:NSUTF8StringEncoding | ||
error:&error]; | ||
if( !ok || error ) { | ||
NSLog(@"Save failed"); | ||
} | ||
[xml release]; | ||
} | ||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.