# tests/core/predicates/source.predicate.test.ts

> 32 lines of code and 0 definitions.

Tree: Coordination tree
Language: typescript
Canonical: https://banes-lab.com/anatomy/coordination#file-coordination-tests-core-predicates-source-predicate-test-ts
Source text: https://banes-lab.com/assets/sources/source.39a8fb76174c66d9c628de86f728ed59bb1e16ebc5a9dfc47c22459b3fa80921.generated.txt

## Source

```typescript
import {
    containsInCode,
    declaresProperty,
    reachesRegexLiteral,
} from "../../../tools/core/predicates/source.predicate.ts";
import { describe, it } from "node:test";
import assert from "node:assert/strict";

describe("containsInCode", () => {
    it("finds a needle in code and not inside strings, escapes or comments", () => {
        assert.equal(containsInCode("const x = target;", "target"), true);
        assert.equal(containsInCode('const x = "target";', "target"), false);
        assert.equal(containsInCode("// target\n/* target */ y", "target"), false);
        assert.equal(containsInCode(String.raw`"a\"target" + b`, "target"), false);
        assert.equal(containsInCode("// note\ntarget()", "target"), true);
    });
});

describe("reachesRegexLiteral", () => {
    it("detects a literal passed to a member call or a method called on one", () => {
        assert.equal(reachesRegexLiteral("text.split(/,/)"), true);
        assert.equal(reachesRegexLiteral("/a/.test(text)"), true);
        assert.equal(reachesRegexLiteral("run(/* note */ x)"), false);
        assert.equal(reachesRegexLiteral("const half = total / 2;"), false);
    });
});

describe("declaresProperty", () => {
    it("recognizes a property declared as a key, a method or a shorthand", () => {
        assert.equal(declaresProperty("{ check: fn }", "check"), true);
        assert.equal(declaresProperty("{ check(context) {} }", "check"), true);
        assert.equal(declaresProperty("{ check }", "check"), true);
        assert.equal(declaresProperty('{ label: "check" }', "check"), false);
    });
});
```
