require($ENV{PERL_CORE} ? "../../t/test.pl" : "./t/test.pl");
-plan(tests => 5);
+my $buf_size_count = 8200; # Above default buffer size of 8192
+
+plan(tests => 5 + 2 * $buf_size_count);
my $io;
$io = IO::File->new;
ok($io->open("io_utf8", "<:utf8"), "open <:utf8");
is(ord(<$io>), 256, "readline chr(256)");
+
+for my $i (0 .. $buf_size_count - 1) {
+ is($io->ungetc($i), $i, "ungetc of $i returns itself");
+}
+
+for (my $i = $buf_size_count - 1; $i >= 0; $i--) {
+ is(ord($io->getc()), $i, "getc gets back $i");
+}
+
undef $io;
END {