+++ /dev/null
-'use strict'
-
-var assert = require('assert')
-var test = require('tape')
-var remark = require('remark')
-var findAllAfter = require('.')
-
-var tree = remark().parse('Some *emphasis*, **importance**, and `code`.')
-var paragraph = tree.children[0]
-var children = paragraph.children
-
-test('unist-util-find-all-after', function(t) {
- t.throws(
- function() {
- findAllAfter()
- },
- /Expected parent node/,
- 'should fail without parent'
- )
-
- t.throws(
- function() {
- findAllAfter({type: 'foo'})
- },
- /Expected parent node/,
- 'should fail without parent node'
- )
-
- t.doesNotThrow(function() {
- assert.throws(function() {
- findAllAfter({type: 'foo', children: []})
- }, /Expected positive finite index or child node/)
-
- assert.throws(function() {
- findAllAfter({type: 'foo', children: []}, -1)
- }, /Expected positive finite index or child node/)
-
- assert.throws(function() {
- findAllAfter({type: 'foo', children: []}, {type: 'bar'})
- }, /Expected positive finite index or child node/)
- }, 'should fail without index')
-
- t.doesNotThrow(function() {
- assert.throws(function() {
- findAllAfter(
- {
- type: 'foo',
- children: [{type: 'bar'}, {type: 'baz'}]
- },
- 0,
- false
- )
- }, /Expected function, string, or object as test/)
-
- assert.throws(function() {
- findAllAfter(
- {
- type: 'foo',
- children: [{type: 'bar'}, {type: 'baz'}]
- },
- 0,
- true
- )
- }, /Expected function, string, or object as test/)
- }, 'should fail for invalid `test`')
-
- t.doesNotThrow(function() {
- var res = children.slice(2)
-
- assert.deepStrictEqual(findAllAfter(paragraph, children[1]), res)
- assert.deepStrictEqual(findAllAfter(paragraph, 1), res)
- assert.deepStrictEqual(findAllAfter(paragraph, 7), [])
- }, 'should return the following node when without `test`')
-
- t.doesNotThrow(function() {
- assert.deepStrictEqual(findAllAfter(paragraph, 0, children[6]), [
- children[6]
- ])
- assert.deepStrictEqual(findAllAfter(paragraph, children[0], children[1]), [
- children[1]
- ])
- assert.deepStrictEqual(findAllAfter(paragraph, 0, children[1]), [
- children[1]
- ])
- assert.deepStrictEqual(
- findAllAfter(paragraph, children[0], children[0]),
- []
- )
- assert.deepStrictEqual(findAllAfter(paragraph, 0, children[0]), [])
- assert.deepStrictEqual(findAllAfter(paragraph, 1, children[1]), [])
- }, 'should return `node` when given a `node` and existing')
-
- t.doesNotThrow(function() {
- assert.deepStrictEqual(findAllAfter(paragraph, 0, 'strong'), [children[3]])
- assert.deepStrictEqual(findAllAfter(paragraph, 3, 'strong'), [])
- assert.deepStrictEqual(findAllAfter(paragraph, children[0], 'strong'), [
- children[3]
- ])
- assert.deepStrictEqual(findAllAfter(paragraph, children[3], 'strong'), [])
- }, 'should return a child when given a `type` and existing')
-
- t.doesNotThrow(function() {
- var res = children.slice(5)
-
- assert.deepStrictEqual(findAllAfter(paragraph, 0, test), res)
- assert.deepStrictEqual(findAllAfter(paragraph, 6, test), [])
- assert.deepStrictEqual(findAllAfter(paragraph, children[4], test), res)
- assert.deepStrictEqual(findAllAfter(paragraph, children[6], test), [])
-
- function test(node, n) {
- return n >= 5
- }
- }, 'should return a child when given a `test` and existing')
-
- t.end()
-})