summaryrefslogtreecommitdiff
path: root/tests/test_vba.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_vba.py')
-rw-r--r--tests/test_vba.py72
1 files changed, 57 insertions, 15 deletions
diff --git a/tests/test_vba.py b/tests/test_vba.py
index b9ce832..8527e7b 100644
--- a/tests/test_vba.py
+++ b/tests/test_vba.py
@@ -99,6 +99,17 @@ class VbaTests(unittest.TestCase):
end = (self.get_wram_value("MapY"), self.get_wram_value("MapX"))
return start != end
+ def bootstrap_name_prompt(self):
+ runner = autoplayer.SpeedRunner(cry=None)
+ runner.setup()
+ runner.skip_intro(stop_at_name_selection=True, skip=False, override=False)
+
+ self.cry.vba.press("a", hold=20)
+
+ # wait for "Your name?" to show up
+ while "YOUR NAME?" not in self.cry.get_text():
+ self.cry.step(count=50)
+
def test_movement_changes_player_direction(self):
player_direction = self.get_wram_value("PlayerDirection")
@@ -212,26 +223,57 @@ class VbaTests(unittest.TestCase):
self.assertEqual(self.get_wram_value("MapGroup"), 24)
self.assertEqual(self.get_wram_value("MapNumber"), 4)
- def test_keyboard_typing(self):
- runner = autoplayer.SpeedRunner(cry=None)
- runner.setup()
- runner.skip_intro(stop_at_name_selection=True, skip=False, override=False)
-
- self.cry.vba.press("a", hold=20)
-
- # wait for "Your name?" to show up
- text = self.cry.get_text()
-
- while "YOUR NAME?" not in text:
- self.cry.step(count=50)
- text = self.cry.get_text()
+ def test_keyboard_typing_dumb_name(self):
+ self.bootstrap_name_prompt()
- self.cry.write()
+ name = "tRaInEr"
+ self.cry.write(name)
# save this selection
self.cry.vba.press("a", hold=20)
- # TODO: confirm the test was real
+ self.assertEqual(name, self.cry.get_player_name())
+
+ def test_keyboard_typing_cap_name(self):
+ names = [
+ "trainer",
+ "TRAINER",
+ "TrAiNeR",
+ "tRaInEr",
+ "ExAmPlE",
+ "Chris",
+ "Kris",
+ "beepaaa",
+ "chris",
+ "CHRIS",
+ "Python",
+ "pYthon",
+ "pyThon",
+ "pytHon",
+ "pythOn",
+ "pythoN",
+ "python",
+ "PyThOn",
+ ]
+
+ self.bootstrap_name_prompt()
+ start_state = self.cry.vba.state
+
+ for name in names:
+ print "Writing name: " + name
+
+ self.cry.vba.state = start_state
+
+ sequence = self.cry.write(name)
+
+ print "sequence is: " + str(sequence)
+
+ # save this selection
+ self.cry.vba.press("start", hold=20)
+ self.cry.vba.press("a", hold=20)
+
+ pname = self.cry.get_player_name().replace("@", "")
+ self.assertEqual(name, pname)
if __name__ == "__main__":
unittest.main()