50 lines
1.4 KiB
JavaScript
50 lines
1.4 KiB
JavaScript
|
import expect, { createSpy } from "expect"
|
||
|
import dedent from "dedent"
|
||
|
import { getPathForPosition } from "src/plugins/editor-autosuggest/fn.js"
|
||
|
|
||
|
describe("Editor Autosuggest Plugin", function() {
|
||
|
describe("getPathForPosition - YAML value preparation", function() {
|
||
|
it.skip("should not modify a valid simple map", function() {
|
||
|
// Given
|
||
|
const editorValue = dedent(`
|
||
|
a: "one"
|
||
|
b: "two"
|
||
|
`)
|
||
|
const pos = { row: 0, col: 0 }
|
||
|
const AST = {
|
||
|
pathForPosition: createSpy()
|
||
|
}
|
||
|
|
||
|
// When
|
||
|
getPathForPosition({ editorValue, pos, prefix: "", AST })
|
||
|
|
||
|
// Then
|
||
|
expect(AST.pathForPosition).toHaveBeenCalled()
|
||
|
|
||
|
const [preparedEditorValue] = AST.pathForPosition.calls[0].arguments
|
||
|
expect(preparedEditorValue).toEqual(editorValue) // should be unchanged
|
||
|
})
|
||
|
it("should modify an array member map fragment", function() {
|
||
|
// Given
|
||
|
const editorValue = dedent(`
|
||
|
myArray:
|
||
|
- one: "abc"
|
||
|
- two:
|
||
|
`)
|
||
|
const pos = { row: 2, col: 6 }
|
||
|
const AST = {
|
||
|
pathForPosition: createSpy()
|
||
|
}
|
||
|
|
||
|
// When
|
||
|
getPathForPosition({ editorValue, pos, prefix: "", AST })
|
||
|
|
||
|
// Then
|
||
|
expect(AST.pathForPosition).toHaveBeenCalled()
|
||
|
|
||
|
const [preparedEditorValue] = AST.pathForPosition.calls[0].arguments
|
||
|
expect(preparedEditorValue).toEqual(editorValue + " ~")
|
||
|
})
|
||
|
})
|
||
|
})
|