•  


fix: report missing import properly in loadSync (#1960) · protobufjs/protobuf.js@af3ff83 · GitHub
Skip to content

Commit

Permalink
fix: report missing import properly in loadSync ( #1960 )
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-fenster committed Jan 16, 2024
1 parent 4436cc7 commit af3ff83
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 2 deletions .
4 changes: 2 additions & 2 deletions src/root.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,10 +98,10 @@ Root.prototype.load = function load(filename, options, callback) {
/* istanbul ignore if */
if ( ! callback )
return ;
var cb = callback ;
callback = null ;
if ( sync )
throw err ;
var cb = callback ;
callback = null ;
cb ( err , root ) ;
}

Expand Down
23 changes: 23 additions & 0 deletions tests/api_root.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,29 @@ tape.test("reflected roots", function(test) {
} ) ;
} ) ;

test . test ( test . name + " - missing import" , function ( test ) {
var root = new Root ( ) ;
test . plan ( 2 ) ;
root . load ( "tests/data/badimport.proto" , function ( err ) {
test . ok ( err , "should return an error when an imported file does not exist" ) ;
test . match ( err . toString ( ) , / nonexistent\.proto / , "should mention the file name which was not found" ) ;
test . end ( ) ;
} ) ;
} ) ;

test . test ( test . name + " - missing import, sync load" , function ( test ) {
var root = new Root ( ) ;
test . plan ( 2 ) ;
try {
root . loadSync ( "tests/data/badimport.proto" ) ;
root . resolveAll ( ) ;
} catch ( err ) {
test . ok ( err , "should return an error when an imported file does not exist" ) ;
test . match ( err . toString ( ) , / nonexistent\.proto / , "should mention the file name which was not found" ) ;
}
test . end ( ) ;
} ) ;

test . test ( test . name + " - skipped" , function ( test ) {
var root = new Root ( ) ;
root . resolvePath = function ( ) {
Expand Down
7 changes: 7 additions & 0 deletions tests/data/badimport.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
syntax = "proto3" ;

import "nonexistent.proto" ;

message Message {
NonExistent field = 1 ;
}

0 comments on commit af3ff83

Please sign in to comment.
- "漢字路" 한글한자자동변환 서비스는 교육부 고전문헌국역지원사업의 지원으로 구축되었습니다.
- "漢字路" 한글한자자동변환 서비스는 전통문화연구회 "울산대학교한국어처리연구실 옥철영(IT융합전공)교수팀"에서 개발한 한글한자자동변환기를 바탕하여 지속적으로 공동 연구 개발하고 있는 서비스입니다.
- 현재 고유명사(인명, 지명등)을 비롯한 여러 변환오류가 있으며 이를 해결하고자 많은 연구 개발을 진행하고자 하고 있습니다. 이를 인지하시고 다른 곳에서 인용시 한자 변환 결과를 한번 더 검토하시고 사용해 주시기 바랍니다.
- 변환오류 및 건의,문의사항은 juntong@juntong.or.kr로 메일로 보내주시면 감사하겠습니다. .
Copyright ⓒ 2020 By '전통문화연구회(傳統文化硏究會)' All Rights reserved.
 한국   대만   중국   일본