UNPKG

node-deadline

Version:

Module to interface with Deadline Compute Management System by Thinkbox Software

33 lines (27 loc) 1.25 kB
/*jshint jasmine: true*/ var PropertyMap = require( "../lib/utils/PropertyMap" ); describe( "property map functionality", function() { it( "should properly split and drill into an object", function() { var obj = { layer1: { layer2: "value" } }, prop = "layer1.layer2"; expect( PropertyMap.readProp( obj, prop ) ).toBe( "value" ); PropertyMap.writeProp( obj, "layer1.layer2", "value2" ); expect( PropertyMap.readProp( obj, prop ) ).toBe( "value2" ); } ); it( "should properly convert single depth property values", function() { var mapped, map = new PropertyMap( { endProp: "startProp" } ); mapped = map.mapObj( { startProp: null } ); expect( mapped.endProp ).toBe( null ); } ); it( "should properly convert multiple-depth property values", function() { var mapped, map = new PropertyMap( { "val": "l1.l2.l3" } ); mapped = map.mapObj( { l1: { l2: { l3: null } } } ); expect( mapped.val ).toBe( null ); } ); it( "should properly unmap a mapped object", function() { var orig, mapped, map = new PropertyMap( { "val": "l1.l2.l3" } ); mapped = map.mapObj( { l1: { l2: { l3: null } } } ); orig = map.unmapObj( mapped ); expect( orig.l1.l2.l3 ).toBe( null ); } ); } );