in ComponentKitTests/CKFlexboxComponentTests.mm [496:519]
static BOOL areLayoutsEqual(const RCLayout &left, const RCLayout &right) {
if (left.component.class != right.component.class) {
return NO;
}
if (CGSizeEqualToSize(left.size, right.size) == NO || left.children->size() != right.children->size()) {
return NO;
}
for(std::vector<RCLayoutChild>::size_type i = 0; i != left.children->size(); i++) {
auto leftChild = left.children->at(i);
auto rightChild = right.children->at(i);
if (CGPointEqualToPoint(leftChild.position, rightChild.position) == NO) {
return NO;
}
if (areLayoutsEqual(leftChild.layout, rightChild.layout) == NO) {
return NO;
}
}
return YES;
}