Chromium Code Reviews| 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 class FileTest { | |
| 6 static void testOpenInvalidArgs(name, [writable = false]) { | |
| 7 var file = new File(name); | |
| 8 try { | |
| 9 file.openSync(); | |
| 10 Expect.fail('exception expected'); | |
| 11 } catch (var e) { | |
| 12 Expect.isTrue(e is FileIOException); | |
| 13 Expect.isTrue(e.toString().contains('open file')); | |
| 14 } | |
|
Søren Gjesse
2011/11/07 12:48:26
Add an empty line to separate the sync and aync ca
Mads Ager (google)
2011/11/07 13:11:29
Done.
| |
| 15 file.errorHandler = (s) { | |
| 16 Expect.isTrue(s.contains('open file')); | |
| 17 }; | |
| 18 file.openHandler = () { | |
| 19 Expect.fail('non-string name open'); | |
| 20 }; | |
| 21 file.open(); | |
| 22 } | |
| 23 | |
| 24 static void testExistsInvalidArgs(name) { | |
| 25 var file = new File(name); | |
| 26 try { | |
| 27 file.existsSync(); | |
| 28 Expect.fail('exception expected'); | |
| 29 } catch (var e) { | |
| 30 Expect.isTrue(e is FileIOException); | |
| 31 Expect.isTrue(e.toString().contains('is not a string')); | |
| 32 } | |
| 33 file.errorHandler = (s) { | |
| 34 Expect.isTrue(s.contains('is not a string')); | |
| 35 }; | |
| 36 file.existsHandler = (bool) { | |
| 37 Expect.fail('non-string name exists'); | |
| 38 }; | |
| 39 file.exists(); | |
| 40 } | |
| 41 | |
| 42 static void testCreateInvalidArgs(name) { | |
| 43 var file = new File(name); | |
| 44 try { | |
| 45 file.createSync(); | |
| 46 Expect.fail('exception expected'); | |
| 47 } catch (var e) { | |
| 48 Expect.isTrue(e is FileIOException); | |
| 49 Expect.isTrue(e.toString().contains('Cannot create file')); | |
| 50 } | |
| 51 file.errorHandler = (s) { | |
| 52 Expect.isTrue(s.contains('Cannot create file')); | |
| 53 }; | |
| 54 file.createHandler = (created) { | |
| 55 Expect.fail('non-string name exists'); | |
| 56 }; | |
| 57 file.create(); | |
| 58 } | |
| 59 | |
| 60 static void testCloseNonOpened() { | |
| 61 var file = new File(0); | |
| 62 try { | |
| 63 file.closeSync(); | |
| 64 Expect.fail('exception expected'); | |
| 65 } catch (var e) { | |
| 66 Expect.isTrue(e is FileIOException); | |
| 67 Expect.isTrue(e.toString().contains('Cannot close file')); | |
| 68 } | |
| 69 file.errorHandler = (s) { | |
| 70 Expect.isTrue(s.contains('Cannot close file')); | |
| 71 }; | |
| 72 file.closeHandler = () { | |
| 73 Expect.fail('close non-opened file'); | |
| 74 }; | |
| 75 file.close(); | |
| 76 } | |
| 77 | |
| 78 static void testReadListInvalidArgs(buffer, offset, length) { | |
| 79 String filename = getFilename("tests/vm/data/fixed_length_file"); | |
| 80 var file = new File(filename); | |
| 81 file.openSync(); | |
| 82 try { | |
| 83 file.readListSync(buffer, offset, length); | |
| 84 Expect.fail('exception expected'); | |
| 85 } catch (var e) { | |
| 86 Expect.isTrue(e is FileIOException); | |
| 87 Expect.isTrue(e.toString().contains('Invalid arguments')); | |
| 88 } | |
| 89 var errors = 0; | |
| 90 file.errorHandler = (s) { | |
| 91 errors++; | |
| 92 Expect.isTrue(s.contains('Invalid arguments')); | |
| 93 }; | |
| 94 file.readListHandler = (bytes) { | |
| 95 Expect.fail('read list invalid arguments'); | |
| 96 }; | |
| 97 file.readList(buffer, offset, length); | |
| 98 file.closeHandler = () { | |
| 99 Expect.equals(1, errors); | |
| 100 }; | |
| 101 file.close(); | |
| 102 } | |
| 103 | |
| 104 static void testWriteByteInvalidArgs(value) { | |
| 105 String filename = getFilename("tests/vm/data/fixed_length_file"); | |
| 106 var file = new File(filename + "_out"); | |
| 107 file.openSync(true); | |
| 108 try { | |
| 109 file.writeByteSync(value); | |
| 110 Expect.fail('exception expected'); | |
| 111 } catch (var e) { | |
| 112 Expect.isTrue(e is FileIOException); | |
| 113 Expect.isTrue(e.toString().contains('Invalid argument')); | |
| 114 } | |
| 115 var errors = 0; | |
| 116 file.errorHandler = (s) { | |
| 117 errors++; | |
| 118 Expect.isTrue(s.contains('Invalid argument')); | |
| 119 }; | |
| 120 file.noPendingWriteHandler = (bytes) { | |
| 121 Expect.fail('write list invalid argument'); | |
| 122 }; | |
| 123 file.writeByte(value); | |
| 124 file.closeHandler = () { | |
| 125 Expect.equals(1, errors); | |
| 126 }; | |
| 127 file.close(); | |
| 128 } | |
| 129 | |
| 130 static void testWriteListInvalidArgs(buffer, offset, bytes) { | |
| 131 String filename = getFilename("tests/vm/data/fixed_length_file"); | |
| 132 var file = new File(filename + "_out"); | |
| 133 file.openSync(true); | |
| 134 try { | |
| 135 file.writeListSync(buffer, offset, bytes); | |
| 136 Expect.fail('exception expected'); | |
| 137 } catch (var e) { | |
| 138 Expect.isTrue(e is FileIOException); | |
| 139 Expect.isTrue(e.toString().contains('Invalid arguments')); | |
| 140 } | |
| 141 var errors = 0; | |
| 142 file.errorHandler = (s) { | |
| 143 errors++; | |
| 144 Expect.isTrue(s.contains('Invalid arguments')); | |
| 145 }; | |
| 146 file.noPendingWriteHandler = (bytes) { | |
| 147 Expect.fail('write list invalid argument'); | |
| 148 }; | |
| 149 file.writeList(buffer, offset, bytes); | |
| 150 file.closeHandler = () { | |
| 151 Expect.equals(1, errors); | |
| 152 }; | |
| 153 file.close(); | |
| 154 } | |
| 155 | |
| 156 static void testWriteStringInvalidArgs(string) { | |
| 157 String filename = getFilename("tests/vm/data/fixed_length_file"); | |
| 158 var file = new File(filename + "_out"); | |
| 159 file.openSync(true); | |
| 160 try { | |
| 161 file.writeString(string); | |
| 162 Expect.fail('exception expected'); | |
| 163 } catch (var e) { | |
| 164 Expect.isTrue(e is FileIOException); | |
| 165 Expect.isTrue(e.toString().contains('writeString failed')); | |
| 166 } | |
| 167 var errors = 0; | |
| 168 file.errorHandler = (s) { | |
| 169 errors++; | |
| 170 Expect.isTrue(s.contains('writeString failed')); | |
| 171 }; | |
| 172 file.noPendingWriteHandler = (bytes) { | |
| 173 Expect.fail('write string invalid argument'); | |
| 174 }; | |
| 175 file.writeString(string); | |
| 176 file.closeHandler = () { | |
| 177 Expect.equals(1, errors); | |
| 178 }; | |
| 179 file.close(); | |
| 180 } | |
| 181 | |
| 182 static void testFullPathInvalidArgs(name) { | |
| 183 var file = new File(name); | |
| 184 try { | |
| 185 file.fullPathSync(); | |
| 186 Expect.fail('exception expected'); | |
| 187 } catch (var e) { | |
| 188 Expect.isTrue(e is FileIOException); | |
| 189 Expect.isTrue(e.toString().contains('fullPath failed')); | |
| 190 } | |
| 191 file.errorHandler = (s) { | |
| 192 Expect.isTrue(s.contains('fullPath failed')); | |
| 193 }; | |
| 194 file.fullPathHandler = (path) { | |
| 195 Expect.fail('full path invalid argument'); | |
| 196 }; | |
| 197 file.fullPath(); | |
| 198 } | |
| 199 | |
| 200 static String getFilename(String path) => | |
| 201 new File(path).existsSync() ? path : 'runtime/' + path; | |
| 202 } | |
| 203 | |
| 204 main() { | |
| 205 FileTest.testOpenInvalidArgs(0); | |
| 206 FileTest.testOpenInvalidArgs('name', 0); | |
| 207 FileTest.testExistsInvalidArgs(0); | |
| 208 FileTest.testCreateInvalidArgs(0); | |
| 209 FileTest.testCloseNonOpened(); | |
| 210 FileTest.testReadListInvalidArgs(12, 0, 1); | |
| 211 FileTest.testReadListInvalidArgs(new List(10), '0', 1); | |
| 212 FileTest.testReadListInvalidArgs(new List(10), 0, '1'); | |
| 213 FileTest.testWriteByteInvalidArgs('asdf'); | |
| 214 FileTest.testWriteListInvalidArgs(12, 0, 1); | |
| 215 FileTest.testWriteListInvalidArgs(new List(10), '0', 1); | |
| 216 FileTest.testWriteListInvalidArgs(new List(10), 0, '1'); | |
| 217 FileTest.testFullPathInvalidArgs(12); | |
| 218 } | |
| OLD | NEW |