Overview
Comment: | Add -[isEqual:] to OFXMLElement and OFXMLAttribute. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
cee604408ed05783cecc64f20d22e84e |
User & Date: | js on 2011-06-04 14:00:47 |
Other Links: | manifest | tags |
Context
2011-06-04
| ||
15:26 | Add missing include. check-in: e5017153bb user: js tags: trunk | |
14:00 | Add -[isEqual:] to OFXMLElement and OFXMLAttribute. check-in: cee604408e user: js tags: trunk | |
13:56 | Also set finishedParsing if the root element is in short form. check-in: 1bcc25c6fd user: js tags: trunk | |
Changes
Modified src/OFXMLAttribute.m from [583d33a3b1] to [a89f552160].
︙ | ︙ | |||
104 105 106 107 108 109 110 111 112 113 114 115 116 117 | return [[ns copy] autorelease]; } - (OFString*)stringValue { return [[stringValue copy] autorelease]; } - (OFXMLElement*)XMLElementBySerializing { OFAutoreleasePool *pool; OFXMLElement *element; element = [OFXMLElement elementWithName: @"object" | > > > > > > > > > > > > > > > > > > > | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | return [[ns copy] autorelease]; } - (OFString*)stringValue { return [[stringValue copy] autorelease]; } - (BOOL)isEqual: (id)object { OFXMLAttribute *otherAttribute; if (![object isKindOfClass: [OFXMLAttribute class]]) return NO; otherAttribute = object; if (![otherAttribute->name isEqual: name]) return NO; if (otherAttribute->ns != ns && ![otherAttribute->ns isEqual: ns]) return NO; if (![otherAttribute->stringValue isEqual: stringValue]) return NO; return YES; } - (OFXMLElement*)XMLElementBySerializing { OFAutoreleasePool *pool; OFXMLElement *element; element = [OFXMLElement elementWithName: @"object" |
︙ | ︙ |
Modified src/OFXMLElement.m from [fa5a63b34f] to [df26740729].
︙ | ︙ | |||
934 935 936 937 938 939 940 941 942 943 944 945 946 947 | for (i = 0; i < count; i++) if ([cArray[i]->ns isEqual: elementNS] && [cArray[i]->name isEqual: elementName]) [ret addObject: cArray[i]]; return ret; } - (void)dealloc { [name release]; [ns release]; [defaultNamespace release]; [attributes release]; | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 | for (i = 0; i < count; i++) if ([cArray[i]->ns isEqual: elementNS] && [cArray[i]->name isEqual: elementName]) [ret addObject: cArray[i]]; return ret; } - (BOOL)isEqual: (id)object { OFXMLElement *otherElement; if (![object isKindOfClass: [OFXMLElement class]]) return NO; otherElement = object; if (otherElement->name != name && ![otherElement->name isEqual: name]) return NO; if (otherElement->ns != ns && ![otherElement->ns isEqual: ns]) return NO; if (otherElement->defaultNamespace != defaultNamespace && ![otherElement->defaultNamespace isEqual: defaultNamespace]) return NO; if (otherElement->attributes != attributes && ![otherElement->attributes isEqual: attributes]) return NO; if (otherElement->namespaces != namespaces && ![otherElement->namespaces isEqual: namespaces]) return NO; if (otherElement->children != children && ![otherElement->children isEqual: children]) return NO; if (otherElement->characters != characters && ![otherElement->characters isEqual: characters]) return NO; if (otherElement->CDATA != CDATA && ![otherElement->CDATA isEqual: CDATA]) return NO; if (otherElement->comment != comment && ![otherElement->comment isEqual: comment]) return NO; return YES; } - (void)dealloc { [name release]; [ns release]; [defaultNamespace release]; [attributes release]; |
︙ | ︙ |
Modified tests/OFXMLElementTests.m from [fe66efda43] to [9cc1013df2].
︙ | ︙ | |||
125 126 127 128 129 130 131 132 133 134 | TEST(@"-[elementsForName:namespace:]", (a = [elem[2] elementsForName: @"bar" namespace: @"urn:objfw:test"]) && [a count] == 1 && [[[a firstObject] XMLString] isEqual: @"<bar xmlns='urn:objfw:test'/>"]) [pool drain]; } @end | > > > > > > | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | TEST(@"-[elementsForName:namespace:]", (a = [elem[2] elementsForName: @"bar" namespace: @"urn:objfw:test"]) && [a count] == 1 && [[[a firstObject] XMLString] isEqual: @"<bar xmlns='urn:objfw:test'/>"]) TEST(@"-[isEqual:]", [[OFXMLElement elementWithXMLString: @"<foo bar='asd'/>"] isEqual: [OFXMLElement elementWithXMLString: @"<foo bar='asd'></foo>"]] && [[OFXMLElement elementWithXMLString: @"<x><y/></x>"] isEqual: [OFXMLElement elementWithXMLString: @"<x><y></y></x>"]]) [pool drain]; } @end |