 
     describe '#exportTo()', ->
       it 'should exportTo a object and skip readonly property', ->
-        result = createObjectWith PM, makeArgs prop1: 121, prop2: 453, hidden:399, notExi:111, prop4:234, prop6:undefined
-        result.exportTo(null, null, null, true).should.be.deep.equal prop1: 121, prop2: 453, prop4: 234
-
-      if defaultValueSupport
-        it 'should exportTo a object and skip readonly property and not skip default value', ->
-          result = createObjectWith PM, makeArgs prop1: 121, prop2: 453, hidden:399, notExi:111, prop4:234, prop6:undefined
+        result = createObjectWith PM, makeArgs
+          prop1: 121, prop2: 453, hidden:399, notExi:111, prop4:234, prop6:undefined
+        result.exportTo(null, null, null, true).should.be.deep.equal
+          prop1: 121, prop2: 453, prop4: 234
+
+      if defaultValueSupport
+        it 'should exportTo a object and skip readonly and not skip default value', ->
+          result = createObjectWith PM, makeArgs
+            prop1: 121, prop2: 453, hidden:399, notExi:111, prop4:234, prop6:undefined
           result = result.exportTo(null, null, false, true)
           result.should.be.deep.equal
             prop1: 121

                'assign1':
                  assign: (value, dest, src, name)->extend {hi:'world'}, value
              , classAttrs
          result = createObjectWith SPM, makeArgs prop1: 121, prop2: 453, hidden:399, notExi:111, assign1: sd:91
          obj = {prop1:222}
          result.assignTo(obj)
          obj.should.be.deep.equal


    describe '#toObject', ->
      it 'should convert to a plain object', ->
        result = createObjectWith PM, makeArgs
          prop1: 121, prop2: 453, hidden:399, notExi:111, prop4:234, prop6:undefined
        if not defaultValueSupport
          result.toObject().should.be.deep.equal
            prop1: 121, prop2: 453, prop4: 234, prop7:719
        else
          result.toObject().should.be.deep.equal prop1: 121, prop2: 453, prop4: 234
      it 'should convert to a plain object with options', ->
        result = createObjectWith PM, makeArgs
          prop1: 121, prop2: 453, hidden:399, notExi:111, prop6:undefined
        if not defaultValueSupport
          result.toObject(prop1: 333, prop4:5).should.be.deep.equal
            prop1: 333, prop2: 453, prop4: 5, prop7:719
        else
          result.toObject(prop1: 333, prop4:5).should.be.deep.equal
            prop1: 333, prop2: 453, prop4: 5
      if defaultValueSupport
        it 'should convert to a plain object with defaults', ->
          result = createObjectWith PM, makeArgs
            prop1: 432, prop2: 453, hidden:399, notExi:111
          result.toObject().should.be.deep.equal prop2: 453
        it 'should convert to a plain object with options and defaults', ->
          result = createObjectWith PM, makeArgs prop2: 453, hidden:399, notExi:111
          result.toObject(prop3: 333, prop4:5).should.be.deep.equal
            prop3: 333, prop2: 453, prop4: 5
        it 'should convert to a plain object via meaningful name', ->
          class SPM
            inherits SPM, PM
