| // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /// @assertion |
| /// stringLiteral: |
| /// (multilineString | singleLineString)+ |
| /// ; |
| /// singleLineString: |
| /// '"' stringContentDQ* '"' | |
| /// ''' stringContentSQ* ''' | |
| /// 'r' ''' (~( ''' | NEWLINE ))* ''' | |
| /// 'r' '"' (~( '"' | NEWLINE ))* '"' |
| /// ; |
| /// stringContentDQ: |
| /// ~( '\' | '"' | '$' | NEWLINE ) | |
| /// '\' ~( NEWLINE ) | |
| /// stringInterpolation |
| /// ; |
| /// stringContentSQ: |
| /// ~( '\' | ''' | '$' | NEWLINE ) | |
| /// '\' ~( NEWLINE ) | |
| /// stringInterpolation |
| /// ; |
| /// NEWLINE: |
| /// '\n' | |
| /// '\r' |
| /// ; |
| /// @description Checks that various valid single-line string literals |
| /// don't produce a compile-time error. |
| /// @author msyabro |
| |
| |
| main() { |
| ""; |
| ''; |
| "''"; |
| '"'; |
| ' '; |
| " "; |
| r""; |
| r''; |
| r' '; |
| r"\"; |
| r'\'; |
| r"\\"; |
| r'\\'; |
| r"\\\"; |
| r'\\\'; |
| r'$'; |
| r"$"; |
| r'$$'; |
| r"$$"; |
| |
| "1234567890"; |
| '1234567890'; |
| r"1234567890"; |
| r'1234567890'; |
| "39018"; |
| '36813134'; |
| |
| "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; |
| 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; |
| r"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; |
| r'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; |
| "AuncANNCKHnLAJDLJAD"; |
| 'OdjcopONDajNDcjdsl'; |
| |
| "!@#%^&*(){}[]<>-_=+|~?/.,;:`"; |
| '!@#%^&*(){}[]<>-_=+|~?/.,;:`'; |
| r"!@#%^&*(){}[]<>-_=+|~?/.,;:`"; |
| r'!@#%^&*(){}[]<>-_=+|~?/.,;:`'; |
| |
| "12 !r'ab'"; |
| '1t!"1Tr" '; |
| |
| "\a\b\c\d\e\1\2\3\4\!\@\#\√\ "; |
| '\a\b\c\d\e\1\2\3\4\!\@\#\√\ '; |
| r"\+\3\12\f"; |
| r'\~\f\ \7'; |
| |
| //arabic |
| "أبجدية عربية"; |
| 'أبجدية عربية'; |
| //cyrillic |
| "кириллица"; |
| 'кириллица'; |
| //hebrew |
| "עִבְרִית"; |
| 'עִבְרִית'; |
| //roman numerals |
| "ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ ⅺ ⅻ ⅼ ⅽ ⅾ ⅿ "; |
| 'ⅰ ⅱ ⅲ ⅳ ⅴ ⅵ ⅶ ⅷ ⅸ ⅹ ⅺ ⅻ ⅼ ⅽ ⅾ ⅿ '; |
| //mathematical symbols |
| "∀ ∁ ∂ ∃ ∄ ∅ ∆ ∇ ∈ ∉ ∊ ∋ ∌ ∍ ∎ ∏ ∐ ∑ − ∓ ∔ ∕ ∖ ∗ ∘ ∙ √ ∛ ∜ ∝ ∞ "; |
| "∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ∧ ∨ ∩ ∪ ∫ ∬ ∭ ∮ ∯ ∰ ∱ ∲ ∳ ∴ ∵ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿"; |
| r"≀ ≁ ≂ ≃ ≄ ≅ ≆ ≇ ≈ ≉ ≊ ≋ ≌ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟"; |
| r"≠ ≡ ≢ ≣ ≤ ≥ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≺ ≻ ≼ ≽ ≾ ≿"; |
| r'∀ ∁ ∂ ∃ ∄ ∅ ∆ ∇ ∈ ∉ ∊ ∋ ∌ ∍ ∎ ∏ ∐ ∑ − ∓ ∔ ∕ ∖ ∗ ∘ ∙ √ ∛ ∜ ∝ ∞ '; |
| r'∟ ∠ ∡ ∢ ∣ ∤ ∥ ∦ ∧ ∨ ∩ ∪ ∫ ∬ ∭ ∮ ∯ ∰ ∱ ∲ ∳ ∴ ∵ ∶ ∷ ∸ ∹ ∺ ∻ ∼ ∽ ∾ ∿'; |
| '≀ ≁ ≂ ≃ ≄ ≅ ≆ ≇ ≈ ≉ ≊ ≋ ≌ ≍ ≎ ≏ ≐ ≑ ≒ ≓ ≔ ≕ ≖ ≗ ≘ ≙ ≚ ≛ ≜ ≝ ≞ ≟'; |
| '≠ ≡ ≢ ≣ ≤ ≥ ≦ ≧ ≨ ≩ ≪ ≫ ≬ ≭ ≮ ≯ ≰ ≱ ≲ ≳ ≴ ≵ ≶ ≷ ≸ ≹ ≺ ≻ ≼ ≽ ≾ ≿'; |
| //braille |
| "⠁ ⠂ ⠃ ⠄ ⠅ ⠆ ⠇ ⠈ ⠉ ⠊ ⠋ ⠌ ⠍ ⠎ ⠏ ⠐ ⠑ ⠒ ⠓ ⠔ ⠕ ⠖ ⠗ ⠘ ⠙ ⠚ ⠛ ⠜ ⠝ ⠞ ⠟"; |
| '⠁ ⠂ ⠃ ⠄ ⠅ ⠆ ⠇ ⠈ ⠉ ⠊ ⠋ ⠌ ⠍ ⠎ ⠏ ⠐ ⠑ ⠒ ⠓ ⠔ ⠕ ⠖ ⠗ ⠘ ⠙ ⠚ ⠛ ⠜ ⠝ ⠞ ⠟'; |
| //some random symbols from the unicode table |
| "☠ ☡ ☢ ☣ ☤ ☥ ☦ ☧ ☨ ☩ ☪ ☫ ☬ ☭ ☮ ☯ ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷ ☸ ☹ ☺ ☻ ☼ ☽ ☾ ☿"; |
| r"♀ ♁ ♂ ♃ ♄ ♅ ♆ ♇ ♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓ ♔ ♕ ♖ ♗ ♘ ♙ ♚ ♛ ♜ ♝ ♞ ♟"; |
| "♠ ♡ ♢ ♣ ♤ ♥ ♦ ♧ ♨ ♩ ♪ ♫ ♬ ♭ ♮ ♯ ♰ ♱ ♲ ♳ ♴ ♵ ♶ ♷ ♸ ♹ ♺ ♻ ♼ ♽ ♾ ♿"; |
| r'☠ ☡ ☢ ☣ ☤ ☥ ☦ ☧ ☨ ☩ ☪ ☫ ☬ ☭ ☮ ☯ ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷ ☸ ☹ ☺ ☻ ☼ ☽ ☾ ☿'; |
| '♀ ♁ ♂ ♃ ♄ ♅ ♆ ♇ ♈ ♉ ♊ ♋ ♌ ♍ ♎ ♏ ♐ ♑ ♒ ♓ �'; |
| } |