theRoUS icon

JS IIFE and looping

theRoUS | PRO | 11/22/16 05:55:36 PM UTC | 0 ⭐ | 699 👁️ | Never ⏰ | []
JavaScript |

1.05 KB

|

None

|

0 👍

/

0 👎

#! /usr/bin/node
/*
 * Modules we need/use.
 */
var util        = require('util');
var chai        = require('chai');
var expect      = chai.expect;
 
OptionalString      = function(val) {
  result        = (val == void(0)) || (typeof(val) == 'string');
  util.puts('OptionalString(' + util.inspect(val) + ')=' + result.toString());
  return result;
}
 
const TestData      = {
  'test1': {
    'key1-1':       'value1-1',
    'key1-2':       'value2-2',
  },
  'test2': {
    'key2-1':       'value2-1',
    'key2-2':       'value2-2',
  },
  'test3': {
    'key3-1':       null,
    'key3-2':       19,
    'key3-3':       undefined,
  },
}
 
var testElt;
var fieldVal;
 
for (var testKey in TestData) {
  testElt       = TestData[testKey];
  describe('Checking test key ' + testKey, function () {
    for (var fieldName in testElt) {
      fieldVal      = testElt[fieldName];
      describe(testKey + '[' + fieldName + ']', function () {
        it(testKey + '[' + fieldName + '](' + fieldVal + ')', function () {
          expect(fieldVal).to.equal(fieldVal);
          expect(fieldVal).to.satisfy(OptionalString);
        });
      });
    }
  });
}

Comments