mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-13 17:56:25 +00:00
74 lines
1.8 KiB
JavaScript
74 lines
1.8 KiB
JavaScript
const test = require('ava')
|
|
const path = require('path')
|
|
const { parse } = require('browser/lib/RcParser')
|
|
|
|
// Unit test
|
|
test('RcParser should return a json object', t => {
|
|
const validJson = {
|
|
editor: { keyMap: 'vim', switchPreview: 'BLUR', theme: 'monokai' },
|
|
hotkey: { toggleMain: 'Control + L' },
|
|
listWidth: 135,
|
|
navWidth: 135
|
|
}
|
|
const allJson = {
|
|
amaEnabled: true,
|
|
editor: {
|
|
fontFamily: 'Monaco, Consolas',
|
|
fontSize: '14',
|
|
indentSize: '2',
|
|
indentType: 'space',
|
|
keyMap: 'vim',
|
|
switchPreview: 'BLUR',
|
|
theme: 'monokai'
|
|
},
|
|
hotkey: { toggleMain: 'Cmd + Alt + L' },
|
|
isSideNavFolded: false,
|
|
listStyle: 'DEFAULT',
|
|
listWidth: 174,
|
|
navWidth: 200,
|
|
preview: {
|
|
codeBlockTheme: 'dracula',
|
|
fontFamily: 'Lato',
|
|
fontSize: '14',
|
|
lineNumber: true
|
|
},
|
|
sortBy: { default: 'UPDATED_AT' },
|
|
ui: {
|
|
defaultNote: 'ALWAYS_ASK',
|
|
disableDirectWrite: false,
|
|
theme: 'default'
|
|
},
|
|
zoom: 1
|
|
}
|
|
|
|
// [input, expected]
|
|
const validTestCases = [
|
|
['.boostnoterc.valid', validJson],
|
|
['.boostnoterc.all', allJson]
|
|
]
|
|
|
|
const invalidTestCases = [['.boostnoterc.invalid', {}]]
|
|
|
|
validTestCases.forEach(validTestCase => {
|
|
const [input, expected] = validTestCase
|
|
t.is(
|
|
parse(filePath(input)).editor.keyMap,
|
|
expected.editor.keyMap,
|
|
`Test for getTodoStatus() input: ${input} expected: ${expected.keyMap}`
|
|
)
|
|
})
|
|
|
|
invalidTestCases.forEach(invalidTestCase => {
|
|
const [input, expected] = invalidTestCase
|
|
t.is(
|
|
parse(filePath(input)).editor,
|
|
expected.editor,
|
|
`Test for getTodoStatus() input: ${input} expected: ${expected.editor}`
|
|
)
|
|
})
|
|
})
|
|
|
|
function filePath(filename) {
|
|
return path.join(`${__dirname}/boostnoterc`, filename)
|
|
}
|