Skip to content

Commit 0cc90ab

Browse files
Removed calls to old React.createClass method
1 parent bf106d9 commit 0cc90ab

File tree

6 files changed

+92
-83
lines changed

6 files changed

+92
-83
lines changed

core/src/main/scala/scommons/react/UiComponent.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ package scommons.react
22

33
trait UiComponent[T] {
44

5-
type PropsType = T
6-
75
def apply(): ReactClass = reactClass
86

97
private lazy val reactClass: ReactClass = create()

showcase/src/main/scala/scommons/react/showcase/ReactRefDemo.scala

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
package scommons.react.showcase
22

3-
import io.github.shogowada.scalajs.reactjs.React
4-
import io.github.shogowada.scalajs.reactjs.classes.ReactClass
53
import io.github.shogowada.scalajs.reactjs.events.MouseSyntheticEvent
64
import org.scalajs.dom.raw.HTMLInputElement
75
import scommons.react._
86

9-
object ReactRefDemo extends UiComponent[Unit] {
7+
object ReactRefDemo extends ClassComponent[Unit] {
108

119
private case class ReactRefDemoState(textInput: ReactRef[HTMLInputElement])
1210

13-
protected def create(): ReactClass = React.createClass[Unit, ReactRefDemoState](
11+
protected def create(): ReactClass = createClass[ReactRefDemoState](
1412
getInitialState = { _ =>
1513
ReactRefDemoState(ReactRef.create[HTMLInputElement])
1614
},

test-dom/src/test/scala/scommons/react/test/dom/util/TestDOMUtilsSpec.scala

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package scommons.react.test.dom.util
22

3-
import io.github.shogowada.scalajs.reactjs.React
43
import org.scalajs.dom.MouseEvent
54
import org.scalatest.{Failed, OutcomeOf}
5+
import scommons.react._
66
import scommons.react.test.TestSpec
77

88
class TestDOMUtilsSpec extends TestSpec
@@ -100,19 +100,21 @@ class TestDOMUtilsSpec extends TestSpec
100100
it should "assert props and children when assertDOMElement" in {
101101
//given
102102
val id = System.currentTimeMillis().toString
103-
val compClass = React.createClass[Unit, Unit] { _ =>
104-
<.div(
105-
^.className := "test1 test2",
106-
^.style := Map("display" -> "none"),
107-
^.id := id,
108-
^.hidden := true,
109-
^.height := 10
110-
)(
111-
<.div()("child1"),
112-
<.div()("child2")
113-
)
103+
val compClass = new FunctionComponent[Unit] {
104+
protected def render(props: Props): ReactElement = {
105+
<.div(
106+
^.className := "test1 test2",
107+
^.style := Map("display" -> "none"),
108+
^.id := id,
109+
^.hidden := true,
110+
^.height := 10
111+
)(
112+
<.div()("child1"),
113+
<.div()("child2")
114+
)
115+
}
114116
}
115-
domRender(<(compClass)()())
117+
domRender(<(compClass())()())
116118

117119
//when & then
118120
assertDOMElement(domContainer, <.div()(

test/src/test/scala/scommons/react/test/raw/ShallowRendererSpec.scala

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,27 @@
11
package scommons.react.test.raw
22

3-
import io.github.shogowada.scalajs.reactjs.React
3+
import scommons.react._
44
import scommons.react.test.TestSpec
55

66
class ShallowRendererSpec extends TestSpec {
77

88
it should "test ShallowRenderer" in {
99
//given
10-
val testElem = React.createElement(React.createClass[Unit, Unit](_ =>
11-
<.div(
12-
^.className := "test-class",
13-
^.style := Map("display" -> "none")
14-
)(
15-
<.div.empty,
16-
<.span()("Hello")
17-
)
18-
))
10+
val testComp = new FunctionComponent[Unit] {
11+
protected def render(props: Props): ReactElement = {
12+
<.div(
13+
^.className := "test-class",
14+
^.style := Map("display" -> "none")
15+
)(
16+
<.div.empty,
17+
<.span()("Hello")
18+
)
19+
}
20+
}
1921

2022
//when
2123
val renderer = new ShallowRenderer
22-
renderer.render(testElem)
24+
renderer.render(<(testComp())()())
2325
val result = renderer.getRenderOutput()
2426

2527
//then

test/src/test/scala/scommons/react/test/util/RendererUtilsSpec.scala

Lines changed: 56 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
package scommons.react.test.util
22

3-
import io.github.shogowada.scalajs.reactjs.React
4-
import io.github.shogowada.scalajs.reactjs.VirtualDOM._
5-
import io.github.shogowada.scalajs.reactjs.classes.ReactClass
6-
import io.github.shogowada.scalajs.reactjs.elements.ReactElement
73
import io.github.shogowada.statictags.{Attribute, AttributeSpec}
84
import org.scalactic.source.Position
95
import org.scalatest.exceptions.TestFailedException
106
import org.scalatest.{Assertion, Failed, OutcomeOf}
11-
import scommons.react.UiComponent
7+
import scommons.react._
128
import scommons.react.test.TestSpec
139
import scommons.react.test.raw.RenderedInstance
1410
import scommons.react.test.util.RendererUtilsSpec._
@@ -87,10 +83,12 @@ abstract class RendererUtilsSpec[Instance <: RenderedInstance] extends TestSpec
8783

8884
it should "fail if array attribute doesn't match when assertNativeComponent" in {
8985
//given
90-
val compClass = React.createClass[Unit, Unit] { _ =>
91-
<.p(^.testArr := js.Array("test"))()
86+
val compClass = new FunctionComponent[Unit] {
87+
protected def render(props: Props): ReactElement = {
88+
<.p(^.testArr := js.Array("test"))()
89+
}
9290
}
93-
val comp = doRender(<(compClass)()())
91+
val comp = doRender(<(compClass())()())
9492

9593
//when
9694
val Failed(e) = outcomeOf {
@@ -106,12 +104,14 @@ abstract class RendererUtilsSpec[Instance <: RenderedInstance] extends TestSpec
106104

107105
it should "fail if object attribute doesn't match when assertNativeComponent" in {
108106
//given
109-
val compClass = React.createClass[Unit, Unit] { _ =>
110-
<.p(^.testObj := js.Dynamic.literal(
111-
test = 1
112-
))()
107+
val compClass = new FunctionComponent[Unit] {
108+
protected def render(props: Props): ReactElement = {
109+
<.p(^.testObj := js.Dynamic.literal(
110+
test = 1
111+
))()
112+
}
113113
}
114-
val comp = doRender(<(compClass)()())
114+
val comp = doRender(<(compClass())()())
115115

116116
//when
117117
val Failed(e) = outcomeOf {
@@ -129,10 +129,12 @@ abstract class RendererUtilsSpec[Instance <: RenderedInstance] extends TestSpec
129129

130130
it should "fail if boolean attribute doesn't match when assertNativeComponent" in {
131131
//given
132-
val compClass = React.createClass[Unit, Unit] { _ =>
133-
<.p(^.disabled := true)()
132+
val compClass = new FunctionComponent[Unit] {
133+
protected def render(props: Props): ReactElement = {
134+
<.p(^.disabled := true)()
135+
}
134136
}
135-
val comp = doRender(<(compClass)()())
137+
val comp = doRender(<(compClass())()())
136138

137139
//when
138140
val Failed(e) = outcomeOf {
@@ -175,28 +177,30 @@ abstract class RendererUtilsSpec[Instance <: RenderedInstance] extends TestSpec
175177
it should "assert props and children when assertNativeComponent" in {
176178
//given
177179
val id = System.currentTimeMillis().toString
178-
val compClass = React.createClass[Unit, Unit] { _ =>
179-
<.div(
180-
^.className := "test1 test2",
181-
^.style := Map("display" -> "none"),
182-
^.id := id,
183-
^.hidden := true,
184-
^.height := 10
185-
)(
180+
val compClass = new FunctionComponent[Unit] {
181+
protected def render(props: Props): ReactElement = {
186182
<.div(
187-
^.testArr := js.Array("test"),
188-
^.testObj := js.Dynamic.literal(
189-
test = 1,
190-
nested = js.Dynamic.literal(
191-
test2 = 2
183+
^.className := "test1 test2",
184+
^.style := Map("display" -> "none"),
185+
^.id := id,
186+
^.hidden := true,
187+
^.height := 10
188+
)(
189+
<.div(
190+
^.testArr := js.Array("test"),
191+
^.testObj := js.Dynamic.literal(
192+
test = 1,
193+
nested = js.Dynamic.literal(
194+
test2 = 2
195+
)
192196
)
193-
)
194-
)(),
195-
<.div()("child1"),
196-
<.div()("child2")
197-
)
197+
)(),
198+
<.div()("child1"),
199+
<.div()("child2")
200+
)
201+
}
198202
}
199-
val comp = doRender(<(compClass)()())
203+
val comp = doRender(<(compClass())()())
200204

201205
//when & then
202206
assertNativeComponent(comp, <.div(
@@ -226,24 +230,28 @@ object RendererUtilsSpec {
226230
case class Comp1Props(a: Int)
227231
case class Comp2Props(b: Boolean)
228232

229-
object TestComp extends UiComponent[Comp1Props] {
230-
231-
protected def create(): ReactClass = React.createClass[Comp1Props, Unit] { self =>
232-
<.p(^.className := "test1")(self.props.children)
233+
object TestComp extends FunctionComponent[Comp1Props] {
234+
protected def render(props: Props): ReactElement = {
235+
<.p(^.className := "test1")(props.children)
233236
}
234237
}
235238

236-
val emptyComp: ReactClass = React.createClass[Comp1Props, Unit] { _ =>
237-
<.div.empty
238-
}
239+
val emptyComp: ReactClass = new FunctionComponent[Comp1Props] {
240+
protected def render(props: Props): ReactElement = {
241+
<.div.empty
242+
}
243+
}.apply()
239244

240-
val comp2Class: ReactClass = React.createClass[Comp2Props, Unit] { _ =>
241-
<.div(^.className := "test2")(
242-
<(TestComp())(^.wrapped := Comp1Props(1))("test2 child1"),
243-
<(TestComp())(^.wrapped := Comp1Props(2))("test2 child2")
244-
)
245-
}
245+
val comp2Class: ReactClass = new FunctionComponent[Comp2Props] {
246+
protected def render(props: Props): ReactElement = {
247+
<.div(^.className := "test2")(
248+
<(TestComp())(^.wrapped := Comp1Props(1))("test2 child1"),
249+
<(TestComp())(^.wrapped := Comp1Props(2))("test2 child2")
250+
)
251+
}
252+
}.apply()
246253

254+
import io.github.shogowada.scalajs.reactjs.VirtualDOM.VirtualDOMAttributes
247255
import VirtualDOMAttributes.Type._
248256

249257
case class TestArrayAttributeSpec(name: String) extends AttributeSpec {

test/src/test/scala/scommons/react/test/util/ShallowRendererUtilsSpec.scala

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package scommons.react.test.util
22

3-
import io.github.shogowada.scalajs.reactjs.React
4-
import io.github.shogowada.scalajs.reactjs.elements.ReactElement
53
import org.scalatest.Failed
4+
import scommons.react._
65
import scommons.react.test.raw.ShallowInstance
76
import scommons.react.test.util.RendererUtilsSpec._
87

@@ -62,10 +61,12 @@ class ShallowRendererUtilsSpec extends RendererUtilsSpec[ShallowInstance]
6261

6362
it should "fail if key attribute doesn't match when assertNativeComponent" in {
6463
//given
65-
val compClass = React.createClass[Unit, Unit] { _ =>
66-
<.p(^.key := "123")()
64+
val compClass = new FunctionComponent[Unit] {
65+
protected def render(props: Props): ReactElement = {
66+
<.p(^.key := "123")()
67+
}
6768
}
68-
val comp = shallowRender(<(compClass)()())
69+
val comp = shallowRender(<(compClass())()())
6970

7071
//when
7172
val Failed(e) = outcomeOf {

0 commit comments

Comments
 (0)