Skip to content

Commit 89779ae

Browse files
Fixes issue where the additional next button's position was not consistent. Updates tests.
1 parent 254c9aa commit 89779ae

File tree

8 files changed

+25
-24
lines changed

8 files changed

+25
-24
lines changed

FSM/Source/fsm.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -862,9 +862,7 @@ var display = {
862862
buttonHTML += " " + checkButton.classList[i];
863863
}
864864
buttonHTML += "'>Next</a>";
865-
var siblings = checkButton.parentNode.children;
866-
var lastSibling = siblings[siblings.length - 1];
867-
lastSibling.insertAdjacentHTML("afterend",buttonHTML);
865+
checkButton.insertAdjacentHTML("afterend",buttonHTML);
868866

869867
},
870868
linkLabelText:function(link){

FSM/Tests/acceptingStates1.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def setUp(self):
1717

1818
def test_accepting_states1(self):
1919
driver = self.driver
20-
driver.get(self.base_url + "file:///home/matthew/Documents/Y4/CAL/FSM%20Prototype/Deploy/inf1/select-states-2-accepting-state.html")
20+
driver.get(self.base_url + "file:///home/matthew/Documents/Y4/CAL/FSM/Deploy/inf1/select-states-2-accepting-state.html")
2121
driver.find_element_by_id("check-button").click()
2222
self.assertTrue(self.is_element_present(By.CSS_SELECTOR, "img.cross.x-check-button"))
2323
driver.find_element_by_id("1").click()

FSM/Tests/acceptingStates2.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,28 @@ def setUp(self):
1414
self.base_url = " "
1515
self.verificationErrors = []
1616
self.accept_next_alert = True
17-
17+
1818
def test_accepting_states2(self):
1919
driver = self.driver
20-
driver.get(self.base_url + "file:///home/matthew/Documents/Y4/CAL/FSM%20Prototype/Deploy/inf1/give-list-1.html")
20+
driver.get(self.base_url + "file:///home/matthew/Documents/Y4/CAL/FSM/Deploy/inf1/give-list-1.html")
2121
driver.find_element_by_id("qf0").clear()
2222
driver.find_element_by_id("qf0").send_keys("ab")
2323
driver.find_element_by_id("qf1").clear()
2424
driver.find_element_by_id("qf1").send_keys("aa")
2525
# ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]
2626
driver.find_element_by_id("check-button").click()
2727
# ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]
28-
28+
2929
def is_element_present(self, how, what):
3030
try: self.driver.find_element(by=how, value=what)
3131
except NoSuchElementException as e: return False
3232
return True
33-
33+
3434
def is_alert_present(self):
3535
try: self.driver.switch_to_alert()
3636
except NoAlertPresentException as e: return False
3737
return True
38-
38+
3939
def close_alert_and_get_its_text(self):
4040
try:
4141
alert = self.driver.switch_to_alert()
@@ -46,7 +46,7 @@ def close_alert_and_get_its_text(self):
4646
alert.dismiss()
4747
return alert_text
4848
finally: self.accept_next_alert = True
49-
49+
5050
def tearDown(self):
5151
self.driver.quit()
5252
self.assertEqual([], self.verificationErrors)

FSM/Tests/demo1.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def setUp(self):
1717

1818
def test_demo1(self):
1919
driver = self.driver
20-
driver.get(self.base_url + "file:///home/matthew/Documents/Y4/CAL/FSM%20Prototype/Deploy/inf1/demo1-intro-to-fsm.html")
20+
driver.get(self.base_url + "file:///home/matthew/Documents/Y4/CAL/FSM/Deploy/inf1/demo1-intro-to-fsm.html")
2121
driver.find_element_by_id("demo-B").click()
2222
driver.find_element_by_id("demo-B").click()
2323
driver.find_element_by_id("demo-B").click()
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ def setUp(self):
1414
self.base_url = " "
1515
self.verificationErrors = []
1616
self.accept_next_alert = True
17-
17+
1818
def test_give_list2(self):
1919
driver = self.driver
20-
driver.get(self.base_url + "file:///home/matthew/Documents/Y4/CAL/FSM%20Prototype/Deploy/inf1/give-list-2.html")
20+
driver.get(self.base_url + "file:///home/matthew/Documents/Y4/CAL/FSM/Deploy/inf1/give-list-2.html")
2121
driver.find_element_by_id("check-button").click()
2222
# ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]
2323
driver.find_element_by_id("1").click()
@@ -38,17 +38,17 @@ def test_give_list2(self):
3838
driver.find_element_by_id("check-button").click()
3939
# ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]
4040
# ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]
41-
41+
4242
def is_element_present(self, how, what):
4343
try: self.driver.find_element(by=how, value=what)
4444
except NoSuchElementException as e: return False
4545
return True
46-
46+
4747
def is_alert_present(self):
4848
try: self.driver.switch_to_alert()
4949
except NoAlertPresentException as e: return False
5050
return True
51-
51+
5252
def close_alert_and_get_its_text(self):
5353
try:
5454
alert = self.driver.switch_to_alert()
@@ -59,7 +59,7 @@ def close_alert_and_get_its_text(self):
5959
alert.dismiss()
6060
return alert_text
6161
finally: self.accept_next_alert = True
62-
62+
6363
def tearDown(self):
6464
self.driver.quit()
6565
self.assertEqual([], self.verificationErrors)

FSM/Tests/introducingCycles.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ def setUp(self):
1414
self.base_url = " "
1515
self.verificationErrors = []
1616
self.accept_next_alert = True
17-
17+
1818
def test_introducing_cycles(self):
1919
driver = self.driver
20-
driver.get(self.base_url + "file:///home/matthew/Documents/Y4/CAL/FSM%20Prototype/Deploy/inf1/give-list-cycles.html")
20+
driver.get(self.base_url + "file:///home/matthew/Documents/Y4/CAL/FSM/Deploy/inf1/give-list-cycles.html")
2121
driver.find_element_by_id("check-button").click()
2222
# ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]
2323
driver.find_element_by_id("qf1").clear()
@@ -26,17 +26,17 @@ def test_introducing_cycles(self):
2626
driver.find_element_by_id("qf2").send_keys("aaaaaabb")
2727
driver.find_element_by_id("check-button").click()
2828
# ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]
29-
29+
3030
def is_element_present(self, how, what):
3131
try: self.driver.find_element(by=how, value=what)
3232
except NoSuchElementException as e: return False
3333
return True
34-
34+
3535
def is_alert_present(self):
3636
try: self.driver.switch_to_alert()
3737
except NoAlertPresentException as e: return False
3838
return True
39-
39+
4040
def close_alert_and_get_its_text(self):
4141
try:
4242
alert = self.driver.switch_to_alert()
@@ -47,7 +47,7 @@ def close_alert_and_get_its_text(self):
4747
alert.dismiss()
4848
return alert_text
4949
finally: self.accept_next_alert = True
50-
50+
5151
def tearDown(self):
5252
self.driver.quit()
5353
self.assertEqual([], self.verificationErrors)

FSM/Tests/introducingFSMs2.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def setUp(self):
1717

1818
def test_introducing_f_s_ms2(self):
1919
driver = self.driver
20-
driver.get(self.base_url + "file:///home/matthew/Documents/Y4/CAL/FSM%20Prototype/Deploy/inf1/select-states-1.html")
20+
driver.get(self.base_url + "file:///home/matthew/Documents/Y4/CAL/FSM/Deploy/inf1/select-states-1.html")
2121
driver.find_element_by_id("0").click()
2222
driver.find_element_by_id("23").click()
2323
driver.find_element_by_id("check-button").click()

FSM/runTests

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/bash
2+
cd Tests
3+
python3 -m unittest acceptingStates1 acceptingStates2 demo1 giveList2 introducingCycles introducingFSMs2

0 commit comments

Comments
 (0)