// RUN: %target-swift-frontend -dump-ast %s | %FileCheck --strict-whitespace %s import Swift _ = #""" ################################################################### ## This source file is part of the Swift.org open source project ## ################################################################### """# // CHECK: "###################################################################\n## This source file is part of the Swift.org open source project ##\n###################################################################" _ = #""" # H1 # ## H2 ## ### H3 ### """# // CHECK: "# H1 #\n## H2 ##\n### H3 ###" // ===---------- Multiline RawString --------=== _ = ##""" One ""Alpha"" """## // CHECK: "One\n\"\"Alpha\"\"" _ = ##""" Two Beta """## // CHECK: " Two\nBeta" _ = #""" Three\r Gamma\ """# // CHECK: " Three\\r\n Gamma\\" _ = ###""" Four \(foo) Delta """### // CHECK: " Four \\(foo)\n Delta" _ = ##""" print(""" Five\##n\##n\##nEpsilon """) """## // CHECK: "print(\"\"\"\n Five\n\n\nEpsilon\n \"\"\")" // ===---------- Single line --------=== _ = #""Zeta""# // CHECK: "\"Zeta\"" _ = #""Eta"\#n\#n\#n\#""# // CHECK: "\"Eta\"\n\n\n\"" _ = #""Iota"\n\n\n\""# // CHECK: "\"Iota\"\\n\\n\\n\\\"" _ = #"a raw string with \" in it"# // CHECK: "a raw string with \\\" in it" _ = ##""" a raw string with """ in it """## // CHECK: "a raw string with \"\"\" in it" let foo = "Interpolation" _ = #"\b\b \#(foo)\#(foo) Kappa"# // CHECK: "\\b\\b " // CHECK: " Kappa" _ = """ interpolating \(##""" delimited \##("string")\#n\##n """##) """ // CHECK: "interpolating " // CHECK: "delimited " // CHECK: "string" // CHECK: "\\#n\n" #"unused literal"# // CHECK: "unused literal" // ===---------- From proposal --------=== _ = #"This is a string"# // CHECK: "This is a string" _ = #####"This is a string"##### // CHECK: "This is a string" _ = #"enum\s+.+\{.*case\s+[:upper:]"# // CHECK: "enum\\s+.+\\{.*case\\s+[:upper:]" _ = #"Alice: "How long is forever?" White Rabbit: "Sometimes, just one second.""# // CHECK: "Alice: \"How long is forever?\" White Rabbit: \"Sometimes, just one second.\"" _ = #"\#\#1"# // CHECK: "\\#1" _ = ##"\#1"## // CHECK: "\\#1" _ = #"c:\windows\system32"# // CHECK: "c:\\windows\\system32" _ = #"\d{3) \d{3} \d{4}"# // CHECK: "\\d{3) \\d{3} \\d{4}" _ = #""" a string with """ in it """# // CHECK: "a string with\n\"\"\"\nin it" _ = #"a raw string containing \r\n"# // CHECK: "a raw string containing \\r\\n" _ = #""" [ { "id": "12345", "title": "A title that \"contains\" \\\"" } ] """# // CHECK: "[\n {\n \"id\": \"12345\",\n \"title\": \"A title that \\\"contains\\\" \\\\\\\"\"\n }\n]" _ = #"# #"# // CHECK: "# #"