Testing the fault-tolerance of WI.Recording.


== Running test suite: Recording
-- Running test case: Recording.fromPayload.nullObject
null

-- Running test case: Recording.fromPayload.nonObject
null

-- Running test case: Recording.fromPayload.emptyObject
ERROR: Recording Error: non-number version
null

-- Running test case: Recording.fromPayload.invalidTopLevelMembers
ERROR: Recording Error: non-number version
null

-- Running test case: Recording.fromPayload.invalidSubMembers
WARN: Recording Warning: unknown type "test"
WARN: Recording Warning: non-object initialState.attributes
WARN: Recording Warning: non-array initialState.states
WARN: Recording Warning: non-array initialState.attributes
WARN: Recording Warning: non-string initialState.content
{
  "version": 1,
  "type": "test",
  "initialState": {},
  "frames": [
    {
      "actions": []
    }
  ],
  "data": [
    "test"
  ]
}

-- Running test case: Recording.fromPayload.invalidFrame
WARN: Recording Warning: unknown type "test"
WARN: Recording Warning: non-array actions
{
  "version": 1,
  "type": "test",
  "initialState": {
    "attributes": {
      "test": "test"
    },
    "states": [
      {
        "test": "test"
      }
    ],
    "parameters": [
      "test"
    ],
    "content": "test"
  },
  "frames": [
    {
      "actions": []
    }
  ],
  "data": [
    "test"
  ]
}

-- Running test case: Recording.fromPayload.invalidAction
WARN: Recording Warning: unknown type "test"
{
  "version": 1,
  "type": "test",
  "initialState": {
    "attributes": {
      "test": "test"
    },
    "states": [
      {
        "test": "test"
      }
    ],
    "parameters": [
      "test"
    ],
    "content": "test"
  },
  "frames": [
    {
      "actions": [
        [
          -1,
          [],
          [],
          []
        ]
      ],
      "duration": 1,
      "incomplete": true
    }
  ],
  "data": [
    "test"
  ]
}

-- Running test case: Recording.fromPayload.invalidActionMembers
WARN: Recording Warning: unknown type "test"
WARN: Recording Warning: non-number name
WARN: Recording Warning: non-array parameters
WARN: Recording Warning: non-array swizzleTypes
WARN: Recording Warning: non-number trace
{
  "version": 1,
  "type": "test",
  "initialState": {
    "attributes": {
      "test": "test"
    },
    "states": [
      {
        "test": "test"
      }
    ],
    "parameters": [
      "test"
    ],
    "content": "test"
  },
  "frames": [
    {
      "actions": [
        [
          -1,
          [],
          [],
          []
        ]
      ],
      "duration": 1,
      "incomplete": true
    }
  ],
  "data": [
    "test"
  ]
}

-- Running test case: Recording.fromPayload.valid
WARN: Recording Warning: unknown type "test"
{
  "version": 1,
  "type": "test",
  "initialState": {
    "attributes": {
      "test": "test"
    },
    "states": [
      {
        "test": "test"
      }
    ],
    "parameters": [
      "test"
    ],
    "content": "test"
  },
  "frames": [
    {
      "actions": [
        [
          0,
          [
            0
          ],
          [
            0
          ],
          0
        ]
      ],
      "duration": 1,
      "incomplete": true
    }
  ],
  "data": [
    "test"
  ]
}

