Migrating to `dart:ffi` in Dart 2.12 and `package:ffi` 1.0.0.
Migrates:
- `allocate` and `free` to `calloc` and `calloc.free`.
- `Utf8.toUtf8`, `Utf8.fromUtf8`, `Utf16.toUtf16` and , `Utf16.fromUtf16` to new
extension methods `toNativeUtf8`, `toNativeUtf16`, and `toDartString`.
- empty `Struct`s to `Opaque`.
Tested:
TAP for global presubmit queue
http://test/OCL:357169869:BASE:357174266:1613138261627:d1691ac7
PiperOrigin-RevId: 357175000
diff --git a/test/number_format_compact_icu_test.dart b/test/number_format_compact_icu_test.dart
index 250b580..5227795 100644
--- a/test/number_format_compact_icu_test.dart
+++ b/test/number_format_compact_icu_test.dart
@@ -159,14 +159,14 @@
// unumf_openForSkeletonAndLocale(u"precision-integer", -1, "en", &ec);
// UFormattedNumber* uresult = unumf_openResult(&ec);
// if (U_FAILURE(ec)) { return; }
- final cLocale = Utf8.toUtf8(locale);
- final cSkeleton = Utf16.toUtf16(skeleton);
- final cErrorCode = allocate<Int32>(count: 1);
+ final cLocale = locale.toNativeUtf8();
+ final cSkeleton = skeleton.toNativeUtf16();
+ final cErrorCode = calloc<Int32>();
cErrorCode.value = 0;
final uformatter =
unumf_openForSkeletonAndLocale!(cSkeleton, -1, cLocale, cErrorCode);
- free(cSkeleton);
- free(cLocale);
+ calloc.free(cSkeleton);
+ calloc.free(cLocale);
var errorCode = cErrorCode.value;
expect(errorCode, lessThanOrEqualTo(0),
reason: u_errorName!(errorCode).toString());
@@ -201,7 +201,7 @@
expect(errorCode, equals(15), // U_BUFFER_OVERFLOW_ERROR
reason: u_errorName!(errorCode).toString());
cErrorCode.value = 0;
- final buffer = allocate<Utf16>(count: reqLen + 1);
+ final buffer = calloc<Uint16>(reqLen + 1).cast<Utf16>();
unumf_resultToString!(uresult, buffer, reqLen + 1, cErrorCode);
errorCode = cErrorCode.value;
expect(errorCode, lessThanOrEqualTo(0),
@@ -211,11 +211,11 @@
// // Cleanup:
// unumf_close(uformatter);
// unumf_closeResult(uresult);
- // free(buffer);
+ // calloc.free(buffer);
unumf_close!(uformatter);
unumf_closeResult!(uresult);
- free(buffer);
- free(cErrorCode);
+ calloc.free(buffer);
+ calloc.free(cErrorCode);
return result;
}