| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | |
| 2 // for details. All rights reserved. Use of this source code is governed by a | |
| 3 // BSD-style license that can be found in the LICENSE file. | |
| 4 | |
| 5 library test_utils; | |
| 6 | |
| 7 /** | |
| 8 * Removes eight spaces of leading indentation from a multiline string. | |
| 9 * | |
| 10 * Note that this is very sensitive to how the literals are styled. They should | |
| 11 * be: | |
| 12 * ''' | |
| 13 * Text starts on own line. Lines up with subsequent lines. | |
| 14 * Lines are indented exactly 8 characters from the left margin. | |
| 15 * Close is on the same line.''' | |
| 16 * | |
| 17 * This does nothing if text is only a single line. | |
| 18 */ | |
| 19 // TODO(nweiz): Make this auto-detect the indentation level from the first | |
| 20 // non-whitespace line. | |
| 21 String cleanUpLiteral(String text) { | |
| 22 var lines = text.split('\n'); | |
| 23 if (lines.length <= 1) return text; | |
| 24 | |
| 25 for (var j = 0; j < lines.length; j++) { | |
| 26 if (lines[j].length > 8) { | |
| 27 lines[j] = lines[j].substring(8, lines[j].length); | |
| 28 } else { | |
| 29 lines[j] = ''; | |
| 30 } | |
| 31 } | |
| 32 | |
| 33 return lines.join('\n'); | |
| 34 } | |
| 35 | |
| 36 /** | |
| 37 * Indents each line of [text] so that, when passed to [cleanUpLiteral], it will | |
| 38 * produce output identical to [text]. | |
| 39 * | |
| 40 * This is useful for literals that need to include newlines but can't be | |
| 41 * conveniently represented as multi-line strings. | |
| 42 */ | |
| 43 // TODO(nweiz): Once cleanUpLiteral is fixed, get rid of this. | |
| 44 String indentLiteral(String text) { | |
| 45 var lines = text.split('\n'); | |
| 46 if (lines.length <= 1) return text; | |
| 47 | |
| 48 for (var i = 0; i < lines.length; i++) { | |
| 49 lines[i] = " ${lines[i]}"; | |
| 50 } | |
| 51 | |
| 52 return lines.join("\n"); | |
| 53 } | |
| OLD | NEW |