# test.coordination/core/predicates/fence.predicate.test.ts

> 16 lines of code and 0 definitions.

Tree: Codebase Testing
Language: typescript
Canonical: https://banes-lab.com/anatomy/testing#file-testing-test-coordination-core-predicates-fence-predicate-test-ts
Source text: https://banes-lab.com/source/testing/test.coordination/core/predicates/fence.predicate.test.ts.txt

Listed in [test.coordination/core/predicates](https://banes-lab.com/api/source/testing/test.coordination/core/predicates.md), after [test.coordination/core/predicates/comment.predicate.test.ts](https://banes-lab.com/source/testing/test.coordination/core/predicates/comment.predicate.test.ts.md) and before [test.coordination/core/predicates/file.predicate.test.ts](https://banes-lab.com/source/testing/test.coordination/core/predicates/file.predicate.test.ts.md).

## Contained in

- [test.coordination/core/predicates](https://banes-lab.com/anatomy/testing/folder-testing-test-coordination-core-predicates.md)

## Source

`````typescript
import { describe, it } from "vitest";
import assert from "node:assert/strict";
import { fencedFlags } from "coordination-surface/tools/core/predicates/fence.predicate.ts";

describe("fencedFlags", () => {
    it("flags the lines from an opening fence through its closing fence", () => {
        const source = ["prose", "```ts", "code", "```", "after"].join("\n");
        assert.deepEqual(fencedFlags(source), [false, true, true, true, false]);
    });

    it("keeps a fence open past a shorter run or a run followed by text", () => {
        const source = ["````", "```", "``` not a close", "````  ", "after"].join("\n");
        assert.deepEqual(fencedFlags(source), [true, true, true, true, false]);
    });

    it("does not open a fence on a run shorter than three", () => {
        assert.deepEqual(fencedFlags("``inline``\nprose"), [false, false]);
    });
});
`````
