static void test_parse_string() { TEST_STRING("", "\"\""); TEST_STRING("Hello", "\"Hello\""); TEST_STRING("Hello\nWorld", "\"Hello\\nWorld\""); TEST_STRING("\" \\ / \b \f \n \r \t", "\"\\\" \\\\ \\/ \\b \\f \\n \\r \\t\""); TEST_STRING("Hello\0World", "\"Hello\\u0000World\""); TEST_STRING("\x24", "\"\\u0024\""); /* Dollar sign U+0024 */ TEST_STRING("\xC2\xA2", "\"\\u00A2\""); /* Cents sign U+00A2 */ TEST_STRING("\xE2\x82\xAC", "\"\\u20AC\""); /* Euro sign U+20AC */ TEST_STRING("\xF0\x9D\x84\x9E", "\"\\uD834\\uDD1E\""); /* G clef sign U+1D11E */ TEST_STRING("\xF0\x9D\x84\x9E", "\"\\ud834\\udd1e\""); /* G clef sign U+1D11E */ }
int main() { std::cout << "Types:" << std::endl; std::string s = TEST_STRING( ((her)(him)(indeterminate-gender-person)(nobody)) ((marries)(becomes fb with)(divorces)) ((he)(she)(indeterminate-gender-person)) ); boost::replace_all(s, "; ", "\n"); boost::replace_all(s, ";", "\n"); // last one has no space std::cout << s; }