class React::Test::Session

Constants

DSL_METHODS

Public Instance Methods

element() click to toggle source
# File lib/react/test/session.rb, line 24
def element
  @element
end
force_update!() click to toggle source
# File lib/react/test/session.rb, line 35
def force_update!
  native.force_update!
end
html() click to toggle source
# File lib/react/test/session.rb, line 39
def html
  # How can we get the current ReactElement w/o violating private APIs?
  elem = Native(native[:_reactInternalInstance][:_currentElement])
  React.render_to_static_markup(elem)
end
instance() click to toggle source
# File lib/react/test/session.rb, line 12
def instance
  unless @instance
    @native = Native(`React.addons.TestUtils.renderIntoDocument(#{element.to_n})`)
    @instance = `#{@native.to_n}._getOpalInstance()`
  end
  @instance
end
mount(component_klass, params = {}) click to toggle source
# File lib/react/test/session.rb, line 7
def mount(component_klass, params = {})
  @element = React.create_element(component_klass, params)
  instance
end
native() click to toggle source
# File lib/react/test/session.rb, line 20
def native
  @native
end
update_params(params) click to toggle source
# File lib/react/test/session.rb, line 28
def update_params(params)
  cloned_element = React::Element.new(`React.cloneElement(#{self.element.to_n}, #{params.to_n})`)
  prev_container = `#{self.instance.dom_node}.parentNode`
  React.render(cloned_element, prev_container)
  nil
end