From 973e6fc51d5252cada9792421c08e0a11c46d84a Mon Sep 17 00:00:00 2001 From: Dana Date: Mon, 16 Nov 2015 15:25:26 +0000 Subject: [PATCH] Changes signature of addTrait and adds filtering for test users --- node_modules/c9/has-internal-test-name.js | 20 ++++++++ .../c9/has-internal-test-name_test.js | 47 +++++++++++++++++++ node_modules/c9/skip-analytics.js | 4 +- 3 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 node_modules/c9/has-internal-test-name.js create mode 100644 node_modules/c9/has-internal-test-name_test.js diff --git a/node_modules/c9/has-internal-test-name.js b/node_modules/c9/has-internal-test-name.js new file mode 100644 index 00000000..72c7413b --- /dev/null +++ b/node_modules/c9/has-internal-test-name.js @@ -0,0 +1,20 @@ +if (define === undefined) { + var define = function(fn) { + fn(require, exports, module); + }; +} + +define(function(require, exports, module) { + "use strict"; + + var internalTestNames = ["c9test", "c9 test"]; + var regex = new RegExp(".*(" + internalTestNames.join("|") + ").*", "g"); + + function hasInternalTestName(name) { + if (!name) return false; + + return regex.test(name); + } + + module.exports = hasInternalTestName; +}); \ No newline at end of file diff --git a/node_modules/c9/has-internal-test-name_test.js b/node_modules/c9/has-internal-test-name_test.js new file mode 100644 index 00000000..3909cf93 --- /dev/null +++ b/node_modules/c9/has-internal-test-name_test.js @@ -0,0 +1,47 @@ +"use strict"; +"use mocha"; + +require("c9/inline-mocha")(module); +var assert = require("assert"); +var faker = require("faker"); +var hasInternalTestName= require("c9/has-internal-test-name"); + +describe("has-internal-test-name", function() { + + it("returns false when undefined name", function() { + var name; + + assert.equal(false, hasInternalTestName(name), "should return false when name undefined"); + }); + + it("returns true when name contains c9test", function() { + var name = "c9testjkdfkfd"; + assert.equal(true, hasInternalTestName(name), "should return true when name contains c9test"); + + name = "c9test jjkdfhfkjfdh"; + assert.equal(true, hasInternalTestName(name), "should return true when name contains c9test"); + + name = " c9testjhrrj"; + assert.equal(true, hasInternalTestName(name), "should return true when name contains c9test"); + + name = " c9testjhrrj ffjh"; + assert.equal(true, hasInternalTestName(name), "should return true when name contains c9test"); + }); + + it("returns true when name contains c9 test", function() { + var name = "c9 test dkjfdgjhfgdfk"; + assert.equal(true, hasInternalTestName(name), "should return true when name contains c9 test"); + + name = "c9 testdkjfdgjhfgdfk"; + assert.equal(true, hasInternalTestName(name), "should return true when name contains c9 test"); + + name = " c9 test dkjfdgjhfgdfk "; + assert.equal(true, hasInternalTestName(name), "should return true when name contains c9 test"); + }); + + it("returns false when not internal user test name", function() { + var name = faker.name.firstName(); + + assert.equal(false, hasInternalTestName(name), "should return false when name is not for internal testing"); + }); +}); \ No newline at end of file diff --git a/node_modules/c9/skip-analytics.js b/node_modules/c9/skip-analytics.js index 7362fd63..7133131c 100644 --- a/node_modules/c9/skip-analytics.js +++ b/node_modules/c9/skip-analytics.js @@ -6,12 +6,14 @@ if (define === undefined) { define(function(require, exports, module) { "use strict"; - + var hasInternalDomain = require("c9/has-internal-domain"); + var hasInternalTestName = require("c9/has-internal-test-name"); function skipAnalytics(user) { if (!user) return true; if (user.id === -1) return true; + if (hasInternalTestName(user.name)) return true; if (hasInternalDomain(user.email)) return true; return false; }