winmain.py 721 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. from StringIO import StringIO
  2. import string
  3. testcases = r"""1 -> 1
  4. 1"2" -> 12
  5. 1"2 -> 12
  6. 1"\"2" -> 1"2
  7. "1" "2" -> 1, 2
  8. 1\" -> 1"
  9. 1\\" -> 1\
  10. 1\\\" -> 1\"
  11. 1\\\\" -> 1\\
  12. 1" 1 -> 1 1
  13. 1\" 1 -> 1", 1
  14. 1\1 -> 1\1
  15. 1\\1 -> 1\\1
  16. """
  17. #testcases = r"""1\\\\" -> 1\\
  18. #"""
  19. t = StringIO(testcases)
  20. def quote(s):
  21. result = s.replace("\\", r"\\")
  22. result = result.replace("\"", "\\\"")
  23. return '"' + result + '"'
  24. for s in t:
  25. s = string.strip(s)
  26. (value, result) = string.split(s, "->")
  27. # print value, result
  28. tokens = string.split(result, ",")
  29. value = quote(value)
  30. tokens = map(string.strip, tokens)
  31. tokens = map(quote, tokens)
  32. print "TEST(%s, {%s});" % (value, string.join(tokens, ","))