Testing the functions of WI.AuditTestGroup.


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

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

-- Running test case: AuditTestGroup.fromPayload.emptyObject
null

-- Running test case: AuditTestGroup.fromPayload.invalidTopLevelMembers
null

-- Running test case: AuditTestGroup.fromPayload.missingSubMembers
null

-- Running test case: AuditTestGroup.fromPayload.invalidSubMembers
null

-- Running test case: AuditTestGroup.fromPayload.valid
{
  "type": "test-group",
  "name": "valid group name",
  "tests": [
    {
      "type": "test-case",
      "name": "valid test name",
      "test": "valid test function"
    }
  ]
}

-- Running test case: AuditTestGroup.fromPayload.validWithInvalidOptionals
WARN: Audit Warning: "validWithInvalidOptionals test name" has a non-string "description" value
WARN: Audit Warning: "validWithInvalidOptionals test name" has a non-string "setup" value
WARN: Audit Warning: "validWithInvalidOptionals test name" is too new to run in this Web Inspector
WARN: Audit Warning: "validWithInvalidOptionals group name" has a non-string "description" value
WARN: Audit Warning: "validWithInvalidOptionals group name" has a non-string "setup" value
WARN: Audit Warning: "validWithInvalidOptionals group name" is too new to run in this Web Inspector
{
  "type": "test-group",
  "name": "validWithInvalidOptionals group name",
  "supports": 4,
  "tests": [
    {
      "type": "test-case",
      "name": "validWithInvalidOptionals test name",
      "supports": 5,
      "test": "validWithInvalidOptionals test function"
    }
  ]
}

-- Running test case: AuditTestGroup.fromPayload.validWithValidOptionals
{
  "type": "test-group",
  "name": "validWithValidOptionals group name",
  "description": "validWithValidOptionals group description",
  "supports": 2,
  "setup": "validWithValidOptionals group setup",
  "tests": [
    {
      "type": "test-case",
      "name": "validWithValidOptionals test name",
      "description": "validWithValidOptionals test description",
      "supports": 1,
      "setup": "validWithValidOptionals test setup",
      "test": "validWithValidOptionals test function"
    }
  ]
}

-- Running test case: AuditTestGroup.fromPayload.validNested
{
  "type": "test-group",
  "name": "validNested group name",
  "description": "validNested group description",
  "supports": 2,
  "setup": "validNested group setup",
  "tests": [
    {
      "type": "test-group",
      "name": "validNested nested group name",
      "description": "validNested nested group description",
      "supports": 1,
      "setup": "validNested nested group setup",
      "tests": [
        {
          "type": "test-case",
          "name": "validNested nested test name",
          "description": "validNested nested test description",
          "supports": 0,
          "setup": "validNested nested test setup",
          "test": "validNested nested test function"
        }
      ]
    },
    {
      "type": "test-case",
      "name": "validNested test name",
      "description": "validNested test description",
      "supports": -1,
      "setup": "validNested test setup",
      "test": "validNested test function"
    }
  ]
}

