You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by bh...@apache.org on 2014/03/27 16:08:33 UTC
[19/51] [partial] CB-6346 - Add node_modules to source control
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/src/jasmine.junit_reporter.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/src/jasmine.junit_reporter.js b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/src/jasmine.junit_reporter.js
new file mode 100644
index 0000000..39d0666
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/src/jasmine.junit_reporter.js
@@ -0,0 +1,200 @@
+(function() {
+
+ if (! jasmine) {
+ throw new Exception("jasmine library does not exist in global namespace!");
+ }
+
+ function elapsed(startTime, endTime) {
+ return (endTime - startTime)/1000;
+ }
+
+ function ISODateString(d) {
+ function pad(n) { return n < 10 ? '0'+n : n; }
+
+ return d.getFullYear() + '-' +
+ pad(d.getMonth()+1) + '-' +
+ pad(d.getDate()) + 'T' +
+ pad(d.getHours()) + ':' +
+ pad(d.getMinutes()) + ':' +
+ pad(d.getSeconds());
+ }
+
+ function trim(str) {
+ return str.replace(/^\s+/, "" ).replace(/\s+$/, "" );
+ }
+
+ function escapeInvalidXmlChars(str) {
+ return str.replace(/\&/g, "&")
+ .replace(/</g, "<")
+ .replace(/\>/g, ">")
+ .replace(/\"/g, """)
+ .replace(/\'/g, "'");
+ }
+
+ /**
+ * Generates JUnit XML for the given spec run.
+ * Allows the test results to be used in java based CI
+ * systems like CruiseControl and Hudson.
+ *
+ * @param {string} savePath where to save the files
+ * @param {boolean} consolidate whether to save nested describes within the
+ * same file as their parent; default: true
+ * @param {boolean} useDotNotation whether to separate suite names with
+ * dots rather than spaces (ie "Class.init" not
+ * "Class init"); default: true
+ */
+ var JUnitXmlReporter = function(savePath, consolidate, useDotNotation) {
+ this.savePath = savePath || '';
+ this.consolidate = consolidate === jasmine.undefined ? true : consolidate;
+ this.useDotNotation = useDotNotation === jasmine.undefined ? true : useDotNotation;
+ };
+ JUnitXmlReporter.finished_at = null; // will be updated after all files have been written
+
+ JUnitXmlReporter.prototype = {
+ reportSpecStarting: function(spec) {
+ spec.startTime = new Date();
+
+ if (!spec.suite.startTime) {
+ spec.suite.startTime = spec.startTime;
+ }
+ },
+
+ reportSpecResults: function(spec) {
+ var results = spec.results();
+ spec.didFail = !results.passed();
+ spec.duration = elapsed(spec.startTime, new Date());
+ spec.output = '<testcase classname="' + this.getFullName(spec.suite) +
+ '" name="' + escapeInvalidXmlChars(spec.description) + '" time="' + spec.duration + '">';
+
+ var failure = "";
+ var failures = 0;
+ var resultItems = results.getItems();
+ for (var i = 0; i < resultItems.length; i++) {
+ var result = resultItems[i];
+
+ if (result.type == 'expect' && result.passed && !result.passed()) {
+ failures += 1;
+ failure += (failures + ": " + escapeInvalidXmlChars(result.message) + " ");
+ }
+ }
+ if (failure) {
+ spec.output += "<failure>" + trim(failure) + "</failure>";
+ }
+ spec.output += "</testcase>";
+ },
+
+ reportSuiteResults: function(suite) {
+ var results = suite.results();
+ var specs = suite.specs();
+ var specOutput = "";
+ // for JUnit results, let's only include directly failed tests (not nested suites')
+ var failedCount = 0;
+
+ suite.status = results.passed() ? 'Passed.' : 'Failed.';
+ if (results.totalCount === 0) { // todo: change this to check results.skipped
+ suite.status = 'Skipped.';
+ }
+
+ // if a suite has no (active?) specs, reportSpecStarting is never called
+ // and thus the suite has no startTime -- account for that here
+ suite.startTime = suite.startTime || new Date();
+ suite.duration = elapsed(suite.startTime, new Date());
+
+ for (var i = 0; i < specs.length; i++) {
+ failedCount += specs[i].didFail ? 1 : 0;
+ specOutput += "\n " + specs[i].output;
+ }
+ suite.output = '\n<testsuite name="' + this.getFullName(suite) +
+ '" errors="0" tests="' + specs.length + '" failures="' + failedCount +
+ '" time="' + suite.duration + '" timestamp="' + ISODateString(suite.startTime) + '">';
+ suite.output += specOutput;
+ suite.output += "\n</testsuite>";
+ },
+
+ reportRunnerResults: function(runner) {
+ var suites = runner.suites();
+ for (var i = 0; i < suites.length; i++) {
+ var suite = suites[i];
+ var fileName = 'TEST-' + this.getFullName(suite, true) + '.xml';
+ var output = '<?xml version="1.0" encoding="UTF-8" ?>';
+ // if we are consolidating, only write out top-level suites
+ if (this.consolidate && suite.parentSuite) {
+ continue;
+ }
+ else if (this.consolidate) {
+ output += "\n<testsuites>";
+ output += this.getNestedOutput(suite);
+ output += "\n</testsuites>";
+ this.writeFile(this.savePath + fileName, output);
+ }
+ else {
+ output += suite.output;
+ this.writeFile(this.savePath + fileName, output);
+ }
+ }
+ // When all done, make it known on JUnitXmlReporter
+ JUnitXmlReporter.finished_at = (new Date()).getTime();
+ },
+
+ getNestedOutput: function(suite) {
+ var output = suite.output;
+ for (var i = 0; i < suite.suites().length; i++) {
+ output += this.getNestedOutput(suite.suites()[i]);
+ }
+ return output;
+ },
+
+ writeFile: function(filename, text) {
+ // Rhino
+ try {
+ var out = new java.io.BufferedWriter(new java.io.FileWriter(filename));
+ out.write(text);
+ out.close();
+ return;
+ } catch (e) {}
+ // PhantomJS, via a method injected by phantomjs-testrunner.js
+ try {
+ __phantom_writeFile(filename, text);
+ return;
+ } catch (f) {}
+ // Node.js
+ try {
+ var fs = require("fs");
+ var fd = fs.openSync(filename, "w");
+ fs.writeSync(fd, text, 0);
+ fs.closeSync(fd);
+ return;
+ } catch (g) {}
+ },
+
+ getFullName: function(suite, isFilename) {
+ var fullName;
+ if (this.useDotNotation) {
+ fullName = suite.description;
+ for (var parentSuite = suite.parentSuite; parentSuite; parentSuite = parentSuite.parentSuite) {
+ fullName = parentSuite.description + '.' + fullName;
+ }
+ }
+ else {
+ fullName = suite.getFullName();
+ }
+
+ // Either remove or escape invalid XML characters
+ if (isFilename) {
+ return fullName.replace(/[^\w]/g, "");
+ }
+ return escapeInvalidXmlChars(fullName);
+ },
+
+ log: function(str) {
+ var console = jasmine.getGlobal().console;
+
+ if (console && console.log) {
+ console.log(str);
+ }
+ }
+ };
+
+ // export public
+ jasmine.JUnitXmlReporter = JUnitXmlReporter;
+})();
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/src/jasmine.teamcity_reporter.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/src/jasmine.teamcity_reporter.js b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/src/jasmine.teamcity_reporter.js
new file mode 100644
index 0000000..e96e072
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/src/jasmine.teamcity_reporter.js
@@ -0,0 +1,139 @@
+(function() {
+ if (! jasmine) {
+ throw new Exception("jasmine library does not exist in global namespace!");
+ }
+
+ /**
+ * Basic reporter that outputs spec results to for the Teamcity build system
+ *
+ * Usage:
+ *
+ * jasmine.getEnv().addReporter(new jasmine.TeamcityReporter());
+ * jasmine.getEnv().execute();
+ */
+ var TeamcityReporter = function() {
+ this.started = false;
+ this.finished = false;
+ };
+
+ TeamcityReporter.prototype = {
+ reportRunnerResults: function(runner) { },
+
+ reportRunnerStarting: function(runner) { },
+
+ reportSpecResults: function(spec) { },
+
+ reportSpecStarting: function(spec) { },
+
+ reportSuiteResults: function(suite) {
+ var results = suite.results();
+ var path = [];
+ while(suite) {
+ path.unshift(suite.description);
+ suite = suite.parentSuite;
+ }
+ var description = path.join(' ');
+
+ this.log("##teamcity[testSuiteStarted name='" + this.escapeTeamcityString(description) + "']");
+
+ var outerThis = this;
+ var eachSpecFn = function(spec){
+ if (spec.description) {
+ outerThis.log("##teamcity[testStarted name='" + outerThis.escapeTeamcityString(spec.description) + "' captureStandardOutput='true']");
+ var specResultFn = function(result){
+ if (!result.passed_) {
+ outerThis.log("##teamcity[testFailed name='" + outerThis.escapeTeamcityString(spec.description) + "' message='|[FAILED|]' details='" + outerThis.escapeTeamcityString(result.trace.stack) + "']");
+ }
+ };
+
+ for (var j = 0, jlen = spec.items_.length; j < jlen; j++) {
+ specResultFn(spec.items_[j]);
+ }
+ outerThis.log("##teamcity[testFinished name='" + outerThis.escapeTeamcityString(spec.description) + "']");
+ }
+ };
+ for (var i = 0, ilen = results.items_.length; i < ilen; i++) {
+ eachSpecFn(results.items_[i]);
+ }
+
+
+
+ this.log("##teamcity[testSuiteFinished name='" + outerThis.escapeTeamcityString(description) + "']");
+ },
+
+ log: function(str) {
+ var console = jasmine.getGlobal().console;
+ if (console && console.log) {
+ console.log(str);
+ }
+ },
+
+ hasGroupedConsole: function() {
+ var console = jasmine.getGlobal().console;
+ return console && console.info && console.warn && console.group && console.groupEnd && console.groupCollapsed;
+ },
+
+ escapeTeamcityString: function(message) {
+ if(!message) {
+ return "";
+ }
+
+ return message.replace(/\|/g, "||")
+ .replace(/\'/g, "|'")
+ .replace(/\n/g, "|n")
+ .replace(/\r/g, "|r")
+ .replace(/\u0085/g, "|x")
+ .replace(/\u2028/g, "|l")
+ .replace(/\u2029/g, "|p")
+ .replace(/\[/g, "|[")
+ .replace(/]/g, "|]");
+ }
+ };
+
+ function suiteResults(suite) {
+ console.group(suite.description);
+ var specs = suite.specs();
+ for (var i in specs) {
+ if (specs.hasOwnProperty(i)) {
+ specResults(specs[i]);
+ }
+ }
+ var suites = suite.suites();
+ for (var j in suites) {
+ if (suites.hasOwnProperty(j)) {
+ suiteResults(suites[j]);
+ }
+ }
+ console.groupEnd();
+ }
+
+ function specResults(spec) {
+ var results = spec.results();
+ if (results.passed() && console.groupCollapsed) {
+ console.groupCollapsed(spec.description);
+ } else {
+ console.group(spec.description);
+ }
+ var items = results.getItems();
+ for (var k in items) {
+ if (items.hasOwnProperty(k)) {
+ itemResults(items[k]);
+ }
+ }
+ console.groupEnd();
+ }
+
+ function itemResults(item) {
+ if (item.passed && !item.passed()) {
+ console.warn({actual:item.actual,expected: item.expected});
+ item.trace.message = item.matcherName;
+ console.error(item.trace);
+ } else {
+ console.info('Passed');
+ }
+ }
+
+ // export public
+ jasmine.TeamcityReporter = TeamcityReporter;
+})();
+
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/src/load_reporters.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/src/load_reporters.js b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/src/load_reporters.js
new file mode 100644
index 0000000..3b4a742
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/src/load_reporters.js
@@ -0,0 +1,3 @@
+require("./jasmine.console_reporter.js")
+require("./jasmine.junit_reporter.js")
+require("./jasmine.teamcity_reporter.js")
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/JUnitXmlReporterSpec.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/JUnitXmlReporterSpec.js b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/JUnitXmlReporterSpec.js
new file mode 100644
index 0000000..e76d7fb
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/JUnitXmlReporterSpec.js
@@ -0,0 +1,214 @@
+(function(){
+ var env, spec, suite, reporter, runner;
+ function fakeSpec(suite, name) {
+ var s = new jasmine.Spec(env, suite, name);
+ suite.add(s);
+ return s;
+ }
+ function fakeSuite(name, parentSuite) {
+ var s = new jasmine.Suite(env, name, null, parentSuite || null);
+ if (parentSuite) {
+ parentSuite.add(s);
+ }
+ runner.add(s);
+ return s;
+ }
+
+ // make sure reporter is set before calling this
+ function triggerSuiteEvents(suites) {
+ for (var i=0; i<suites.length; i++) {
+ var s = suites[i];
+ for (var j=0; j<s.specs().length; j++) {
+ reporter.reportSpecStarting(s.specs()[j]);
+ reporter.reportSpecResults(s.specs()[j]);
+ }
+ reporter.reportSuiteResults(s);
+ }
+ }
+
+ describe("JUnitXmlReporter", function(){
+
+ beforeEach(function(){
+ env = new jasmine.Env();
+ env.updateInterval = 0;
+ runner = new jasmine.Runner(env);
+
+ suite = fakeSuite("ParentSuite");
+ spec = fakeSpec(suite, "should be a dummy with invalid characters: & < > \" '");
+ reporter = new jasmine.JUnitXmlReporter();
+ });
+
+ describe("constructor", function(){
+ it("should default path to an empty string", function(){
+ expect(reporter.savePath).toEqual("");
+ });
+ it("should default consolidate to true", function(){
+ expect(reporter.consolidate).toBe(true);
+ });
+ it("should default useDotNotation to true", function(){
+ expect(reporter.useDotNotation).toBe(true);
+ });
+ });
+
+ describe("reportSpecStarting", function(){
+ it("should add start time", function(){
+ reporter.reportSpecStarting(spec);
+ expect(spec.startTime).not.toBeUndefined();
+ });
+ it("shound add start time to the suite", function(){
+ expect(suite.startTime).toBeUndefined();
+ reporter.reportSpecStarting(spec);
+ expect(suite.startTime).not.toBeUndefined();
+ });
+ it("should not add start time to the suite if it already exists", function(){
+ var a = new Date();
+ suite.startTime = a;
+ reporter.reportSpecStarting(spec);
+ expect(suite.startTime).toBe(a);
+ });
+ });
+
+ describe("reportSpecResults", function(){
+ beforeEach(function(){
+ reporter.reportSpecStarting(spec);
+ //spec.results_ = fakeResults();
+ reporter.reportSpecResults(spec);
+ });
+ it("should compute duration", function(){
+ expect(spec.duration).not.toBeUndefined();
+ });
+ it("should generate <testcase> output", function(){
+ expect(spec.output).not.toBeUndefined();
+ expect(spec.output).toContain("<testcase");
+ });
+ it("should escape bad xml characters in spec description", function() {
+ expect(spec.output).toContain("& < > " '");
+ });
+ it("should generate valid xml <failure> output if test failed", function(){
+ // this one takes a bit of setup to pretend a failure
+ spec = fakeSpec(suite, "should be a dummy");
+ reporter.reportSpecStarting(spec);
+ var expectationResult = new jasmine.ExpectationResult({
+ matcherName: "toEqual", passed: false, message: "Expected 'a' to equal '&'."
+ });
+ var results = {
+ passed: function() { return false; },
+ getItems: function() { return [expectationResult]; }
+ };
+ spyOn(spec, "results").andReturn(results);
+ reporter.reportSpecResults(spec);
+ expect(spec.output).toContain("<failure>");
+ expect(spec.output).toContain("to equal '&");
+ });
+ });
+
+ describe("reportSuiteResults", function(){
+ beforeEach(function(){
+ triggerSuiteEvents([suite]);
+ });
+ it("should compute duration", function(){
+ expect(suite.duration).not.toBeUndefined();
+ });
+ it("should generate startTime if no specs were executed", function(){
+ suite = fakeSuite("just a fake suite");
+ triggerSuiteEvents([suite]);
+ expect(suite.startTime).not.toBeUndefined();
+ });
+ it("should generate <testsuite> output", function(){
+ expect(suite.output).not.toBeUndefined();
+ expect(suite.output).toContain("<testsuite");
+ });
+ it("should contain <testcase> output from specs", function(){
+ expect(suite.output).toContain("<testcase");
+ });
+ });
+
+ describe("reportRunnerResults", function(){
+ var subSuite, subSubSuite, siblingSuite;
+
+ beforeEach(function(){
+ subSuite = fakeSuite("SubSuite", suite);
+ subSubSuite = fakeSuite("SubSubSuite", subSuite);
+ siblingSuite = fakeSuite("SiblingSuite With Invalid Chars & < > \" ' | : \\ /");
+ var subSpec = fakeSpec(subSuite, "should be one level down");
+ var subSubSpec = fakeSpec(subSubSuite, "should be two levels down");
+ var siblingSpec = fakeSpec(siblingSuite, "should be a sibling of Parent");
+
+ spyOn(reporter, "writeFile");
+ spyOn(reporter, "getNestedOutput").andCallThrough();
+ triggerSuiteEvents([suite, subSuite, subSubSuite, siblingSuite]);
+ });
+
+ describe("general functionality", function() {
+ beforeEach(function() {
+ reporter.reportRunnerResults(runner);
+ });
+ it("should remove invalid filename chars from the filename", function() {
+ expect(reporter.writeFile).toHaveBeenCalledWith("TEST-SiblingSuiteWithInvalidChars.xml", jasmine.any(String));
+ });
+ it("should remove invalid xml chars from the classname", function() {
+ expect(siblingSuite.output).toContain("SiblingSuite With Invalid Chars & < > " ' | : \\ /");
+ });
+ });
+
+ describe("consolidated is true", function(){
+ beforeEach(function(){
+ reporter.reportRunnerResults(runner);
+ });
+ it("should write one file per parent suite", function(){
+ expect(reporter.writeFile.callCount).toEqual(2);
+ });
+ it("should consolidate suite output", function(){
+ expect(reporter.getNestedOutput.callCount).toEqual(4);
+ });
+ it("should wrap output in <testsuites>", function(){
+ expect(reporter.writeFile.mostRecentCall.args[1]).toContain("<testsuites>");
+ });
+ it("should include xml header in every file", function(){
+ for (var i = 0; i < reporter.writeFile.callCount; i++) {
+ expect(reporter.writeFile.argsForCall[i][1]).toContain("<?xml");
+ }
+ });
+ });
+
+ describe("consolidated is false", function(){
+ beforeEach(function(){
+ reporter.consolidate = false;
+ reporter.reportRunnerResults(runner);
+ });
+ it("should write one file per suite", function(){
+ expect(reporter.writeFile.callCount).toEqual(4);
+ });
+ it("should not wrap results in <testsuites>", function(){
+ expect(reporter.writeFile.mostRecentCall.args[1]).not.toContain("<testsuites>");
+ });
+ it("should include xml header in every file", function(){
+ for (var i = 0; i < reporter.writeFile.callCount; i++) {
+ expect(reporter.writeFile.argsForCall[i][1]).toContain("<?xml");
+ }
+ });
+ });
+
+ describe("dot notation is true", function(){
+ beforeEach(function(){
+ reporter.reportRunnerResults(runner);
+ });
+ it("should separate descriptions with dot notation", function(){
+ expect(subSubSuite.output).toContain('classname="ParentSuite.SubSuite.SubSubSuite"');
+ });
+ });
+
+ describe("dot notation is false", function(){
+ beforeEach(function(){
+ reporter.useDotNotation = false;
+ triggerSuiteEvents([suite, subSuite, subSubSuite, siblingSuite]);
+ reporter.reportRunnerResults(runner);
+ });
+ it("should separate descriptions with whitespace", function(){
+ expect(subSubSuite.output).toContain('classname="ParentSuite SubSuite SubSubSuite"');
+ });
+ });
+ });
+ });
+})();
+
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/console_reporter.html
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/console_reporter.html b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/console_reporter.html
new file mode 100644
index 0000000..b0da97f
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/console_reporter.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <title>Console Reporter Spec</title>
+
+ <link rel="stylesheet" href="../ext/jasmine.css" type="text/css" />
+
+ <script type="text/javascript" src="../ext/jasmine.js"></script>
+ <script type="text/javascript" src="../ext/jasmine-html.js"></script>
+ <script type="text/javascript" src="../src/jasmine.console_reporter.js"></script>
+</head>
+<body>
+ <script type="text/javascript">
+ describe("Basic Suite", function() {
+ it("Should pass a basic truthiness test.", function() {
+ expect(true).toEqual(true);
+ });
+
+ it("Should fail when it hits an inequal statement.", function() {
+ expect(1+1).toEqual(3);
+ });
+ });
+
+ describe("Another Suite", function() {
+ it("Should pass this test as well.", function() {
+ expect(0).toEqual(0);
+ });
+ });
+
+ jasmine.getEnv().addReporter(new jasmine.ConsoleReporter());
+ jasmine.getEnv().addReporter(new jasmine.TrivialReporter());
+ jasmine.getEnv().execute();
+ </script>
+</body>
+</html>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/envjs.bootstrap.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/envjs.bootstrap.js b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/envjs.bootstrap.js
new file mode 100644
index 0000000..4415594
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/envjs.bootstrap.js
@@ -0,0 +1,14 @@
+load('../ext/env.rhino.1.2.js');
+
+Envjs.scriptTypes['text/javascript'] = true;
+
+var specFile;
+
+for (i = 0; i < arguments.length; i++) {
+ specFile = arguments[i];
+
+ console.log("Loading: " + specFile);
+
+ window.location = specFile
+}
+
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/envjs.runner.sh
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/envjs.runner.sh b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/envjs.runner.sh
new file mode 100755
index 0000000..6bc583b
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/envjs.runner.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+# cleanup previous test runs
+rm -f *.xml
+
+# fire up the envjs environment
+java -cp ../ext/js.jar:../ext/jline.jar org.mozilla.javascript.tools.shell.Main -opt -1 envjs.bootstrap.js $@
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/junit_xml_reporter.html
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/junit_xml_reporter.html b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/junit_xml_reporter.html
new file mode 100644
index 0000000..25c1ac2
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/junit_xml_reporter.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <title>JUnit XML Reporter Spec</title>
+
+ <link rel="stylesheet" href="../ext/jasmine.css" type="text/css" />
+
+ <script type="text/javascript" src="../ext/jasmine.js"></script>
+ <script type="text/javascript" src="../ext/jasmine-html.js"></script>
+ <script type="text/javascript" src="../src/jasmine.junit_reporter.js"></script>
+
+ <!-- Include spec file -->
+ <script type="text/javascript" src="JUnitXmlReporterSpec.js"></script>
+</head>
+<body>
+ <script type="text/javascript">
+ jasmine.getEnv().addReporter(new jasmine.TrivialReporter());
+ jasmine.getEnv().addReporter(new jasmine.JUnitXmlReporter());
+ jasmine.getEnv().execute();
+ </script>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/phantomjs-testrunner.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/phantomjs-testrunner.js b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/phantomjs-testrunner.js
new file mode 100644
index 0000000..edcca35
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/phantomjs-testrunner.js
@@ -0,0 +1,183 @@
+// Verify arguments
+if (phantom.args.length === 0) {
+ console.log("Simple JasmineBDD test runner for phantom.js");
+ console.log("Usage: phantomjs-testrunner.js url_to_runner.html");
+ console.log("Accepts http:// and file:// urls");
+ console.log("");
+ console.log("NOTE: This script depends on jasmine.TrivialReporter being used\non the page, for the DOM elements it creates.\n");
+ phantom.exit(2);
+}
+else {
+ var args = phantom.args;
+ var pages = [], page, address, resultsKey, i, l;
+
+ var setupPageFn = function(p, k) {
+ return function() {
+ overloadPageEvaluate(p);
+ setupWriteFileFunction(p, k);
+ };
+ };
+
+ for (i = 0, l = args.length; i < l; i++) {
+ address = args[i];
+ console.log("Loading " + address);
+
+ // if provided a url without a protocol, try to use file://
+ address = address.indexOf("://") === -1 ? "file://" + address : address;
+
+ // create a WebPage object to work with
+ page = require("webpage").create();
+ page.url = address;
+
+ // When initialized, inject the reporting functions before the page is loaded
+ // (and thus before it will try to utilize the functions)
+ resultsKey = "__jr" + Math.ceil(Math.random() * 1000000);
+ page.onInitialized = setupPageFn(page, resultsKey);
+ page.open(address, processPage(null, page, resultsKey));
+ pages.push(page);
+ }
+
+ // bail when all pages have been processed
+ setInterval(function(){
+ var exit_code = 0;
+ for (i = 0, l = pages.length; i < l; i++) {
+ page = pages[i];
+ if (page.__exit_code === null) {
+ // wait until later
+ return;
+ }
+ exit_code |= page.__exit_code;
+ }
+ phantom.exit(exit_code);
+ }, 100);
+}
+
+// Thanks to hoisting, these helpers are still available when needed above
+/**
+ * Stringifies the function, replacing any %placeholders% with mapped values.
+ *
+ * @param {function} fn The function to replace occurrences within.
+ * @param {object} replacements Key => Value object of string replacements.
+ */
+function replaceFunctionPlaceholders(fn, replacements) {
+ if (replacements && typeof replacements === "object") {
+ fn = fn.toString();
+ for (var p in replacements) {
+ if (replacements.hasOwnProperty(p)) {
+ var match = new RegExp("%" + p + "%", "g");
+ do {
+ fn = fn.replace(match, replacements[p]);
+ } while(fn.indexOf(match) !== -1);
+ }
+ }
+ }
+ return fn;
+}
+
+/**
+ * Replaces the "evaluate" method with one we can easily do substitution with.
+ *
+ * @param {phantomjs.WebPage} page The WebPage object to overload
+ */
+function overloadPageEvaluate(page) {
+ page._evaluate = page.evaluate;
+ page.evaluate = function(fn, replacements) { return page._evaluate(replaceFunctionPlaceholders(fn, replacements)); };
+ return page;
+}
+
+/** Stubs a fake writeFile function into the test runner.
+ *
+ * @param {phantomjs.WebPage} page The WebPage object to inject functions into.
+ * @param {string} key The name of the global object in which file data should
+ * be stored for later retrieval.
+ */
+// TODO: not bothering with error checking for now (closed environment)
+function setupWriteFileFunction(page, key) {
+ page.evaluate(function(){
+ window["%resultsObj%"] = {};
+ window.__phantom_writeFile = function(filename, text) {
+ window["%resultsObj%"][filename] = text;
+ };
+ }, {resultsObj: key});
+}
+
+/**
+ * Returns the loaded page's filename => output object.
+ *
+ * @param {phantomjs.WebPage} page The WebPage object to retrieve data from.
+ * @param {string} key The name of the global object to be returned. Should
+ * be the same key provided to setupWriteFileFunction.
+ */
+function getXmlResults(page, key) {
+ return page.evaluate(function(){
+ return window["%resultsObj%"] || {};
+ }, {resultsObj: key});
+}
+
+/**
+ * Processes a page.
+ *
+ * @param {string} status The status from opening the page via WebPage#open.
+ * @param {phantomjs.WebPage} page The WebPage to be processed.
+ */
+function processPage(status, page, resultsKey) {
+ if (status === null && page) {
+ page.__exit_code = null;
+ return function(stat){
+ processPage(stat, page, resultsKey);
+ };
+ }
+ if (status !== "success") {
+ console.error("Unable to load resource: " + address);
+ page.__exit_code = 2;
+ }
+ else {
+ var isFinished = function() {
+ return page.evaluate(function(){
+ // if there's a JUnitXmlReporter, return a boolean indicating if it is finished
+ if (jasmine.JUnitXmlReporter) {
+ return jasmine.JUnitXmlReporter.finished_at !== null;
+ }
+ // otherwise, see if there is anything in a "finished-at" element
+ return document.getElementsByClassName("finished-at").length &&
+ document.getElementsByClassName("finished-at")[0].innerHTML.length > 0;
+ });
+ };
+ var getResults = function() {
+ return page.evaluate(function(){
+ return document.getElementsByClassName("description").length &&
+ document.getElementsByClassName("description")[0].innerHTML.match(/(\d+) spec.* (\d+) failure.*/) ||
+ ["Unable to determine success or failure."];
+ });
+ };
+ var ival = setInterval(function(){
+ if (isFinished()) {
+ // get the results that need to be written to disk
+ var fs = require("fs"),
+ xml_results = getXmlResults(page, resultsKey),
+ output;
+ for (var filename in xml_results) {
+ if (xml_results.hasOwnProperty(filename) && (output = xml_results[filename]) && typeof(output) === "string") {
+ fs.write(filename, output, "w");
+ }
+ }
+
+ // print out a success / failure message of the results
+ var results = getResults();
+ var specs = Number(results[1]);
+ var failures = Number(results[2]);
+ console.log("Results for url " + page.url + ":");
+ if (failures > 0) {
+ console.error(" FAILURE: " + results[0]);
+ page.__exit_code = 1;
+ clearInterval(ival);
+ }
+ else {
+ console.log(" SUCCESS: " + results[0]);
+ page.__exit_code = 0;
+ clearInterval(ival);
+ }
+ }
+ }, 100);
+ }
+}
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/phantomjs.runner.sh
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/phantomjs.runner.sh b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/phantomjs.runner.sh
new file mode 100755
index 0000000..ca5d8fa
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/phantomjs.runner.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+# sanity check to make sure phantomjs exists in the PATH
+hash /usr/bin/env phantomjs &> /dev/null
+if [ $? -eq 1 ]; then
+ echo "ERROR: phantomjs is not installed"
+ echo "Please visit http://www.phantomjs.org/"
+ exit 1
+fi
+
+# sanity check number of args
+if [ $# -lt 1 ]
+then
+ echo "Usage: `basename $0` path_to_runner.html"
+ echo
+ exit 1
+fi
+
+SCRIPTDIR=$(dirname `perl -e 'use Cwd "abs_path";print abs_path(shift)' $0`)
+TESTFILE=""
+while (( "$#" )); do
+ TESTFILE="$TESTFILE `perl -e 'use Cwd "abs_path";print abs_path(shift)' $1`"
+ shift
+done
+
+# cleanup previous test runs
+cd $SCRIPTDIR
+rm -f *.xml
+
+# make sure phantomjs submodule is initialized
+cd ..
+git submodule update --init
+
+# fire up the phantomjs environment and run the test
+cd $SCRIPTDIR
+/usr/bin/env phantomjs $SCRIPTDIR/phantomjs-testrunner.js $TESTFILE
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/teamcity_reporter.html
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/teamcity_reporter.html b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/teamcity_reporter.html
new file mode 100644
index 0000000..4803e1e
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/jasmine-reporters/test/teamcity_reporter.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <title>Console Reporter Spec</title>
+
+ <link rel="stylesheet" href="../ext/jasmine.css" type="text/css" />
+
+ <script type="text/javascript" src="../ext/jasmine.js"></script>
+ <script type="text/javascript" src="../ext/jasmine-html.js"></script>
+ <script type="text/javascript" src="../src/jasmine.teamcity_reporter.js"></script>
+</head>
+<body>
+ <script type="text/javascript">
+ describe("Basic Suite", function() {
+ it("Should pass a basic truthiness test.", function() {
+ expect(true).toEqual(true);
+ });
+
+ it("Should fail when it hits an inequal statement.", function() {
+ expect(1+1).toEqual(3);
+ });
+ });
+
+ describe("Another Suite", function() {
+ it("Should pass this test as well.", function() {
+ expect(0).toEqual(0);
+ });
+ });
+
+ jasmine.getEnv().addReporter(new jasmine.TeamcityReporter());
+ jasmine.getEnv().addReporter(new jasmine.TrivialReporter());
+ jasmine.getEnv().execute();
+ </script>
+</body>
+</html>
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/.npmignore
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/.npmignore b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/.npmignore
new file mode 100644
index 0000000..9303c34
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/.npmignore
@@ -0,0 +1,2 @@
+node_modules/
+npm-debug.log
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/.travis.yml
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/.travis.yml b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/.travis.yml
new file mode 100644
index 0000000..84fd7ca
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/.travis.yml
@@ -0,0 +1,5 @@
+language: node_js
+node_js:
+ - 0.6
+ - 0.8
+ - 0.9
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/LICENSE
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/LICENSE b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/LICENSE
new file mode 100644
index 0000000..432d1ae
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/LICENSE
@@ -0,0 +1,21 @@
+Copyright 2010 James Halliday (mail@substack.net)
+
+This project is free software released under the MIT/X11 license:
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/examples/pow.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/examples/pow.js b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/examples/pow.js
new file mode 100644
index 0000000..e692421
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/examples/pow.js
@@ -0,0 +1,6 @@
+var mkdirp = require('mkdirp');
+
+mkdirp('/tmp/foo/bar/baz', function (err) {
+ if (err) console.error(err)
+ else console.log('pow!')
+});
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/index.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/index.js b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/index.js
new file mode 100644
index 0000000..fda6de8
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/index.js
@@ -0,0 +1,82 @@
+var path = require('path');
+var fs = require('fs');
+
+module.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP;
+
+function mkdirP (p, mode, f, made) {
+ if (typeof mode === 'function' || mode === undefined) {
+ f = mode;
+ mode = 0777 & (~process.umask());
+ }
+ if (!made) made = null;
+
+ var cb = f || function () {};
+ if (typeof mode === 'string') mode = parseInt(mode, 8);
+ p = path.resolve(p);
+
+ fs.mkdir(p, mode, function (er) {
+ if (!er) {
+ made = made || p;
+ return cb(null, made);
+ }
+ switch (er.code) {
+ case 'ENOENT':
+ mkdirP(path.dirname(p), mode, function (er, made) {
+ if (er) cb(er, made);
+ else mkdirP(p, mode, cb, made);
+ });
+ break;
+
+ // In the case of any other error, just see if there's a dir
+ // there already. If so, then hooray! If not, then something
+ // is borked.
+ default:
+ fs.stat(p, function (er2, stat) {
+ // if the stat fails, then that's super weird.
+ // let the original error be the failure reason.
+ if (er2 || !stat.isDirectory()) cb(er, made)
+ else cb(null, made);
+ });
+ break;
+ }
+ });
+}
+
+mkdirP.sync = function sync (p, mode, made) {
+ if (mode === undefined) {
+ mode = 0777 & (~process.umask());
+ }
+ if (!made) made = null;
+
+ if (typeof mode === 'string') mode = parseInt(mode, 8);
+ p = path.resolve(p);
+
+ try {
+ fs.mkdirSync(p, mode);
+ made = made || p;
+ }
+ catch (err0) {
+ switch (err0.code) {
+ case 'ENOENT' :
+ made = sync(path.dirname(p), mode, made);
+ sync(p, mode, made);
+ break;
+
+ // In the case of any other error, just see if there's a dir
+ // there already. If so, then hooray! If not, then something
+ // is borked.
+ default:
+ var stat;
+ try {
+ stat = fs.statSync(p);
+ }
+ catch (err1) {
+ throw err0;
+ }
+ if (!stat.isDirectory()) throw err0;
+ break;
+ }
+ }
+
+ return made;
+};
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/package.json
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/package.json b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/package.json
new file mode 100644
index 0000000..169f15a
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/package.json
@@ -0,0 +1,33 @@
+{
+ "name": "mkdirp",
+ "description": "Recursively mkdir, like `mkdir -p`",
+ "version": "0.3.5",
+ "author": {
+ "name": "James Halliday",
+ "email": "mail@substack.net",
+ "url": "http://substack.net"
+ },
+ "main": "./index",
+ "keywords": [
+ "mkdir",
+ "directory"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "http://github.com/substack/node-mkdirp.git"
+ },
+ "scripts": {
+ "test": "tap test/*.js"
+ },
+ "devDependencies": {
+ "tap": "~0.4.0"
+ },
+ "license": "MIT",
+ "readme": "# mkdirp\n\nLike `mkdir -p`, but in node.js!\n\n[![build status](https://secure.travis-ci.org/substack/node-mkdirp.png)](http://travis-ci.org/substack/node-mkdirp)\n\n# example\n\n## pow.js\n\n```js\nvar mkdirp = require('mkdirp');\n \nmkdirp('/tmp/foo/bar/baz', function (err) {\n if (err) console.error(err)\n else console.log('pow!')\n});\n```\n\nOutput\n\n```\npow!\n```\n\nAnd now /tmp/foo/bar/baz exists, huzzah!\n\n# methods\n\n```js\nvar mkdirp = require('mkdirp');\n```\n\n## mkdirp(dir, mode, cb)\n\nCreate a new directory and any necessary subdirectories at `dir` with octal\npermission string `mode`.\n\nIf `mode` isn't specified, it defaults to `0777 & (~process.umask())`.\n\n`cb(err, made)` fires with the error or the first directory `made`\nthat had to be created, if any.\n\n## mkdirp.sync(dir, mode)\n\nSynchronously create a new directory and any necessary subdirectories at `dir`\nwith octal permission string `mode`.\n\nIf `mode` isn't specified, it def
aults to `0777 & (~process.umask())`.\n\nReturns the first directory that had to be created, if any.\n\n# install\n\nWith [npm](http://npmjs.org) do:\n\n```\nnpm install mkdirp\n```\n\n# license\n\nMIT\n",
+ "readmeFilename": "readme.markdown",
+ "bugs": {
+ "url": "https://github.com/substack/node-mkdirp/issues"
+ },
+ "_id": "mkdirp@0.3.5",
+ "_from": "mkdirp@~0.3.5"
+}
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/readme.markdown
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/readme.markdown b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/readme.markdown
new file mode 100644
index 0000000..83b0216
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/readme.markdown
@@ -0,0 +1,63 @@
+# mkdirp
+
+Like `mkdir -p`, but in node.js!
+
+[![build status](https://secure.travis-ci.org/substack/node-mkdirp.png)](http://travis-ci.org/substack/node-mkdirp)
+
+# example
+
+## pow.js
+
+```js
+var mkdirp = require('mkdirp');
+
+mkdirp('/tmp/foo/bar/baz', function (err) {
+ if (err) console.error(err)
+ else console.log('pow!')
+});
+```
+
+Output
+
+```
+pow!
+```
+
+And now /tmp/foo/bar/baz exists, huzzah!
+
+# methods
+
+```js
+var mkdirp = require('mkdirp');
+```
+
+## mkdirp(dir, mode, cb)
+
+Create a new directory and any necessary subdirectories at `dir` with octal
+permission string `mode`.
+
+If `mode` isn't specified, it defaults to `0777 & (~process.umask())`.
+
+`cb(err, made)` fires with the error or the first directory `made`
+that had to be created, if any.
+
+## mkdirp.sync(dir, mode)
+
+Synchronously create a new directory and any necessary subdirectories at `dir`
+with octal permission string `mode`.
+
+If `mode` isn't specified, it defaults to `0777 & (~process.umask())`.
+
+Returns the first directory that had to be created, if any.
+
+# install
+
+With [npm](http://npmjs.org) do:
+
+```
+npm install mkdirp
+```
+
+# license
+
+MIT
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/chmod.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/chmod.js b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/chmod.js
new file mode 100644
index 0000000..520dcb8
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/chmod.js
@@ -0,0 +1,38 @@
+var mkdirp = require('../').mkdirp;
+var path = require('path');
+var fs = require('fs');
+var test = require('tap').test;
+
+var ps = [ '', 'tmp' ];
+
+for (var i = 0; i < 25; i++) {
+ var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ ps.push(dir);
+}
+
+var file = ps.join('/');
+
+test('chmod-pre', function (t) {
+ var mode = 0744
+ mkdirp(file, mode, function (er) {
+ t.ifError(er, 'should not error');
+ fs.stat(file, function (er, stat) {
+ t.ifError(er, 'should exist');
+ t.ok(stat && stat.isDirectory(), 'should be directory');
+ t.equal(stat && stat.mode & 0777, mode, 'should be 0744');
+ t.end();
+ });
+ });
+});
+
+test('chmod', function (t) {
+ var mode = 0755
+ mkdirp(file, mode, function (er) {
+ t.ifError(er, 'should not error');
+ fs.stat(file, function (er, stat) {
+ t.ifError(er, 'should exist');
+ t.ok(stat && stat.isDirectory(), 'should be directory');
+ t.end();
+ });
+ });
+});
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/clobber.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/clobber.js b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/clobber.js
new file mode 100644
index 0000000..0eb7099
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/clobber.js
@@ -0,0 +1,37 @@
+var mkdirp = require('../').mkdirp;
+var path = require('path');
+var fs = require('fs');
+var test = require('tap').test;
+
+var ps = [ '', 'tmp' ];
+
+for (var i = 0; i < 25; i++) {
+ var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ ps.push(dir);
+}
+
+var file = ps.join('/');
+
+// a file in the way
+var itw = ps.slice(0, 3).join('/');
+
+
+test('clobber-pre', function (t) {
+ console.error("about to write to "+itw)
+ fs.writeFileSync(itw, 'I AM IN THE WAY, THE TRUTH, AND THE LIGHT.');
+
+ fs.stat(itw, function (er, stat) {
+ t.ifError(er)
+ t.ok(stat && stat.isFile(), 'should be file')
+ t.end()
+ })
+})
+
+test('clobber', function (t) {
+ t.plan(2);
+ mkdirp(file, 0755, function (err) {
+ t.ok(err);
+ t.equal(err.code, 'ENOTDIR');
+ t.end();
+ });
+});
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/mkdirp.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/mkdirp.js b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/mkdirp.js
new file mode 100644
index 0000000..b07cd70
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/mkdirp.js
@@ -0,0 +1,28 @@
+var mkdirp = require('../');
+var path = require('path');
+var fs = require('fs');
+var test = require('tap').test;
+
+test('woo', function (t) {
+ t.plan(2);
+ var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+
+ var file = '/tmp/' + [x,y,z].join('/');
+
+ mkdirp(file, 0755, function (err) {
+ if (err) t.fail(err);
+ else path.exists(file, function (ex) {
+ if (!ex) t.fail('file not created')
+ else fs.stat(file, function (err, stat) {
+ if (err) t.fail(err)
+ else {
+ t.equal(stat.mode & 0777, 0755);
+ t.ok(stat.isDirectory(), 'target not a directory');
+ t.end();
+ }
+ })
+ })
+ });
+});
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/perm.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/perm.js b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/perm.js
new file mode 100644
index 0000000..23a7abb
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/perm.js
@@ -0,0 +1,32 @@
+var mkdirp = require('../');
+var path = require('path');
+var fs = require('fs');
+var test = require('tap').test;
+
+test('async perm', function (t) {
+ t.plan(2);
+ var file = '/tmp/' + (Math.random() * (1<<30)).toString(16);
+
+ mkdirp(file, 0755, function (err) {
+ if (err) t.fail(err);
+ else path.exists(file, function (ex) {
+ if (!ex) t.fail('file not created')
+ else fs.stat(file, function (err, stat) {
+ if (err) t.fail(err)
+ else {
+ t.equal(stat.mode & 0777, 0755);
+ t.ok(stat.isDirectory(), 'target not a directory');
+ t.end();
+ }
+ })
+ })
+ });
+});
+
+test('async root perm', function (t) {
+ mkdirp('/tmp', 0755, function (err) {
+ if (err) t.fail(err);
+ t.end();
+ });
+ t.end();
+});
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/perm_sync.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/perm_sync.js b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/perm_sync.js
new file mode 100644
index 0000000..f685f60
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/perm_sync.js
@@ -0,0 +1,39 @@
+var mkdirp = require('../');
+var path = require('path');
+var fs = require('fs');
+var test = require('tap').test;
+
+test('sync perm', function (t) {
+ t.plan(2);
+ var file = '/tmp/' + (Math.random() * (1<<30)).toString(16) + '.json';
+
+ mkdirp.sync(file, 0755);
+ path.exists(file, function (ex) {
+ if (!ex) t.fail('file not created')
+ else fs.stat(file, function (err, stat) {
+ if (err) t.fail(err)
+ else {
+ t.equal(stat.mode & 0777, 0755);
+ t.ok(stat.isDirectory(), 'target not a directory');
+ t.end();
+ }
+ })
+ });
+});
+
+test('sync root perm', function (t) {
+ t.plan(1);
+
+ var file = '/tmp';
+ mkdirp.sync(file, 0755);
+ path.exists(file, function (ex) {
+ if (!ex) t.fail('file not created')
+ else fs.stat(file, function (err, stat) {
+ if (err) t.fail(err)
+ else {
+ t.ok(stat.isDirectory(), 'target not a directory');
+ t.end();
+ }
+ })
+ });
+});
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/race.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/race.js b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/race.js
new file mode 100644
index 0000000..96a0447
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/race.js
@@ -0,0 +1,41 @@
+var mkdirp = require('../').mkdirp;
+var path = require('path');
+var fs = require('fs');
+var test = require('tap').test;
+
+test('race', function (t) {
+ t.plan(4);
+ var ps = [ '', 'tmp' ];
+
+ for (var i = 0; i < 25; i++) {
+ var dir = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ ps.push(dir);
+ }
+ var file = ps.join('/');
+
+ var res = 2;
+ mk(file, function () {
+ if (--res === 0) t.end();
+ });
+
+ mk(file, function () {
+ if (--res === 0) t.end();
+ });
+
+ function mk (file, cb) {
+ mkdirp(file, 0755, function (err) {
+ if (err) t.fail(err);
+ else path.exists(file, function (ex) {
+ if (!ex) t.fail('file not created')
+ else fs.stat(file, function (err, stat) {
+ if (err) t.fail(err)
+ else {
+ t.equal(stat.mode & 0777, 0755);
+ t.ok(stat.isDirectory(), 'target not a directory');
+ if (cb) cb();
+ }
+ })
+ })
+ });
+ }
+});
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/rel.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/rel.js b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/rel.js
new file mode 100644
index 0000000..7985824
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/rel.js
@@ -0,0 +1,32 @@
+var mkdirp = require('../');
+var path = require('path');
+var fs = require('fs');
+var test = require('tap').test;
+
+test('rel', function (t) {
+ t.plan(2);
+ var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+
+ var cwd = process.cwd();
+ process.chdir('/tmp');
+
+ var file = [x,y,z].join('/');
+
+ mkdirp(file, 0755, function (err) {
+ if (err) t.fail(err);
+ else path.exists(file, function (ex) {
+ if (!ex) t.fail('file not created')
+ else fs.stat(file, function (err, stat) {
+ if (err) t.fail(err)
+ else {
+ process.chdir(cwd);
+ t.equal(stat.mode & 0777, 0755);
+ t.ok(stat.isDirectory(), 'target not a directory');
+ t.end();
+ }
+ })
+ })
+ });
+});
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/return.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/return.js b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/return.js
new file mode 100644
index 0000000..bce68e5
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/return.js
@@ -0,0 +1,25 @@
+var mkdirp = require('../');
+var path = require('path');
+var fs = require('fs');
+var test = require('tap').test;
+
+test('return value', function (t) {
+ t.plan(4);
+ var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+
+ var file = '/tmp/' + [x,y,z].join('/');
+
+ // should return the first dir created.
+ // By this point, it would be profoundly surprising if /tmp didn't
+ // already exist, since every other test makes things in there.
+ mkdirp(file, function (err, made) {
+ t.ifError(err);
+ t.equal(made, '/tmp/' + x);
+ mkdirp(file, function (err, made) {
+ t.ifError(err);
+ t.equal(made, null);
+ });
+ });
+});
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/return_sync.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/return_sync.js b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/return_sync.js
new file mode 100644
index 0000000..7c222d3
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/return_sync.js
@@ -0,0 +1,24 @@
+var mkdirp = require('../');
+var path = require('path');
+var fs = require('fs');
+var test = require('tap').test;
+
+test('return value', function (t) {
+ t.plan(2);
+ var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+
+ var file = '/tmp/' + [x,y,z].join('/');
+
+ // should return the first dir created.
+ // By this point, it would be profoundly surprising if /tmp didn't
+ // already exist, since every other test makes things in there.
+ // Note that this will throw on failure, which will fail the test.
+ var made = mkdirp.sync(file);
+ t.equal(made, '/tmp/' + x);
+
+ // making the same file again should have no effect.
+ made = mkdirp.sync(file);
+ t.equal(made, null);
+});
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/root.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/root.js b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/root.js
new file mode 100644
index 0000000..97ad7a2
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/root.js
@@ -0,0 +1,18 @@
+var mkdirp = require('../');
+var path = require('path');
+var fs = require('fs');
+var test = require('tap').test;
+
+test('root', function (t) {
+ // '/' on unix, 'c:/' on windows.
+ var file = path.resolve('/');
+
+ mkdirp(file, 0755, function (err) {
+ if (err) throw err
+ fs.stat(file, function (er, stat) {
+ if (er) throw er
+ t.ok(stat.isDirectory(), 'target is a directory');
+ t.end();
+ })
+ });
+});
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/sync.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/sync.js b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/sync.js
new file mode 100644
index 0000000..7530cad
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/sync.js
@@ -0,0 +1,32 @@
+var mkdirp = require('../');
+var path = require('path');
+var fs = require('fs');
+var test = require('tap').test;
+
+test('sync', function (t) {
+ t.plan(2);
+ var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+
+ var file = '/tmp/' + [x,y,z].join('/');
+
+ try {
+ mkdirp.sync(file, 0755);
+ } catch (err) {
+ t.fail(err);
+ return t.end();
+ }
+
+ path.exists(file, function (ex) {
+ if (!ex) t.fail('file not created')
+ else fs.stat(file, function (err, stat) {
+ if (err) t.fail(err)
+ else {
+ t.equal(stat.mode & 0777, 0755);
+ t.ok(stat.isDirectory(), 'target not a directory');
+ t.end();
+ }
+ });
+ });
+});
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/umask.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/umask.js b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/umask.js
new file mode 100644
index 0000000..64ccafe
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/umask.js
@@ -0,0 +1,28 @@
+var mkdirp = require('../');
+var path = require('path');
+var fs = require('fs');
+var test = require('tap').test;
+
+test('implicit mode from umask', function (t) {
+ t.plan(2);
+ var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+
+ var file = '/tmp/' + [x,y,z].join('/');
+
+ mkdirp(file, function (err) {
+ if (err) t.fail(err);
+ else path.exists(file, function (ex) {
+ if (!ex) t.fail('file not created')
+ else fs.stat(file, function (err, stat) {
+ if (err) t.fail(err)
+ else {
+ t.equal(stat.mode & 0777, 0777 & (~process.umask()));
+ t.ok(stat.isDirectory(), 'target not a directory');
+ t.end();
+ }
+ })
+ })
+ });
+});
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/umask_sync.js
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/umask_sync.js b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/umask_sync.js
new file mode 100644
index 0000000..35bd5cb
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/mkdirp/test/umask_sync.js
@@ -0,0 +1,32 @@
+var mkdirp = require('../');
+var path = require('path');
+var fs = require('fs');
+var test = require('tap').test;
+
+test('umask sync modes', function (t) {
+ t.plan(2);
+ var x = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ var y = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+ var z = Math.floor(Math.random() * Math.pow(16,4)).toString(16);
+
+ var file = '/tmp/' + [x,y,z].join('/');
+
+ try {
+ mkdirp.sync(file);
+ } catch (err) {
+ t.fail(err);
+ return t.end();
+ }
+
+ path.exists(file, function (ex) {
+ if (!ex) t.fail('file not created')
+ else fs.stat(file, function (err, stat) {
+ if (err) t.fail(err)
+ else {
+ t.equal(stat.mode & 0777, (0777 & (~process.umask())));
+ t.ok(stat.isDirectory(), 'target not a directory');
+ t.end();
+ }
+ });
+ });
+});
http://git-wip-us.apache.org/repos/asf/cordova-blackberry/blob/1139813c/blackberry10/node_modules/jasmine-node/node_modules/requirejs/README.md
----------------------------------------------------------------------
diff --git a/blackberry10/node_modules/jasmine-node/node_modules/requirejs/README.md b/blackberry10/node_modules/jasmine-node/node_modules/requirejs/README.md
new file mode 100644
index 0000000..545b31d
--- /dev/null
+++ b/blackberry10/node_modules/jasmine-node/node_modules/requirejs/README.md
@@ -0,0 +1,9 @@
+# requirejs
+
+RequireJS for use in Node. includes:
+
+* r.js: the RequireJS optimizer, and AMD runtime for use in Node.
+* require.js: The browser-based AMD loader.
+
+More information at http://requirejs.org
+