Skip to content
This repository was archived by the owner on Mar 1, 2023. It is now read-only.

Commit 368b5e5

Browse files
authored
Merge pull request #125 from cquiroz/next
Next version
2 parents aa3813c + 2a1ef3f commit 368b5e5

12 files changed

+979
-903
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changes
22

3+
## 0.10.0
4+
5+
* Upgrade to react-common 0.10.0
6+
* Upgrade to scalajs 1.2.0
7+
* Switch to munit
8+
39
## 0.9.5
410

511
* Upgrade to react-common 0.9.8

build.sbt

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ val scalaJsReact = "1.7.5"
55
parallelExecution in (ThisBuild, Test) := false
66

77
addCommandAlias("restartWDS",
8-
"; demo/fastOptJS::stopWebpackDevServer; demo/fastOptJS::startWebpackDevServer")
8+
"; demo/fastOptJS::stopWebpackDevServer; demo/fastOptJS::startWebpackDevServer"
9+
)
910

1011
addCommandAlias("restartWDS",
11-
"; demo/fastOptJS::stopWebpackDevServer; demo/fastOptJS::startWebpackDevServer")
12+
"; demo/fastOptJS::stopWebpackDevServer; demo/fastOptJS::startWebpackDevServer"
13+
)
1214

1315
// resolvers in Global += Resolver.sonatypeRepo("staging")
1416
Global / onChangedBuildSource := ReloadOnSourceChanges
@@ -23,11 +25,13 @@ inThisBuild(
2325
Developer("cquiroz",
2426
"Carlos Quiroz",
2527
26-
url("https://github.com/cquiroz"))
28+
url("https://github.com/cquiroz")
29+
)
2730
),
2831
scmInfo := Some(
2932
ScmInfo(url("https://github.com/cquiroz/scalajs-react-virtualized"),
30-
"scm:git:[email protected]:cquiroz/scalajs-react-virtualized.git")
33+
"scm:git:[email protected]:cquiroz/scalajs-react-virtualized.git"
34+
)
3135
)
3236
)
3337
)
@@ -84,23 +88,23 @@ lazy val facade =
8488
requireJsDomEnv in Test := true,
8589
// Use yarn as it is faster than npm
8690
useYarn := true,
87-
version in webpack := "4.30.0",
88-
version in webpackCliVersion := "3.3.2",
89-
version in startWebpackDevServer := "3.3.1",
91+
webpack / version := "4.44.1",
92+
webpackCliVersion / version := "3.3.11",
93+
startWebpackDevServer / version := "3.11.0",
9094
scalaJSUseMainModuleInitializer := false,
9195
// Compile tests to JS using fast-optimisation
9296
scalaJSStage in Test := FastOptStage,
9397
libraryDependencies ++= Seq(
9498
"com.github.japgolly.scalajs-react" %%% "core" % scalaJsReact,
9599
"com.github.japgolly.scalajs-react" %%% "test" % scalaJsReact % "test",
96-
"io.github.cquiroz.react" %%% "common" % "0.9.8",
97-
"io.github.cquiroz.react" %%% "test" % "0.9.8" % Test,
98-
"io.github.cquiroz.react" %%% "cats" % "0.9.8",
99-
"com.lihaoyi" %%% "utest" % "0.7.5" % Test,
100+
"io.github.cquiroz.react" %%% "common" % "0.10.0",
101+
"io.github.cquiroz.react" %%% "test" % "0.10.0" % Test,
102+
"io.github.cquiroz.react" %%% "cats" % "0.10.0",
103+
"org.scalameta" %%% "munit" % "0.7.12" % Test,
100104
"org.typelevel" %%% "cats-core" % "2.2.0" % Test
101105
),
102106
webpackConfigFile in Test := Some(baseDirectory.value / "test.webpack.config.js"),
103-
testFrameworks += new TestFramework("utest.runner.Framework")
107+
testFrameworks += new TestFramework("munit.Framework")
104108
)
105109

106110
lazy val commonSettings = Seq(
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
package react
2+
package virtualized
3+
4+
import japgolly.scalajs.react._
5+
import japgolly.scalajs.react.test._
6+
import japgolly.scalajs.react.raw._
7+
import japgolly.scalajs.react.vdom.html_<^.{ < => <<, _ }
8+
import react.common._
9+
import react.common.implicits._
10+
import scala.scalajs.js
11+
import scala.scalajs.js.|
12+
import cats.syntax.eq._
13+
14+
class AutoSizerSuite extends munit.FunSuite with TestUtils {
15+
def children(s: Size): VdomNode =
16+
<<.div(
17+
^.width := s.width.toDouble.px,
18+
^.height := s.height.toDouble.px,
19+
<<.span("text")
20+
)
21+
22+
test("render") {
23+
val autoSizer = AutoSizer(AutoSizer.props(children = children))
24+
ReactTestUtils.withRenderedIntoDocument(autoSizer) { m =>
25+
val html =
26+
"""<div style="overflow: visible; height: 0px; width: 0px;">
27+
|<div style="width: 0px; height: 0px;">
28+
|<span>text</span>
29+
|</div>
30+
|</div>""".stripMargin.replaceAll("[\n\r]", "")
31+
assert(m.outerHtmlScrubbed() == html)
32+
}
33+
}
34+
test("supportDisableWidth") {
35+
assertEquals(AutoSizer(AutoSizer.props(children = children)).props.disableWidth.toOption,
36+
Some(false)
37+
)
38+
assertEquals(AutoSizer(
39+
AutoSizer.props(children = children, disableWidth = true)
40+
).props.disableWidth.toOption,
41+
Some(true)
42+
)
43+
}
44+
test("clazz") {
45+
assertEquals(AutoSizer(
46+
AutoSizer.props(children = children, clazz = Css("class"))
47+
).props.className.toOption,
48+
Some("class")
49+
)
50+
assertEquals(AutoSizer(
51+
AutoSizer.props(children = children, className = "class1", clazz = Css("class2"))
52+
).props.className.toOption,
53+
Some("class1 class2")
54+
)
55+
}
56+
test("supportDisableHeight") {
57+
assertEquals(AutoSizer(AutoSizer.props(children = children)).props.disableHeight.toOption,
58+
Some(false)
59+
)
60+
assertEquals(AutoSizer(
61+
AutoSizer.props(children = children, disableHeight = true)
62+
).props.disableHeight.toOption,
63+
Some(true)
64+
)
65+
}
66+
test("supportOnResize") {
67+
val size = Size(height = 10, width = 20)
68+
assertEquals(
69+
AutoSizer(AutoSizer.props(children = children, onResize = x => Callback.empty)).props
70+
.onResize(size),
71+
()
72+
)
73+
}
74+
test("supportClassName") {
75+
assertEquals(AutoSizer(AutoSizer.props(children = children)).props.className, js.undefined)
76+
assertEquals(AutoSizer(
77+
AutoSizer.props(children = children, className = "classname")
78+
).props.className,
79+
"classname": js.UndefOr[String]
80+
)
81+
}
82+
test("supportDefaultHeightWidth") {
83+
assertEquals(AutoSizer(AutoSizer.props(children = children)).props.defaultHeight, js.undefined)
84+
assertEquals(AutoSizer(
85+
AutoSizer.props(children = children, defaultHeight = 43.1)
86+
).props.defaultHeight,
87+
43.1: js.UndefOr[JsNumber]
88+
)
89+
assertEquals(
90+
AutoSizer(AutoSizer.props(children = children, defaultHeight = 43)).props.defaultHeight,
91+
43: js.UndefOr[JsNumber]
92+
)
93+
94+
assertEquals(AutoSizer(AutoSizer.props(children = children)).props.defaultWidth, js.undefined)
95+
assertEquals(AutoSizer(
96+
AutoSizer.props(children = children, defaultWidth = 43.1)
97+
).props.defaultWidth,
98+
43.1: js.UndefOr[JsNumber]
99+
)
100+
assertEquals(
101+
AutoSizer(AutoSizer.props(children = children, defaultWidth = 43)).props.defaultWidth,
102+
43: js.UndefOr[JsNumber]
103+
)
104+
}
105+
test("supportStyle") {
106+
val style = js.Dynamic.literal(foo = 42, bar = "foobar")
107+
val styleMap = Map[String, String | Int]("foo" -> 42, "bar" -> "foobar")
108+
assertEquals(AutoSizer(AutoSizer.props(children = children)).props.style === new js.Object(),
109+
true
110+
)
111+
assertEquals(AutoSizer(
112+
AutoSizer.props(children = children, style = Style(styleMap))
113+
).props.style === style,
114+
true
115+
)
116+
}
117+
}

facade/src/test/scala/react/virtualized/AutoSizerTests.scala

Lines changed: 0 additions & 96 deletions
This file was deleted.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package react
2+
package virtualized
3+
4+
import react.common.TestUtils
5+
6+
class CellMeasurerSuite extends munit.FunSuite with TestUtils {
7+
test("be buildable") {
8+
val cellMeasurerCache = new CellMeasurerCache(CellMeasurerCacheParams(FixedHeight))
9+
assert(cellMeasurerCache != null)
10+
}
11+
test("support clear") {
12+
val cellMeasurerCache = new CellMeasurerCache(CellMeasurerCacheParams(FixedHeight))
13+
assertEquals(cellMeasurerCache.clear(0, 0), ())
14+
}
15+
test("support clearAll") {
16+
val cellMeasurerCache = new CellMeasurerCache(CellMeasurerCacheParams(FixedHeight))
17+
assertEquals(cellMeasurerCache.clearAll(), ())
18+
}
19+
test("support columnWidth") {
20+
val cellMeasurerCache = new CellMeasurerCache(CellMeasurerCacheParams(FixedHeight))
21+
assertEquals(cellMeasurerCache.columnWidth(raw.RawIndexParameter(0)), 100)
22+
}
23+
test("support getHeight") {
24+
val cellMeasurerCache = new CellMeasurerCache(CellMeasurerCacheParams(FixedHeight))
25+
assertEquals(cellMeasurerCache.getHeight(0, 0), 30)
26+
}
27+
test("support getWidth") {
28+
val cellMeasurerCache = new CellMeasurerCache(CellMeasurerCacheParams(FixedHeight))
29+
assertEquals(cellMeasurerCache.getWidth(0, 0), 100)
30+
}
31+
test("support has") {
32+
val cellMeasurerCache = new CellMeasurerCache(CellMeasurerCacheParams(FixedHeight))
33+
assertEquals(cellMeasurerCache.has(0, 0), false)
34+
}
35+
test("support rowHeight") {
36+
val cellMeasurerCache = new CellMeasurerCache(CellMeasurerCacheParams(FixedHeight))
37+
assertEquals(cellMeasurerCache.rowHeight(raw.RawIndexParameter(0)), 30)
38+
}
39+
test("support set") {
40+
val cellMeasurerCache = new CellMeasurerCache(CellMeasurerCacheParams(FixedHeight))
41+
assertEquals(cellMeasurerCache.set(0, 0, 20, 30), ())
42+
}
43+
}

facade/src/test/scala/react/virtualized/CellMeasurerTest.scala

Lines changed: 0 additions & 46 deletions
This file was deleted.

0 commit comments

Comments
 (0)