Skip to content

Commit 8a226c9

Browse files
gzm0sjrd
authored andcommitted
Step 6: Testing
1 parent a719e76 commit 8a226c9

File tree

4 files changed

+40
-5
lines changed

4 files changed

+40
-5
lines changed

build.sbt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,9 @@ libraryDependencies += "be.doeraene" %%% "scalajs-jquery" % "1.0.0"
1212
skip in packageJSDependencies := false
1313
jsDependencies +=
1414
"org.webjars" % "jquery" % "2.2.1" / "jquery.js" minified "jquery.min.js"
15+
16+
jsEnv := new org.scalajs.jsenv.jsdomnodejs.JSDOMNodeJSEnv()
17+
18+
// uTest settings
19+
libraryDependencies += "com.lihaoyi" %%% "utest" % "0.7.4" % "test"
20+
testFrameworks += new TestFramework("utest.runner.Framework")

scalajs-tutorial-fastopt.html

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,6 @@
55
<title>The Scala.js Tutorial</title>
66
</head>
77
<body>
8-
<button id="click-me-button" type="button">
9-
Click me!
10-
</button>
11-
128
<!-- Include JavaScript dependencies -->
139
<script type="text/javascript" src="./target/scala-2.13/scala-js-tutorial-jsdeps.js"></script>
1410
<!-- Include Scala.js compiled code -->

src/main/scala/tutorial/webapp/TutorialApp.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@ object TutorialApp {
88
}
99

1010
def setupUI(): Unit = {
11+
jQuery("""<button type="button">Click me!</button>""")
12+
.click(() => addClickedMessage())
13+
.appendTo(jQuery("body"))
1114
jQuery("body").append("<p>Hello World</p>")
12-
jQuery("#click-me-button").click(() => addClickedMessage())
1315
}
1416

1517
def addClickedMessage(): Unit = {
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package tutorial.webapp
2+
3+
import utest._
4+
5+
import org.scalajs.jquery._
6+
7+
object TutorialTest extends TestSuite {
8+
9+
// Initialize App
10+
TutorialApp.setupUI()
11+
12+
def tests = Tests {
13+
test("HelloWorld") {
14+
assert(jQuery("p:contains('Hello World')").length == 1)
15+
}
16+
17+
test("ButtonClick") {
18+
def messageCount =
19+
jQuery("p:contains('You clicked the button!')").length
20+
21+
val button = jQuery("button:contains('Click me!')")
22+
assert(button.length == 1)
23+
assert(messageCount == 0)
24+
25+
for (c <- 1 to 5) {
26+
button.click()
27+
assert(messageCount == c)
28+
}
29+
}
30+
}
31+
}

0 commit comments

Comments
 (0)