blob: 98374b3a62b232182bd98b793291f1941b11ef5e [file] [log] [blame]
// Copyright (c) 2024, 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:math';
import 'package:test/test.dart';
import 'package:vm_service/src/_stream_helpers.dart';
void main() {
test('byte', () {
final write = WriteStream();
write.writeByte(11);
write.writeByte(12);
final read = ReadStream(write.chunks);
expect(read.readByte(), 11);
expect(read.readByte(), 12);
});
test('float64', () {
final write = WriteStream();
write.writeFloat64(-1.0);
write.writeFloat64(pi);
write.writeFloat64(10000000000);
write.writeFloat64(-10000000000);
final read = ReadStream(write.chunks);
expect(read.readFloat64(), -1.0);
expect(read.readFloat64(), pi);
expect(read.readFloat64(), 10000000000);
expect(read.readFloat64(), -10000000000);
});
test('utf8', () {
final write = WriteStream(chunkSizeBytes: 2);
write.writeUtf8('');
write.writeUtf8('hello!');
write.writeUtf8('привет!');
write.writeUtf8('8026221482988239');
final read = ReadStream(write.chunks);
expect(read.readUtf8(), '');
expect(read.readUtf8(), 'hello!');
expect(read.readUtf8(), 'привет!');
expect(read.readUtf8(), '8026221482988239');
});
test('integer', () {
const int maxValue = -1 >>> 1;
const int minValue = -maxValue - 1;
final write = WriteStream(chunkSizeBytes: 1);
write.writeInteger(-1000000000);
write.writeInteger(-1);
write.writeInteger(0);
write.writeInteger(1);
write.writeInteger(10000000000);
write.writeInteger(20000000000);
write.writeInteger(1683218);
write.writeInteger(maxValue);
write.writeInteger(minValue);
final read = ReadStream(write.chunks);
expect(read.readInteger(), -1000000000);
expect(read.readInteger(), -1);
expect(read.readInteger(), 0);
expect(read.readInteger(), 1);
expect(read.readInteger(), 10000000000);
expect(read.readInteger(), 20000000000);
expect(read.readInteger(), 1683218);
expect(read.readInteger(), maxValue);
expect(read.readInteger(), minValue);
});
}