Merge pull request #554 from NativeScript/atanasovg/file-system-api

Atanasovg/file system api
This commit is contained in:
Georgi Atanasov
2015-08-10 17:55:10 +03:00
13 changed files with 373 additions and 367 deletions

View File

@@ -1,14 +1,25 @@
import TKUnit = require("../TKUnit");
import fs = require("file-system");
import fileSystemAccess = require("file-system/file-system-access");
var fileAccess = new fileSystemAccess.FileSystemAccess();
export var test_UTF8_BOM_is_not_returned = function () {
var actualResult: string;
fileAccess.readText(fs.path.join(__dirname, "xml.expected"), (result) => { actualResult = result; }, (error) => { TKUnit.assert(false, "Could not read file utf8.txt"); });
var path = fs.path.join(__dirname, "xml.expected");
if (!fs.File.exists(path)) {
TKUnit.assert(false, "Could not read file utf8.txt");
return;
}
var actualCharCode = actualResult.charCodeAt(0);
var expectedCharCode = "{".charCodeAt(0);
TKUnit.assert(actualCharCode === expectedCharCode, "Actual character code: " + actualCharCode + "; Expected character code: " + expectedCharCode);
var file = fs.File.fromPath(path);
var onError = function (error) {
TKUnit.assert(false, "Could not read file utf8.txt");
}
var text = file.readTextSync(onError);
if (text) {
var actualCharCode = text.charCodeAt(0);
var expectedCharCode = "{".charCodeAt(0);
TKUnit.assert(actualCharCode === expectedCharCode, "Actual character code: " + actualCharCode + "; Expected character code: " + expectedCharCode);
}
};

View File

@@ -8,7 +8,6 @@ import gridLayoutModule = require("ui/layouts/grid-layout");
import absoluteLayoutModule = require("ui/layouts/absolute-layout");
import types = require("utils/types");
import fs = require("file-system");
import fileSystemAccess = require("file-system/file-system-access");
import observable = require("data/observable");
import stackLayoutModule = require("ui/layouts/stack-layout");
import {Label} from "ui/label";
@@ -145,27 +144,13 @@ export function test_loadWithOptionsFromTNSPath() {
};
export function test_parse_ShouldNotCrashWithoutExports() {
var fileAccess = new fileSystemAccess.FileSystemAccess();
var v: view.View;
fileAccess.readText(fs.path.join(__dirname, "mainPage.xml"), r => {
v = builder.parse(r);
});
var file = fs.File.fromPath(fs.path.join(__dirname, "mainPage.xml"));
var text = file.readTextSync();
var v: view.View = builder.parse(text);
TKUnit.assert(v instanceof view.View, "Expected result: View; Actual result: " + v + ";");
};
export function test_parse_ShouldNotCrashWithInvalidXml() {
var fileAccess = new fileSystemAccess.FileSystemAccess();
var v: view.View;
fileAccess.readText("<Page loaded='myLoaded'></Pa", r => {
v = builder.parse(r);
});
TKUnit.assert(types.isUndefined(v), "Expected result: undefined; Actual result: " + v + ";");
};
export function test_parse_ShouldFindEventHandlersInExports() {
var loaded;
var page = builder.parse("<Page loaded='myLoaded'></Page>", {

View File

@@ -9,8 +9,6 @@
import TKUnit = require("../TKUnit");
import xmlModule = require("xml");
import fs = require("file-system");
import fileSystemAccess = require("file-system/file-system-access");
var fileAccess = new fileSystemAccess.FileSystemAccess();
export var test_XmlParser_IsDefined = function () {
TKUnit.assert(typeof (xmlModule.XmlParser) !== "undefined", "Class XmlParser should be defined!");
@@ -83,14 +81,14 @@ export var test_XmlParser_IntegrationTest = function () {
actualResult += event.toString();
});
var xmlString;
fileAccess.readText(fs.path.join(__dirname, "xml.xml"), (result) => { xmlString = result; });
var file = fs.File.fromPath(fs.path.join(__dirname, "xml.xml"));
var xmlString = file.readTextSync();
xmlString = xmlString.replace(/(\r\n|\n|\r)/gm, "\n");
xmlParser.parse(xmlString);
var expectedResult: string;
fileAccess.readText(fs.path.join(__dirname, "xml.expected"), (result) => { expectedResult = result; });
file = fs.File.fromPath(fs.path.join(__dirname, "xml.expected"));
expectedResult = file.readTextSync();
var i;
var maxLength = Math.max(actualResult.length, expectedResult.length);
@@ -186,8 +184,7 @@ export var test_XmlParser_NamespacesTest = function () {
}, undefined, true);
var xmlString;
fileAccess.readText(fs.path.join(__dirname, "xml-with-namespaces.xml"), (result) => { xmlString = result; });
var file = fs.File.fromPath(fs.path.join(__dirname, "xml-with-namespaces.xml"));
var xmlString = file.readTextSync();
xmlParser.parse(xmlString);
};