| 486 | if (!obj.contains(key)) return false; |
| 487 | } |
| 488 | } |
| 489 | |
| 490 | const bool additional_forbidden = |
| 491 | schema->contains("additionalProperties") && |
| 492 | (*schema)["additionalProperties"].is_boolean() && |
| 493 | !(*schema)["additionalProperties"].get<bool>(); |
| 494 | |
| 495 | bool saw_declared_key = false; |
| 496 | for (auto it = obj.begin(); it != obj.end(); ++it) { |
| 497 | const bool declared = props && props->contains(it.key()); |
| 498 | if (!declared) { |
| 499 | if (additional_forbidden) return false; |
| 500 | continue; |
no test coverage detected