Skip to content

Commit 9c471a9

Browse files
authored
ImageProvider.toString uses double.toStringAsFixed (#131348)
This provides consistency for web vs VM (and is more consistent with how we do doubles everywhere else in toStrings).
1 parent f5f36ec commit 9c471a9

File tree

4 files changed

+11
-6
lines changed

4 files changed

+11
-6
lines changed

packages/flutter/lib/src/painting/_network_image_io.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,5 +185,5 @@ class NetworkImage extends image_provider.ImageProvider<image_provider.NetworkIm
185185
int get hashCode => Object.hash(url, scale);
186186

187187
@override
188-
String toString() => '${objectRuntimeType(this, 'NetworkImage')}("$url", scale: $scale)';
188+
String toString() => '${objectRuntimeType(this, 'NetworkImage')}("$url", scale: ${scale.toStringAsFixed(1)})';
189189
}

packages/flutter/lib/src/painting/_network_image_web.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,5 @@ class NetworkImage
215215
int get hashCode => Object.hash(url, scale);
216216

217217
@override
218-
String toString() =>
219-
'${objectRuntimeType(this, 'NetworkImage')}("$url", scale: $scale)';
218+
String toString() => '${objectRuntimeType(this, 'NetworkImage')}("$url", scale: ${scale.toStringAsFixed(1)})';
220219
}

packages/flutter/lib/src/painting/image_provider.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1618,7 +1618,7 @@ class FileImage extends ImageProvider<FileImage> {
16181618
int get hashCode => Object.hash(file.path, scale);
16191619

16201620
@override
1621-
String toString() => '${objectRuntimeType(this, 'FileImage')}("${file.path}", scale: $scale)';
1621+
String toString() => '${objectRuntimeType(this, 'FileImage')}("${file.path}", scale: ${scale.toStringAsFixed(1)})';
16221622
}
16231623

16241624
/// Decodes the given [Uint8List] buffer as an image, associating it with the
@@ -1722,7 +1722,7 @@ class MemoryImage extends ImageProvider<MemoryImage> {
17221722
int get hashCode => Object.hash(bytes.hashCode, scale);
17231723

17241724
@override
1725-
String toString() => '${objectRuntimeType(this, 'MemoryImage')}(${describeIdentity(bytes)}, scale: $scale)';
1725+
String toString() => '${objectRuntimeType(this, 'MemoryImage')}(${describeIdentity(bytes)}, scale: ${scale.toStringAsFixed(1)})';
17261726
}
17271727

17281728
/// Fetches an image from an [AssetBundle], associating it with the given scale.
@@ -1863,7 +1863,7 @@ class ExactAssetImage extends AssetBundleImageProvider {
18631863
int get hashCode => Object.hash(keyName, scale, bundle);
18641864

18651865
@override
1866-
String toString() => '${objectRuntimeType(this, 'ExactAssetImage')}(name: "$keyName", scale: $scale, bundle: $bundle)';
1866+
String toString() => '${objectRuntimeType(this, 'ExactAssetImage')}(name: "$keyName", scale: ${scale.toStringAsFixed(1)}, bundle: $bundle)';
18671867
}
18681868

18691869
// A completer used when resolving an image fails sync.

packages/flutter/test/painting/image_provider_test.dart

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,12 @@ void main() {
159159
expect(imageCache.statusForKey(provider).untracked, false);
160160
expect(imageCache.pendingImageCount, 1);
161161
}, skip: kIsWeb); // [intended] The web cannot load files.
162+
163+
test('ImageProvider toStrings', () async {
164+
expect(const NetworkImage('test', scale: 1.21).toString(), 'NetworkImage("test", scale: 1.2)');
165+
expect(const ExactAssetImage('test', scale: 1.21).toString(), 'ExactAssetImage(name: "test", scale: 1.2, bundle: null)');
166+
expect(MemoryImage(Uint8List(0), scale: 1.21).toString(), equalsIgnoringHashCodes('MemoryImage(Uint8List#00000, scale: 1.2)'));
167+
});
162168
}
163169

164170
class FakeCodec implements Codec {

0 commit comments

Comments
 (0)