@@ -211,16 +211,77 @@ objB:
211211 expect ( ( ( result as YAMLMap ) . items [ 0 ] . key as Scalar ) . value ) . eqls ( 'bar' ) ;
212212 } ) ;
213213
214- it ( 'Find closes node: array' , ( ) => {
215- const doc = setupTextDocument ( 'foo:\n - bar: aaa\n ' ) ;
216- const yamlDoc = documents . getYamlDocument ( doc ) ;
217- const textBuffer = new TextBuffer ( doc ) ;
214+ describe ( 'Array' , ( ) => {
215+ it ( 'Find closes node: array' , ( ) => {
216+ const doc = setupTextDocument ( 'foo:\n - bar: aaa\n ' ) ;
217+ const yamlDoc = documents . getYamlDocument ( doc ) ;
218+ const textBuffer = new TextBuffer ( doc ) ;
219+
220+ const result = yamlDoc . documents [ 0 ] . findClosestNode ( 20 , textBuffer ) ;
221+
222+ expect ( result ) . is . not . undefined ;
223+ expect ( isSeq ( result ) ) . is . true ;
224+ expect ( ( ( ( result as YAMLSeq ) . items [ 0 ] as YAMLMap ) . items [ 0 ] . key as Scalar ) . value ) . eqls ( 'bar' ) ;
225+ } ) ;
226+ it . skip ( 'Find first array item node' , ( ) => {
227+ const doc = setupTextDocument ( `foo:
228+ -
229+ item1: aaa
230+ ` ) ;
231+ const yamlDoc = documents . getYamlDocument ( doc ) ;
232+ const textBuffer = new TextBuffer ( doc ) ;
233+
234+ const result = yamlDoc . documents [ 0 ] . findClosestNode ( 9 , textBuffer ) ;
235+
236+ expect ( result ) . is . not . undefined ;
237+ expect ( isMap ( result ) ) . is . true ;
238+ expect ( ( ( result as YAMLMap ) . items [ 0 ] . key as Scalar ) . value ) . eqls ( 'item1' ) ;
239+ } ) ;
240+ it . skip ( 'Find first array item node - extra indent' , ( ) => {
241+ const doc = setupTextDocument ( `foo:
242+ -
243+
244+ item1: aaa
245+ ` ) ;
246+ const yamlDoc = documents . getYamlDocument ( doc ) ;
247+ const textBuffer = new TextBuffer ( doc ) ;
248+
249+ const result = yamlDoc . documents [ 0 ] . findClosestNode ( 9 , textBuffer ) ;
250+
251+ expect ( result ) . is . not . undefined ;
252+ expect ( isMap ( result ) ) . is . true ;
253+ expect ( ( ( result as YAMLMap ) . items [ 0 ] . key as Scalar ) . value ) . eqls ( 'item1' ) ;
254+ } ) ;
255+
256+ it . skip ( 'Find second array item node' , ( ) => {
257+ const doc = setupTextDocument ( `foo:
258+ - item1: aaa
259+ -
260+ item2: bbb` ) ;
261+ const yamlDoc = documents . getYamlDocument ( doc ) ;
262+ const textBuffer = new TextBuffer ( doc ) ;
263+
264+ const result = yamlDoc . documents [ 0 ] . findClosestNode ( 24 , textBuffer ) ;
265+
266+ expect ( result ) . is . not . undefined ;
267+ expect ( isMap ( result ) ) . is . true ;
268+ expect ( ( ( result as YAMLMap ) . items [ 0 ] . key as Scalar ) . value ) . eqls ( 'item2' ) ;
269+ } ) ;
270+ it . skip ( 'Find second array item node: - extra indent' , ( ) => {
271+ const doc = setupTextDocument ( `foo:
272+ - item1: aaa
273+ -
274+
275+ item2: bbb` ) ;
276+ const yamlDoc = documents . getYamlDocument ( doc ) ;
277+ const textBuffer = new TextBuffer ( doc ) ;
218278
219- const result = yamlDoc . documents [ 0 ] . findClosestNode ( 20 , textBuffer ) ;
279+ const result = yamlDoc . documents [ 0 ] . findClosestNode ( 28 , textBuffer ) ;
220280
221- expect ( result ) . is . not . undefined ;
222- expect ( isSeq ( result ) ) . is . true ;
223- expect ( ( ( ( result as YAMLSeq ) . items [ 0 ] as YAMLMap ) . items [ 0 ] . key as Scalar ) . value ) . eqls ( 'bar' ) ;
281+ expect ( result ) . is . not . undefined ;
282+ expect ( isMap ( result ) ) . is . true ;
283+ expect ( ( ( result as YAMLMap ) . items [ 0 ] . key as Scalar ) . value ) . eqls ( 'item2' ) ;
284+ } ) ;
224285 } ) ;
225286
226287 it ( 'Find closes node: root map' , ( ) => {
0 commit comments