| OLD | NEW |
| 1 // Copyright (c) 2015, the Fletch project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 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.md file. | 3 // BSD-style license that can be found in the LICENSE.md file. |
| 4 | 4 |
| 5 // Looking up a library should not make the symbols reachable from main lookup | 5 // Looking up a library should not make the symbols reachable from main lookup |
| 6 // unless we explicitly pass the global flag. | 6 // unless we explicitly pass the global flag. |
| 7 | 7 |
| 8 import 'dart:fletch.ffi'; | 8 import 'dart:fletch.ffi'; |
| 9 import "package:expect/expect.dart"; | 9 import "package:expect/expect.dart"; |
| 10 | 10 |
| 11 bool isArgumentError(e) => e is ArgumentError; | 11 bool isArgumentError(e) => e is ArgumentError; |
| 12 | 12 |
| 13 void main() { | 13 void main() { |
| 14 var libPath = ForeignLibrary.bundleLibraryName('ffi_test_local_library'); | 14 var libPath = ForeignLibrary.bundleLibraryName('ffi_test_local_library'); |
| 15 ForeignLibrary fl = new ForeignLibrary.fromName(libPath); | 15 ForeignLibrary fl = new ForeignLibrary.fromName(libPath); |
| 16 Expect.throws( | 16 Expect.throws( |
| 17 () => ForeignLibrary.main.lookup('memuint32'), | 17 () => ForeignLibrary.main.lookup('memuint32'), |
| 18 isArgumentError); | 18 isArgumentError); |
| 19 | 19 |
| 20 libPath = ForeignLibrary.bundleLibraryName('ffi_test_library'); | 20 libPath = ForeignLibrary.bundleLibraryName('ffi_test_library'); |
| 21 ForeignLibrary flGlobal = new ForeignLibrary.fromName(libPath, global: true); | 21 ForeignLibrary flGlobal = new ForeignLibrary.fromName(libPath, global: true); |
| 22 var memuint32 = ForeignLibrary.main.lookup('memuint32'); | 22 var memuint32 = ForeignLibrary.main.lookup('memuint32'); |
| 23 var memory = | 23 var memory = |
| 24 new ForeignMemory.fromAddressFinalized(memuint32.pcall$0().address, 16); | 24 new ForeignMemory.fromAddressFinalized(memuint32.pcall$0().address, 16); |
| 25 Expect.equals(memory.getUint32(0), 0); | 25 Expect.equals(memory.getUint32(0), 0); |
| 26 Expect.equals(memory.getUint32(4), 1); | 26 Expect.equals(memory.getUint32(4), 1); |
| 27 Expect.equals(memory.getUint32(8), 65536); | 27 Expect.equals(memory.getUint32(8), 65536); |
| 28 Expect.equals(memory.getUint32(12), 4294967295); | 28 Expect.equals(memory.getUint32(12), 4294967295); |
| 29 } | 29 } |
| OLD | NEW |