d50903739c
always_declare_return_types unawaited_futures Enabled, fixed then disabled directives_ordering due to code generation Change-Id: Icaf7358222b1c9a939a4764be091e1956d449386 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/253365 Commit-Queue: Mark Zhou <markzipan@google.com> Auto-Submit: Kevin Moore <kevmoo@google.com> Commit-Queue: Kevin Moore <kevmoo@google.com> Reviewed-by: Mark Zhou <markzipan@google.com>
46 lines
1.5 KiB
Dart
46 lines
1.5 KiB
Dart
// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
import 'dart:convert';
|
|
import 'dart:io' show File, Platform;
|
|
import 'dart:typed_data' show BytesBuilder;
|
|
|
|
import 'package:dart2js_info/binary_serialization.dart' as binary;
|
|
import 'package:dart2js_info/json_info_codec.dart';
|
|
import 'package:test/test.dart';
|
|
|
|
class ByteSink implements Sink<List<int>> {
|
|
BytesBuilder builder = BytesBuilder();
|
|
|
|
@override
|
|
void add(List<int> data) => builder.add(data);
|
|
@override
|
|
void close() {}
|
|
}
|
|
|
|
void main() {
|
|
group('json to proto conversion with deferred files', () {
|
|
test('hello_world_deferred', () {
|
|
var uri = Platform.script
|
|
.resolve('hello_world_deferred/hello_world_deferred.js.info.json');
|
|
var helloWorld = File.fromUri(uri);
|
|
var contents = helloWorld.readAsStringSync();
|
|
var json = jsonDecode(contents);
|
|
// Clear toJsonDuration for consistency.
|
|
json['program']['toJsonDuration'] = 0;
|
|
var info = AllInfoJsonCodec().decode(json);
|
|
|
|
var sink = ByteSink();
|
|
binary.encode(info, sink);
|
|
var info2 = binary.decode(sink.builder.toBytes());
|
|
var json2 = AllInfoJsonCodec().encode(info2);
|
|
|
|
var json1 = AllInfoJsonCodec().encode(info);
|
|
var contents1 = const JsonEncoder.withIndent(" ").convert(json1);
|
|
var contents2 = const JsonEncoder.withIndent(" ").convert(json2);
|
|
expect(contents1 == contents2, isTrue);
|
|
});
|
|
});
|
|
}
|