Skip to content

Commit a19bae6

Browse files
authored
Merge pull request #5 from audkar/in_memory_fix
Respect bufferSize in MemoryOutput
2 parents 886d70e + 1e34c4c commit a19bae6

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

lib/src/outputs/memory_output.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class MemoryOutput extends LogOutput {
1212
@override
1313
void output(OutputEvent event) {
1414
if (buffer.length == bufferSize) {
15-
buffer.take(1);
15+
buffer.removeFirst();
1616
}
1717

1818
buffer.add(event);

test/memory_output_test.dart

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import 'package:logger/logger.dart';
2+
import 'package:test/test.dart';
3+
4+
main() {
5+
test('Memory output buffer size is limited', () {
6+
MemoryOutput output = MemoryOutput(bufferSize: 2);
7+
8+
final event0 = OutputEvent(Level.info, []);
9+
final event1 = OutputEvent(Level.info, []);
10+
final event2 = OutputEvent(Level.info, []);
11+
12+
output.output(event0);
13+
output.output(event1);
14+
output.output(event2);
15+
16+
expect(output.buffer.length, 2);
17+
expect(output.buffer, containsAllInOrder([event1, event2]));
18+
});
19+
}

0 commit comments

Comments
 (0)