// 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, '{}'); }); }