From 30566cbc2a0095f02f7f8d652c01a212f54d8a5f Mon Sep 17 00:00:00 2001 From: Hristo Deshev Date: Thu, 4 Jun 2015 14:04:51 +0300 Subject: [PATCH] Run node-tests with correct NODE_PATH. --- gruntfile.js | 20 +++++++++++++++++++- node-tests/test-xml.ts | 23 ++++++++++++++++++++--- package.json | 1 + 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/gruntfile.js b/gruntfile.js index 1622e871f..0311ffad2 100644 --- a/gruntfile.js +++ b/gruntfile.js @@ -353,6 +353,9 @@ module.exports = function(grunt) { packApp: { cmd: "npm pack", cwd: "__dummy__" + }, + mochaNode: { + cmd: "grunt simplemocha:node" } }, multidest: { @@ -381,6 +384,11 @@ module.exports = function(grunt) { node: { src: localCfg.nodeTestsDir + '/**/*.js' } + }, + env: { + nodeTests: { + NODE_PATH: localCfg.outModulesDir, + } } }); @@ -391,6 +399,7 @@ module.exports = function(grunt) { grunt.loadNpmTasks("grunt-tslint"); grunt.loadNpmTasks("grunt-multi-dest"); grunt.loadNpmTasks("grunt-shell"); + grunt.loadNpmTasks("grunt-env"); grunt.loadNpmTasks("grunt-simple-mocha"); var cloneTasks = function(originalTasks, taskNameSuffix) @@ -521,9 +530,18 @@ module.exports = function(grunt) { "get-ready-packages" ])); + grunt.registerTask("testEnv", function() { + console.log('fafla', process.env.NODE_PATH); + //var x = require('xml') + //console.log(x); + }); + grunt.registerTask("node-tests", [ "clean:nodeTests", "ts:buildNodeTests", - "simplemocha:node", + "copy:childPackageFiles", + "copy:jsLibs", + "env:nodeTests", + "exec:mochaNode", //spawn a new process to use the new NODE_PATH ]); }; diff --git a/node-tests/test-xml.ts b/node-tests/test-xml.ts index 72db5eaa4..cdb524c4a 100644 --- a/node-tests/test-xml.ts +++ b/node-tests/test-xml.ts @@ -1,7 +1,24 @@ import {assert} from "chai"; +import {XmlParser, ParserEvent, ParserEventType} from 'xml'; +//import xml = require('xml'); -describe("test", () => { - it("dummy", () => { - assert.equal(1, 2); +describe("xml parser", () => { + it("parses simple element", () => { + let attributes = null; + let element = null; + + var parser = new XmlParser(function (event: ParserEvent) { + switch (event.eventType) { + case ParserEventType.StartElement: + element = event.elementName; + attributes = event.attributes; + break; + } + }); + + parser.parse(""); + + assert.equal('TextField', element); + assert.equal('hello', attributes['text']); }); }); diff --git a/package.json b/package.json index d9373162c..b7dd7c470 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "grunt-tslint": "0.4.2", "mocha": "2.2.5", "grunt-simple-mocha": "0.4.0", + "grunt-env": "0.4.4", "chai": "2.3.0", "typescript": "1.5.0-beta" }