source/rooibos/Utils.bs

namespace rooibos
    namespace utils
        class MockNode
            public id
            public name

            public createdNodes = []
            public createdChildren = []
            public children = []
            public _subType = "Node"
            public _parent

            function new(id = "" as string, subType = "Node" as string)
                m.id = id
                m._subType = subType
            end function

            function subType() as string
                return m._subType
            end function

            function isSubType(name as string) as boolean
                return false
            end function

            function createObject(nodeType as string) as dynamic
                node = new rooibos.utils.MockNode("", nodeType)
                m.createdNodes.push(node)
                return node
            end function

            function createChild(nodeType as string) as dynamic
                node = new rooibos.utils.MockNode("", nodeType)
                m.createdChildren.push(node)
                return node
            end function

            function appendChild(child as dynamic)
                m.children.push(child)
            end function

            function getParent() as dynamic
                if m._parent = invalid then
                    m._parent = new rooibos.utils.MockNode("_generated_parent")
                end if
                return m._parent
            end function

            function addFields(fields as object)
                m.append(fields)
            end function

            function setField(field as string, value as dynamic)
                m[field] = value
            end function

            function setFields(fields as object)
                m.append(fields)
            end function

            function observeField(field as string, callback as string)
            end function

            function getChildren(offset as integer, count as integer) as roArray
                return m.children
            end function

            function removeChildren(children as roArray) as void
            end function

            function observeFieldScoped(field as string, callback as string)
            end function
        end class
    end namespace
end namespace