| 237 | } |
| 238 | |
| 239 | void |
| 240 | testString() |
| 241 | { |
| 242 | check("\"\""); |
| 243 | check("\"x\""); |
| 244 | check("\"xyz\""); |
| 245 | check("\"x z\""); |
| 246 | |
| 247 | // escapes |
| 248 | check("\"\\\"\""); // double quote |
| 249 | check("\"\\\\\""); // backslash |
| 250 | check("\"\\b\""); // backspace |
| 251 | check("\"\\f\""); // formfeed |
| 252 | check("\"\\n\""); // newline |
| 253 | check("\"\\r\""); // carriage return |
| 254 | check("\"\\t\""); // horizontal tab |
| 255 | |
| 256 | // control characters |
| 257 | check("\"\\u0000\""); |
| 258 | check("\"\\u0001\""); |
| 259 | check("\"\\u0002\""); |
| 260 | check("\"\\u0003\""); |
| 261 | check("\"\\u0004\""); |
| 262 | check("\"\\u0005\""); |
| 263 | check("\"\\u0006\""); |
| 264 | check("\"\\u0007\""); |
| 265 | check("\"\\u0008\""); |
| 266 | check("\"\\u0009\""); |
| 267 | check("\"\\u000a\""); |
| 268 | check("\"\\u000b\""); |
| 269 | check("\"\\u000c\""); |
| 270 | check("\"\\u000d\""); |
| 271 | check("\"\\u000e\""); |
| 272 | check("\"\\u000f\""); |
| 273 | check("\"\\u0010\""); |
| 274 | check("\"\\u0011\""); |
| 275 | check("\"\\u0012\""); |
| 276 | check("\"\\u0013\""); |
| 277 | check("\"\\u0014\""); |
| 278 | check("\"\\u0015\""); |
| 279 | check("\"\\u0016\""); |
| 280 | check("\"\\u0017\""); |
| 281 | check("\"\\u0018\""); |
| 282 | check("\"\\u0019\""); |
| 283 | check("\"\\u0020\""); |
| 284 | check("\"\\u0021\""); |
| 285 | } |
| 286 | |
| 287 | void |
| 288 | testNumber() |