Esme Povirk (@madewokherd) commented about dlls/gdiplus/tests/image.c:
prop_item = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);status = GdipGetPropertyItem(image, prop_id[i], size, prop_item);size -= sizeof(*prop_item);expect(Ok, status);ok(prop_item->value == prop_item + 1, "expected item->value %p, got %p\n",prop_item + 1, prop_item->value);ok(td[i].type == prop_item->type ||broken(documented_type(td[i].type) == prop_item->type),"expected type %lu, got %u\n", td[i].type, prop_item->type);ok(td[i].id == prop_item->id, "expected id %#lx, got %#lx\n", td[i].id, prop_item->id);ok(prop_item->length == size, "expected length %u, got %lu\n", size, prop_item->length);ok(td[i].length == prop_item->length || broken(td[i].broken_length),"expected length %lu, got %lu\n", td[i].length, prop_item->length);ok(td[i].length == size || broken(td[i].broken_length),"expected length %lu, got %u\n", td[i].length, size);
Wouldn't this be implied by the transitive property?