56 lines
1.3 KiB
Dart
56 lines
1.3 KiB
Dart
import 'dart:math';
|
|
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:super_logging/super_logging.dart';
|
|
|
|
var random = Random();
|
|
|
|
void main() {
|
|
final chunkSize = SuperLogging.logChunkSize;
|
|
|
|
test('test with empty text', () {
|
|
var text = randomText(0);
|
|
|
|
var actual = text.chunked(chunkSize).toList();
|
|
var expected = [];
|
|
|
|
expect(expected, actual);
|
|
});
|
|
|
|
test('test with length < chunk size', () {
|
|
var text = randomText(chunkSize ~/ 2.5);
|
|
|
|
var actual = text.chunked(chunkSize).toList();
|
|
var expected = [text];
|
|
|
|
expect(expected, actual);
|
|
});
|
|
|
|
test('test with length = chunk size', () {
|
|
var text = randomText(chunkSize);
|
|
|
|
var actual = text.chunked(chunkSize).toList();
|
|
var expected = [text];
|
|
|
|
expect(expected, actual);
|
|
});
|
|
|
|
test('test with length > chunk size', () {
|
|
var text = randomText((chunkSize * 2.5).toInt());
|
|
|
|
var actual = text.chunked(chunkSize).toList();
|
|
var expected = [
|
|
text.substring(0, chunkSize),
|
|
text.substring(chunkSize, chunkSize * 2),
|
|
text.substring(chunkSize * 2)
|
|
];
|
|
|
|
expect(expected, actual);
|
|
});
|
|
}
|
|
|
|
String randomText(int len) {
|
|
var charCodes = List.generate(len, (index) => random.nextInt(0x10FFFF));
|
|
return String.fromCharCodes(charCodes).substring(0, len);
|
|
}
|