SCXMLElementWrapper


SeasideTesting-Core

Comment:



Hierarchy:

ProtoObject
Object
SCXMLElementWrapper

Summary:

instance variables:

xmlElement

methods:

instance class
compatibility initialize parts private testing instance creation

Detail:

instance variables:

xmlElement
inferredType:
UndefinedObject

instance methods:

compatibility
attributeAt: name

	^xmlElement attributeAt: name
elements

	^xmlElement elements

initialize
initializeFromXMLElement: anElement

	xmlElement _ anElement

parts
allElements

	| result |
	result _ OrderedCollection new.
	self allElementsIn: xmlElement addTo: result.
	^ result
elementWithId: aString

	^ self elementWithId: aString ifNone: [self error: 'No such element.']
elementWithId: aString ifNone: aBlock
 
	^self allElements
		detect: [:each | (each
				attributeAt: 'id'
				ifAbsent: [])
				= aString]
		ifNone: aBlock
elementsWithClass: aString
 
	^ self allElements
		select: [:each | (each
				attributeAt: 'class'
				ifAbsent: [])
				= aString]
xmlElement

	^xmlElement

private
allElementsIn: element addTo: result
 
	result add: element.
	element
		elementsDo: [:subElement | self allElementsIn: subElement addTo: result]
allElementsWithTag: tagName in: element addTo: result
 
	element name = tagName 
		ifTrue: [result add: element]
		ifFalse: 
			[element elementsDo: 
					[:subElement | 
					self 
						allElementsWithTag: tagName
						in: subElement
						addTo: result]]
elementWithId: id containsText: aString
 
	^self xmlElement: (self elementWithId: id) containsText: aString
xmlElement: element containsText: aString
 
	^ (element contents
			anySatisfy: [:each | each isText and: [each string includesSubstring: aString caseSensitive: true]])
		or: [element elements
				anySatisfy: [:e | self xmlElement: e containsText: aString]]

testing
containsText: aString
 
	^self xmlElement: xmlElement containsText: aString

class methods:

instance creation
fromXMLElement: anElement

	^ self new initializeFromXMLElement: anElement

^top


- made by Dandelion -