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

Commit 1033f12

Browse files
authored
Merge branch 'master' into more-tests-1
2 parents bc530fd + a3f9f8f commit 1033f12

3 files changed

Lines changed: 47 additions & 53 deletions

File tree

runestone/reveal/js/reveal.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class Reveal extends RunestoneBase {
4646
this.createHideButton(); // Hide button is already implemented in modal dialog
4747
}
4848
}
49+
this.indicate_component_ready();
4950
}
5051
/*====================================
5152
== Get text for buttons/modal title ==
@@ -79,17 +80,17 @@ class Reveal extends RunestoneBase {
7980
============================*/
8081
createShowButton() {
8182
var _this = this;
82-
this.wrapDiv = document.createElement("div"); // wrapper div
83+
this.containerDiv = document.createElement("div"); // wrapper div
84+
this.containerDiv.id = this.divid;
8385
if (!this.dataModal) {
8486
this.revealDiv = document.createElement("div"); // Div that is hidden that contains content
85-
this.revealDiv.id = this.divid;
8687
// Get original content, put it inside revealDiv and replace original div with revealDiv
8788
//$(this.revealDiv).html(this.origContent);
8889
for (var i = 0; i < this.children.length; i++) {
8990
this.revealDiv.appendChild(this.children[i]);
9091
}
9192
$(this.revealDiv).hide();
92-
this.wrapDiv.appendChild(this.revealDiv);
93+
this.containerDiv.appendChild(this.revealDiv);
9394
}
9495
if (this.instructorOnly) {
9596
$(this.revealDiv).addClass("iguide");
@@ -116,8 +117,8 @@ class Reveal extends RunestoneBase {
116117
"data-target": "#" + this.divid + "_modal",
117118
});
118119
}
119-
this.wrapDiv.appendChild(this.sbutt);
120-
$(this.origElem).replaceWith(this.wrapDiv);
120+
this.containerDiv.appendChild(this.sbutt);
121+
$(this.origElem).replaceWith(this.containerDiv);
121122
}
122123
createHideButton() {
123124
var _this = this;
@@ -131,7 +132,7 @@ class Reveal extends RunestoneBase {
131132
_this.hideInline();
132133
$(this).hide();
133134
};
134-
this.wrapDiv.appendChild(this.hbutt);
135+
this.containerDiv.appendChild(this.hbutt);
135136
}
136137
createInstructorButtons() {
137138
this.createShowButton();

runestone/reveal/test/test_reveal.py

Lines changed: 39 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -4,61 +4,54 @@
44

55
__author__ = "yasinovskyy"
66

7-
from runestone.unittest_base import module_fixture_maker, RunestoneTestCase
8-
from selenium.webdriver.support import expected_conditions as EC
9-
from selenium.webdriver.support.ui import WebDriverWait
10-
from selenium.webdriver.common.by import By
7+
def test_r1(selenium_utils):
8+
"""Initial view. Content is hidden"""
9+
su = selenium_utils
10+
su.get("index.html")
11+
su.wait_until_ready("question1")
1112

12-
setUpModule, tearDownModule = module_fixture_maker(__file__)
13+
q1 = su.driver.find_element_by_css_selector("#question1 div")
14+
cnamestr = q1.get_attribute("style")
15+
assert "display: none;" == cnamestr
1316

1417

15-
class RevealQuestion_Tests(RunestoneTestCase):
16-
def test_r1(self):
17-
"""Initial view. Content is hidden"""
18-
self.driver.get(self.host + "/index.html")
19-
wait = WebDriverWait(self.driver, 10)
20-
try:
21-
wait.until(EC.presence_of_element_located((By.ID, "reveal")))
22-
except:
23-
text = self.driver.page_source
24-
print(text[:300])
18+
def test_r2(selenium_utils):
19+
"""Reveal button clicked"""
20+
su = selenium_utils
21+
su.get("index.html")
22+
su.wait_until_ready("question1")
23+
t1 = su.driver.find_element_by_id("reveal")
2524

26-
t1 = self.driver.find_element_by_id("reveal")
25+
btn_show = t1.find_element_by_id("question1_show")
26+
btn_show.click()
2727

28-
q1 = t1.find_element_by_id("question1")
28+
q1 = t1.find_element_by_id("question1")
2929

30-
cnamestr = q1.get_attribute("style")
31-
self.assertEqual("display: none;", cnamestr)
30+
cnamestr = q1.get_attribute("style")
31+
assert "display: none;" != cnamestr
3232

33-
def test_r2(self):
34-
"""Reveal button clicked"""
35-
self.driver.get(self.host + "/index.html")
36-
t1 = self.driver.find_element_by_id("reveal")
3733

38-
btn_show = t1.find_element_by_id("question1_show")
39-
btn_show.click()
34+
def test_r3(selenium_utils):
35+
"""Content is revealed, then hidden again"""
36+
su = selenium_utils
37+
su.get("index.html")
38+
su.wait_until_ready("question1")
39+
t1 = su.driver.find_element_by_id("reveal")
4040

41-
q1 = t1.find_element_by_id("question1")
41+
btn_show = t1.find_element_by_id("question1_show")
42+
btn_show.click()
43+
btn_hide = t1.find_element_by_id("question1_hide")
44+
btn_hide.click()
4245

43-
cnamestr = q1.get_attribute("style")
44-
self.assertNotEqual("display: none;", cnamestr)
46+
q1 = su.driver.find_element_by_css_selector("#question1 div")
47+
cnamestr = q1.get_attribute("style")
48+
assert "display: none;" == cnamestr
4549

46-
def test_r3(self):
47-
"""Content is revealed, then hidden again"""
48-
self.driver.get(self.host + "/index.html")
49-
t1 = self.driver.find_element_by_id("reveal")
5050

51-
btn_show = t1.find_element_by_id("question1_show")
52-
btn_show.click()
53-
btn_hide = t1.find_element_by_id("question1_hide")
54-
btn_hide.click()
55-
56-
q1 = t1.find_element_by_id("question1")
57-
58-
cnamestr = q1.get_attribute("style")
59-
self.assertEqual("display: none;", cnamestr)
60-
61-
def test_r4(self):
62-
"""Check for is_instructor test """
63-
t1 = self.driver.find_element_by_id("reveal")
64-
self.assertIn("{{ if is_instructor: }}", t1.get_attribute("innerHTML"))
51+
def test_r4(selenium_utils):
52+
"""Check for is_instructor test """
53+
su = selenium_utils
54+
su.get("index.html")
55+
su.wait_until_ready("question1")
56+
t1 = su.driver.find_element_by_id("reveal")
57+
assert "{{ if is_instructor: }}" in t1.get_attribute("innerHTML")

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
with open("requirements.txt", "r", encoding="utf-8") as fh:
1111
dependencies = [l.strip() for l in fh]
1212

13-
VERSION = "5.5.17"
13+
VERSION = "5.6.0"
1414

1515
# These pre-install hooks are useful to make sure any pre-requisite
1616
# programs that are not pip installable are in place.

0 commit comments

Comments
 (0)