Skip to content

Commit

Permalink
Add filename check errors, fix issue #11
Browse files Browse the repository at this point in the history
  • Loading branch information
yumauri committed May 5, 2020
1 parent ff5111a commit e0fbf4d
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 4 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
{
"path": "pkg/dist-node/index.js",
"webpack": false,
"limit": "3874 B"
"limit": "3916 B"
}
],
"@pika/pack": {
Expand Down
13 changes: 10 additions & 3 deletions src/internal/source-converters.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,16 +52,23 @@ export const toTuples = (source: Source, recursive = false): TupleSource[] => {
}

// single tuple like we want to be -> just return it
if (isTuple(source) && isFileName(source[0])) {
return [source]
if (isTuple(source)) {
if (isFileName(source[0])) {
return [source]
}
throw new Error(`Source name "${source[0]}" doesn't look like file name`)
}

// if object source
if (isObject(source)) {
const ret: TupleSource[] = []
for (const key in source) {
if (source.hasOwnProperty(key)) {
ret.push([key, source[key]])
if (isFileName(key)) {
ret.push([key, source[key]])
} else {
throw new Error(`Source name "${key}" doesn't look like file name`)
}
}
}
return ret
Expand Down
16 changes: 16 additions & 0 deletions test/manual/test_issue_11.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { createWriteStream, readFileSync } from 'fs'
import { convert, gotenberg, office, pipe, please } from '../../src'

// need to run Gotenberg like this
// docker run --rm -p 3500:3000 thecodingmachine/gotenberg:6

const buffer = readFileSync('document.docx')

pipe(
gotenberg('http://localhost:3500'),
convert,
office,
please
)(['aaaa', buffer])
.then(pdf => pdf.pipe(createWriteStream(`${__dirname}/document.pdf`)))
.catch(console.error)
37 changes: 37 additions & 0 deletions test/please.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -118,3 +118,40 @@ test('Should throw on wrong source filenames', () => {
`looks like you didn't set filename for document`
)
})

test('Should throw on wrong source filename 2', () => {
const request1: OfficeRequest = {
type: RequestType.Office,
source: ['aaaaa', 'test'],
} as any

expect(() => please(request1)).toThrow(`Source name "aaaaa" doesn't look like file name`)

const request2: OfficeRequest = {
type: RequestType.Office,
source: { aaaaa: 'test' },
} as any

expect(() => please(request2)).toThrow(`Source name "aaaaa" doesn't look like file name`)

const request3: OfficeRequest = {
type: RequestType.Office,
source: [['aaaaa', 'test']],
} as any

expect(() => please(request3)).toThrow(`Source name "aaaaa" doesn't look like file name`)

const request4: OfficeRequest = {
type: RequestType.Office,
source: [{ aaaaa: 'test' }],
} as any

expect(() => please(request4)).toThrow(`Source name "aaaaa" doesn't look like file name`)

const request5: OfficeRequest = {
type: RequestType.Office,
source: [['aaaaa', 'test'], { aaaaa: 'test' }],
} as any

expect(() => please(request5)).toThrow(`Source name "aaaaa" doesn't look like file name`)
})

0 comments on commit e0fbf4d

Please sign in to comment.