Skip to content

Commit

Permalink
fix: erro de descrição longa com utf8 (#295)
Browse files Browse the repository at this point in the history
* fix: erro de descrição longa com utf8

Exemplo do Erro: SOAP-ERROR: Encoding: string 'Assessoria de Comunicação do Gabinete do Diretor-Presidente da Autoridade Nacional de Proteç\xc3...' is not a valid utf-8 string

* fix: erro de descrição longa com utf8

Exemplo do Erro: SOAP-ERROR: Encoding: string 'Assessoria de Comunicação do Gabinete do Diretor-Presidente da Autoridade Nacional de Proteç\xc3...' is not a valid utf-8 string

* fix: erro de descrição longa com utf8

Exemplo do Erro: SOAP-ERROR: Encoding: string 'Assessoria de Comunicação do Gabinete do Diretor-Presidente da Autoridade Nacional de Proteç\xc3...' is not a valid utf-8 string

* tests: adiciona teste de descrição longa com utf8
  • Loading branch information
caduvieira authored Aug 15, 2023
1 parent 676775c commit b7ba2ad
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 4 deletions.
Empty file modified docs/changelogs/CHANGELOG-3.3.1.md
100755 → 100644
Empty file.
8 changes: 4 additions & 4 deletions src/rn/ExpedirProcedimentoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -1728,25 +1728,25 @@ private function atribuirNumeracaoDocumento($objDocumento, DocumentoDTO $parObjD
$objDocumento->identificacao = new stdClass();
$objDocumento->identificacao->numero = utf8_encode($parObjDocumentoDTO->getStrNumero());
$objDocumento->identificacao->siglaDaUnidadeProdutora = utf8_encode($parObjDocumentoDTO->getStrSiglaUnidadeGeradoraProtocolo());
$objDocumento->identificacao->complemento = $this->objProcessoEletronicoRN->reduzirCampoTexto(utf8_encode($parObjDocumentoDTO->getStrDescricaoUnidadeGeradoraProtocolo()), 100);
$objDocumento->identificacao->complemento = utf8_encode($this->objProcessoEletronicoRN->reduzirCampoTexto($parObjDocumentoDTO->getStrDescricaoUnidadeGeradoraProtocolo(), 100));
}else if($strStaNumeracao == SerieRN::$TN_SEQUENCIAL_ORGAO){
$objOrgaoDTO = $this->consultarOrgao($parObjDocumentoDTO->getNumIdOrgaoUnidadeGeradoraProtocolo());
$objDocumento->identificacao = new stdClass();
$objDocumento->identificacao->numero = utf8_encode($parObjDocumentoDTO->getStrNumero());
$objDocumento->identificacao->siglaDaUnidadeProdutora = utf8_encode($objOrgaoDTO->getStrSigla());
$objDocumento->identificacao->complemento = $this->objProcessoEletronicoRN->reduzirCampoTexto(utf8_encode($objOrgaoDTO->getStrDescricao()), 100);
$objDocumento->identificacao->complemento = utf8_encode($this->objProcessoEletronicoRN->reduzirCampoTexto($objOrgaoDTO->getStrDescricao(), 100));
}else if($strStaNumeracao == SerieRN::$TN_SEQUENCIAL_ANUAL_UNIDADE){
$objDocumento->identificacao = new stdClass();
$objDocumento->identificacao->siglaDaUnidadeProdutora = utf8_encode($parObjDocumentoDTO->getStrSiglaUnidadeGeradoraProtocolo());
$objDocumento->identificacao->complemento = $this->objProcessoEletronicoRN->reduzirCampoTexto(utf8_encode($parObjDocumentoDTO->getStrDescricaoUnidadeGeradoraProtocolo()), 100);
$objDocumento->identificacao->complemento = utf8_encode($this->objProcessoEletronicoRN->reduzirCampoTexto($parObjDocumentoDTO->getStrDescricaoUnidadeGeradoraProtocolo(), 100));
$objDocumento->identificacao->numero = utf8_encode($parObjDocumentoDTO->getStrNumero());
$objDocumento->identificacao->ano = substr($parObjDocumentoDTO->getDtaGeracaoProtocolo(), 6, 4);
}else if($strStaNumeracao == SerieRN::$TN_SEQUENCIAL_ANUAL_ORGAO){
$objOrgaoDTO = $this->consultarOrgao($parObjDocumentoDTO->getNumIdOrgaoUnidadeGeradoraProtocolo());
$objDocumento->identificacao = new stdClass();
$objDocumento->identificacao->numero = utf8_encode($parObjDocumentoDTO->getStrNumero());
$objDocumento->identificacao->siglaDaUnidadeProdutora = utf8_encode($objOrgaoDTO->getStrSigla());
$objDocumento->identificacao->complemento = $this->objProcessoEletronicoRN->reduzirCampoTexto(utf8_encode($objOrgaoDTO->getStrDescricao()), 100);
$objDocumento->identificacao->complemento = utf8_encode($this->objProcessoEletronicoRN->reduzirCampoTexto($objOrgaoDTO->getStrDescricao(), 100));
$objDocumento->identificacao->ano = substr($parObjDocumentoDTO->getDtaGeracaoProtocolo(), 6, 4);
}
}
Expand Down
18 changes: 18 additions & 0 deletions tests_super/unitario/rn/ProcessoEletronicoRNTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,24 @@ public function testReduzirCampoTexto()
$this->assertEquals($strResultadoEsperado, $strResultadoAtual);
$this->assertTrue(strlen($strResultadoAtual) <= 150);

$strTexto = "ããããã ããããã";
$strResultadoEsperado = utf8_encode("ããããã ...");
$strResultadoAtual = utf8_encode($this->objProcessoEletronicoRN->reduzirCampoTexto($strTexto, 9));
$this->assertEquals($strResultadoEsperado, $strResultadoAtual);
$this->assertTrue(strlen(utf8_decode($strResultadoAtual)) <= 9);

$strTexto = "ããããã ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut lbore et dolore magna aliqua. Ut enim ad minim veniamr quis";
$strResultadoEsperado = utf8_encode("ããããã ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut lbore et dolore magna aliqua. Ut enim ad minim veniam ...");
$strResultadoAtual = utf8_encode($this->objProcessoEletronicoRN->reduzirCampoTexto($strTexto, 150));
$this->assertEquals($strResultadoEsperado, $strResultadoAtual);
$this->assertTrue(mb_strlen($strResultadoAtual) <= 150);

$strTexto = "Assessoria de Comunicação do Gabinete do Diretor-Presidente da Autoridade Nacional dede Proteção de dados";
$strResultadoEsperado = utf8_encode("Assessoria de Comunicação do Gabinete do Diretor-Presidente da Autoridade Nacional dede Proteçã ...");
$strResultadoAtual = utf8_encode($this->objProcessoEletronicoRN->reduzirCampoTexto($strTexto, 100));
$this->assertEquals($strResultadoEsperado, $strResultadoAtual);
$this->assertTrue(strlen(utf8_decode($strResultadoAtual)) <= 100);

}

public function testCompararVersoes(){
Expand Down

0 comments on commit b7ba2ad

Please sign in to comment.