<commit_before>/**
 * Copyright 2015 Google Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

'use strict';

var assert = require('assert');
var extend = require('extend');
var mockery = require('mockery');
var through = require('through2');
var util = require('../../lib/common/util.js');
var uuid = require('node-uuid');

describe('streamRouter', function() {
  var streamRouter;
  var streamRouterOverrides = {};

  var UUID = uuid.v1();

  function FakeClass() {}

  before(function() {
    mockery.enable({
      useCleanCache: true,
      warnOnUnregistered: false
    });
    streamRouter = require('../../lib/common/stream-router.js');
    var streamRouterCached = extend(true, {}, streamRouter);

    Object.keys(streamRouter).forEach(function(streamRouterMethod) {
      if (typeof streamRouter[streamRouterMethod] !== 'function') {
        return;
      }

      streamRouter[streamRouterMethod] = function() {
        var args = arguments;

        if (streamRouterOverrides[streamRouterMethod]) {
          return streamRouterOverrides[streamRouterMethod].apply(this, args);
        }

        return streamRouterCached[streamRouterMethod].apply(this, args);
      };
    });
  });

  after(function() {
    mockery.deregisterAll();
    mockery.disable();
  });

  beforeEach(function() {
    FakeClass.prototype = { methodToExtend: function() { return UUID; } };
    streamRouterOverrides = {};
  });

  describe('extend', function() {
    it('should overwrite a method on a class', function() {
      var originalMethod = FakeClass.prototype.methodToExtend;
      streamRouter.extend(FakeClass, 'methodToExtend');
      var overwrittenMethod = FakeClass.prototype.methodToExtend;

      assert.notEqual(originalMethod, overwrittenMethod);<commit_msg>tests: cleaned up unused test code<commit_after>/**
 * Copyright 2015 Google Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

'use strict';

var assert = require('assert');
var extend = require('extend');
var through = require('through2');
var util = require('../../lib/common/util.js');
var uuid = require('node-uuid');

describe('streamRouter', function() {
  var streamRouter;
  var streamRouterOverrides = {};

  var UUID = uuid.v1();

  function FakeClass() {}

  before(function() {
    streamRouter = require('../../lib/common/stream-router.js');
    var streamRouterCached = extend(true, {}, streamRouter);

    Object.keys(streamRouter).forEach(function(streamRouterMethod) {
      if (typeof streamRouter[streamRouterMethod] !== 'function') {
        return;
      }

      streamRouter[streamRouterMethod] = function() {
        var args = arguments;

        if (streamRouterOverrides[streamRouterMethod]) {
          return streamRouterOverrides[streamRouterMethod].apply(this, args);
        }

        return streamRouterCached[streamRouterMethod].apply(this, args);
      };
    });
  });

  beforeEach(function() {
    FakeClass.prototype = { methodToExtend: function() { return UUID; } };
    streamRouterOverrides = {};
  });

  describe('extend', function() {
    it('should overwrite a method on a class', function() {
      var originalMethod = FakeClass.prototype.methodToExtend;
      streamRouter.extend(FakeClass, 'methodToExtend');
      var overwrittenMethod = FakeClass.prototype.methodToExtend;

      assert.notEqual(originalMethod, overwrittenMethod);
{'fraction_non_alphanumeric': 0.12034319259426507, 'fraction_numerical': 0.004515692029803568, 'mean_word_length': 3.6977730646871687, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6411243', 'n_tokens_mistral': 1206, 'n_tokens_neox': 1178, 'n_words': 349}