This repository was archived by the owner on Oct 19, 2018. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +39
-6
lines changed
Expand file tree Collapse file tree 2 files changed +39
-6
lines changed Original file line number Diff line number Diff line change @@ -105,20 +105,29 @@ def self.unmount_component_at_node(node)
105105end
106106
107107Element . instance_eval do
108-
109- class ::Element ::DummyContext < React ::Component ::Base
108+ class Element
109+ class DummyContext < React ::Component ::Base
110+ end
110111 end
111112
112113 def self . find ( selector )
113- selector = selector . dom_node if selector . respond_to? :dom_node rescue selector
114+ selector = begin
115+ selector . dom_node
116+ rescue
117+ selector
118+ end if selector . respond_to? :dom_node
114119 `$(#{ selector } )`
115120 end
116121
117122 def self . []( selector )
118123 find ( selector )
119124 end
120125
121- def render ( &block )
122- React . render ( React ::RenderingContext . render ( nil ) { ::Element ::DummyContext . new . instance_eval &block } , self )
126+ define_method :render do |&block |
127+ React . render (
128+ React ::RenderingContext . render ( nil ) do
129+ ::Element ::DummyContext . new . instance_eval ( &block )
130+ end , self
131+ )
123132 end
124- end if Object . const_defined? ( " Element" )
133+ end if Object . const_defined? ( ' Element' )
Original file line number Diff line number Diff line change 1+ require 'spec_helper'
2+
3+ if opal?
4+ describe 'Element' do
5+ after ( :each ) do
6+ React ::API . clear_component_class_cache
7+ end
8+
9+ it 'responds to render' do
10+ expect ( Element [ 'body' ] ) . to respond_to :render
11+ end
12+
13+ it 'will find the DOM node given a react element' do
14+ stub_const 'Foo' , Class . new ( React ::Component ::Base )
15+ Foo . class_eval do
16+ def render
17+ div { 'hello' }
18+ end
19+ end
20+
21+ expect ( Element [ renderToDocument ( Foo ) ] . html ) . to eq ( 'hello' )
22+ end
23+ end
24+ end
You can’t perform that action at this time.
0 commit comments