Skip to content

Commit b837deb

Browse files
committed
Rename ReactTestUtils.removeReact{DataAttr ⇒ Internals} and remove React text annotation
1 parent f8566ca commit b837deb

File tree

6 files changed

+23
-11
lines changed

6 files changed

+23
-11
lines changed

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,5 +228,3 @@ new releases for scalacss & test-state
228228

229229
upgrade to latest React
230230

231-
<!-- react-text: 19 -->Description<!-- /react-text -->
232-

migrate.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ find . -name '*.scala' -type f -exec perl -pi -e '
8181
s/(?<=\n) *import +Simulate *\n//g;
8282
s/(?<=\n) *import +japgolly.scalajs.react.test.Simulate *\n+( *import +japgolly.scalajs.react.test._ *\n)/\1/g;
8383
s/(?<=\n)( *import +japgolly.scalajs.react.test._ *\n)\s*import +japgolly.scalajs.react.test.Simulate *\n/\1/g;
84+
s/(?<=remove|ithout)ReactDataAttr/ReactInternals/g;
8485
8586
s/(\$[ .]+)zoomL(?!\w)/\1zoomStateL/g;
8687

test/src/main/scala/japgolly/scalajs/react/test/ReactTestUtils.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,11 +199,14 @@ object ReactTestUtils {
199199
modifyProps(c)(m, _ => p)
200200

201201
private val reactDataAttrRegex = """\s+data-react\S*?\s*?=\s*?".*?"""".r
202+
private val reactTextCommentRegex = """<!-- /?react-text[: ].*?-->""".r
202203

203204
/**
204205
* Turn `&lt;div data-reactroot=""&gt;hello&lt/div&gt;`
205206
* into `&lt;div&gt;hello&lt/div&gt;`
206207
*/
207-
def removeReactDataAttr(html: String): String =
208-
reactDataAttrRegex.replaceAllIn(html, "")
208+
def removeReactInternals(html: String): String =
209+
reactDataAttrRegex.replaceAllIn(
210+
reactTextCommentRegex.replaceAllIn(
211+
html, ""), "")
209212
}

test/src/main/scala/japgolly/scalajs/react/test/package.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ package object test {
1515
m.rawElement
1616

1717
implicit final class ReactTestExt_MountedId(private val c: GenericComponent.MountedImpure[_, _]) extends AnyVal {
18-
def outerHtmlWithoutReactDataAttr(): String =
19-
ReactTestUtils.removeReactDataAttr(c.getDOMNode.outerHTML)
18+
def outerHtmlWithoutReactInternals(): String =
19+
ReactTestUtils.removeReactInternals(c.getDOMNode.outerHTML)
2020
}
2121
}

test/src/test/scala/japgolly/scalajs/react/test/TestTest.scala

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ object TestTest extends TestSuite {
185185
ReactTestUtils.withRenderedIntoDocument(IC()) { mm =>
186186
m = mm
187187
val n = m.getDOMNode
188-
assert(ReactTestUtils.removeReactDataAttr(n.outerHTML) startsWith "<label><input ")
188+
assert(ReactTestUtils.removeReactInternals(n.outerHTML) startsWith "<label><input ")
189189
assert(m.isMounted)
190190
}
191191
assert(!m.isMounted)
@@ -198,7 +198,7 @@ object TestTest extends TestSuite {
198198
ReactTestUtils.withRenderedIntoBody(IC()) { mm =>
199199
m = mm
200200
val n = m.getDOMNode
201-
assert(ReactTestUtils.removeReactDataAttr(n.outerHTML) startsWith "<label><input ")
201+
assert(ReactTestUtils.removeReactInternals(n.outerHTML) startsWith "<label><input ")
202202
assert(m.isMounted)
203203

204204
// Benefits of body over detached
@@ -219,7 +219,7 @@ object TestTest extends TestSuite {
219219
promise.future
220220
}
221221
val n = m.getDOMNode
222-
assert(ReactTestUtils.removeReactDataAttr(n.outerHTML) startsWith "<label><input ")
222+
assert(ReactTestUtils.removeReactInternals(n.outerHTML) startsWith "<label><input ")
223223
assert(m.isMounted)
224224

225225
promise.success(())
@@ -237,7 +237,7 @@ object TestTest extends TestSuite {
237237
promise.future
238238
}
239239
val n = m.getDOMNode
240-
assert(ReactTestUtils.removeReactDataAttr(n.outerHTML) startsWith "<label><input ")
240+
assert(ReactTestUtils.removeReactInternals(n.outerHTML) startsWith "<label><input ")
241241
assert(m.isMounted)
242242

243243
// Benefits of body over detached
@@ -263,5 +263,15 @@ object TestTest extends TestSuite {
263263
assertRendered(m.getDOMNode, "<div>started → done!</div>")
264264
}
265265
}
266+
267+
'removeReactInternals {
268+
val c = ScalaComponent.static("", <.div(<.br, "hello", <.hr))
269+
ReactTestUtils.withRenderedIntoDocument(c()) { m =>
270+
val orig = m.getDOMNode.outerHTML
271+
val after = ReactTestUtils.removeReactInternals(orig)
272+
assertEq("<div><br>hello<hr></div>", after)
273+
s"$orig$after"
274+
}
275+
}
266276
}
267277
}

test/src/test/scala/japgolly/scalajs/react/test/TestUtil.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ trait TestUtil
108108
}
109109

110110
def assertRendered(n: TopNode, expected: String): Unit = {
111-
val rendered: String = ReactTestUtils.removeReactDataAttr(n.outerHTML)
111+
val rendered: String = ReactTestUtils.removeReactInternals(n.outerHTML)
112112
assertEq(rendered, expected)
113113
}
114114

0 commit comments

Comments
 (0)