diff --git a/spec/asar-spec.coffee b/spec/asar-spec.coffee index e1286f93c..0144b9a94 100644 --- a/spec/asar-spec.coffee +++ b/spec/asar-spec.coffee @@ -261,3 +261,30 @@ describe 'asar package', -> p = path.join fixtures, 'asar', 'a.asar', 'not-exist' throws = -> child_process.fork p assert.throws throws, /ENOENT/ + + describe 'asar protocol', -> + it 'can request a file in package', (done) -> + p = path.resolve fixtures, 'asar', 'a.asar', 'file1' + $.get "asar:#{p}", (data) -> + assert.equal data, 'file1\n' + done() + + it 'can request a linked file in package', (done) -> + p = path.resolve fixtures, 'asar', 'a.asar', 'link2', 'link1' + $.get "asar:#{p}", (data) -> + assert.equal data, 'file1\n' + done() + + it 'can request a file in filesystem', (done) -> + p = path.resolve fixtures, 'asar', 'file' + $.get "asar:#{p}", (data) -> + assert.equal data, 'file\n' + done() + + it 'gets 404 when file is not found', (done) -> + p = path.resolve fixtures, 'asar', 'a.asar', 'no-exist' + $.ajax + url: "asar:#{p}" + error: (err) -> + assert.equal err.status, 404 + done() diff --git a/spec/fixtures/asar/file b/spec/fixtures/asar/file new file mode 100644 index 000000000..f73f3093f --- /dev/null +++ b/spec/fixtures/asar/file @@ -0,0 +1 @@ +file