Skip to content

Commit

Permalink
Merge pull request #669 from usev6/jvm_decoder
Browse files Browse the repository at this point in the history
Move all tests for streaming decoder to t/nqp
  • Loading branch information
jnthn committed Sep 25, 2020
2 parents 3199f99 + 2944fc6 commit 37963db
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 159 deletions.
157 changes: 0 additions & 157 deletions t/moar/05-decoder.t

This file was deleted.

27 changes: 25 additions & 2 deletions t/jvm/05-decoder.t → t/nqp/116-streaming-decoder.t
@@ -1,4 +1,4 @@
plan(52);
plan(54);

sub dies-ok(&code, $message) {
my int $died := 0;
Expand Down Expand Up @@ -129,9 +129,9 @@ nqp::composetype($buf_type, nqp::hash('array', nqp::hash('type', uint8)));
ok(nqp::decodertakechars($dec, 4) eq "над\n", 'Read 4 chars OK');
ok(nqp::decoderbytesavailable($dec) == 2, 'Correct bytes available afterwards');
nqp::decoderaddbytes($dec, $testbuf2);
ok(nqp::decoderbytesavailable($dec) == 6, 'Adding more bytes is tracked');
ok(nqp::isnull(nqp::decodertakebytes($dec, $buf_type, 60)),
'Trying to take more bytes than are available gives back null');
ok(nqp::decoderbytesavailable($dec) == 6, 'Adding more bytes is tracked');
my $bytes := nqp::decodertakebytes($dec, $buf_type, 6);
ok(nqp::elems($bytes), 'Could take 6 bytes as byte array');
ok(nqp::atpos_i($bytes, 0) == 0xd0, 'Byte 1 correct');
Expand All @@ -144,6 +144,29 @@ nqp::composetype($buf_type, nqp::hash('array', nqp::hash('type', uint8)));
ok(nqp::decoderempty($dec), 'And so the decoder is empty');
}

{
my $testbuf1 := nqp::encode("one\ntwo\r\nthree\r\n", 'utf8', nqp::create($buf_type));
my $dec := nqp::create(VMDecoder);
nqp::decoderconfigure($dec, 'utf8', nqp::hash('translate_newlines', 1));
nqp::decoderaddbytes($dec, $testbuf1);
my $got := nqp::decodertakeallchars($dec);
if nqp::getcomp('nqp').backend.name eq 'jvm' {
skip('translate_newline option does not work on the jvm', 1);
}
else {
is($got, "one\ntwo\nthree\n", 'Newlines get translated if the options is passed');
}
}

{
my $testbuf1 := nqp::encode("one\ntwo\r\n", 'utf8', nqp::create($buf_type));
my $dec := nqp::create(VMDecoder);
nqp::decoderconfigure($dec, 'utf8', nqp::hash());
nqp::decoderaddbytes($dec, $testbuf1);
my $got := nqp::decodertakeallchars($dec);
is($got, "one\ntwo\r\n", "Newlines don't get translated if the options is not passed");
}

{
my $emptybuf := nqp::encode('', 'utf8', nqp::create($buf_type));
my $dec := nqp::create(VMDecoder);
Expand Down

0 comments on commit 37963db

Please sign in to comment.