Commits

Takayuki Shimizukawa  committed 6807b94

fix: sphinx-quickstart asks again and again Y|N because input() return value with extra '\r' on Python-3.2.0 + Windows. closes #1043

  • Participants
  • Parent commits 6e6813e

Comments (4)

    1. Jon Waltman

      Putting it in the CHANGELOG sounds good.

      We should probably be more conscientious about updating the CHANGELOG in general anyways since we have made a lot of changes that have not been documented there yet.

Files changed (2)

File sphinx/quickstart.py

             prompt = purple(PROMPT_PREFIX + '%s [%s]: ' % (text, default))
         else:
             prompt = purple(PROMPT_PREFIX + text + ': ')
-        x = term_input(prompt)
+        x = term_input(prompt).strip()
         if default and not x:
             x = default
         if not isinstance(x, unicode):

File tests/test_quickstart.py

     coloron()
 
 
+def test_quickstart_inputstrip():
+    d = {}
+    answers = {
+        'Q1': 'Y\r',  # input() return with '\r' on Python-3.2.0 for Windows
+        'Q2': ' Yes \r',
+        'Q3': 'N',
+        'Q4': 'N ',
+    }
+    qs.term_input = mock_raw_input(answers)
+    qs.do_prompt(d, 'k1', 'Q1')
+    assert d['k1'] == 'Y'
+    qs.do_prompt(d, 'k2', 'Q2')
+    assert d['k2'] == 'Yes'
+    qs.do_prompt(d, 'k3', 'Q3')
+    assert d['k3'] == 'N'
+    qs.do_prompt(d, 'k4', 'Q4')
+    assert d['k4'] == 'N'
+
+
 def test_do_prompt():
     d = {}
     answers = {