blob: 1626ed4bd156d256010bdf78aaa2d8a39ff4a40b [file] [log] [blame]
// Copyright 2014 The Flutter Authors. 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 'package:file/memory.dart';
import 'package:flutter_tools/src/base/file_system.dart';
import 'package:flutter_tools/src/web/memory_fs.dart';
import '../../src/common.dart';
void main() {
testWithoutContext('correctly parses source, source map, metadata, manifest files', () {
final MemoryFileSystem fileSystem = MemoryFileSystem();
final File source = fileSystem.file('source')
..writeAsStringSync('main() {}');
final File sourcemap = fileSystem.file('sourcemap')
..writeAsStringSync('{}');
final File metadata = fileSystem.file('metadata')
..writeAsStringSync('{}');
final File manifest = fileSystem.file('manifest')
..writeAsStringSync(json.encode(<String, Object>{
'/foo.js': <String, Object>{
'code': <int>[0, source.lengthSync()],
'sourcemap': <int>[0, 2],
'metadata': <int>[0, 2],
},
}));
final WebMemoryFS webMemoryFS = WebMemoryFS();
webMemoryFS.write(source, manifest, sourcemap, metadata);
expect(utf8.decode(webMemoryFS.files['foo.js']!), 'main() {}');
expect(utf8.decode(webMemoryFS.sourcemaps['foo.js.map']!), '{}');
expect(utf8.decode(webMemoryFS.metadataFiles['foo.js.metadata']!), '{}');
expect(webMemoryFS.mergedMetadata, '{}');
});
}