mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-25 02:32:55 +02:00
TERMINAL: Prevent recursive aliases from being resolved. (#741)
This commit is contained in:
committed by
GitHub
parent
51b03003f6
commit
93235570d0
@@ -0,0 +1,52 @@
|
||||
import { substituteAliases, parseAliasDeclaration } from "../../../src/Alias";
|
||||
describe("substituteAliases Tests", () => {
|
||||
it("Should gracefully handle recursive local aliases", () => {
|
||||
parseAliasDeclaration("recursiveAlias=b");
|
||||
parseAliasDeclaration("b=c");
|
||||
parseAliasDeclaration("c=d");
|
||||
parseAliasDeclaration("d=recursiveAlias");
|
||||
|
||||
const result = substituteAliases("recursiveAlias");
|
||||
expect(result).toEqual("d");
|
||||
});
|
||||
|
||||
it("Should only change local aliases if they are the start of the command", () => {
|
||||
parseAliasDeclaration("a=b");
|
||||
parseAliasDeclaration("b=c");
|
||||
parseAliasDeclaration("c=d");
|
||||
parseAliasDeclaration("d=e");
|
||||
|
||||
const result = substituteAliases("a b c d");
|
||||
expect(result).toEqual("e b c d");
|
||||
});
|
||||
|
||||
it("Should gracefully handle recursive global aliases", () => {
|
||||
parseAliasDeclaration("a=b", true);
|
||||
parseAliasDeclaration("b=c", true);
|
||||
parseAliasDeclaration("c=d", true);
|
||||
parseAliasDeclaration("d=a", true);
|
||||
|
||||
const result = substituteAliases("a b c d");
|
||||
expect(result).toEqual("d a b c");
|
||||
});
|
||||
|
||||
it("Should gracefully handle recursive mixed local and global aliases", () => {
|
||||
parseAliasDeclaration("recursiveAlias=b", true);
|
||||
parseAliasDeclaration("b=c", false);
|
||||
parseAliasDeclaration("c=d", true);
|
||||
parseAliasDeclaration("d=recursiveAlias", false);
|
||||
|
||||
const result = substituteAliases("recursiveAlias");
|
||||
expect(result).toEqual("d");
|
||||
});
|
||||
|
||||
it("Should replace chained aliases", () => {
|
||||
parseAliasDeclaration("a=b", true);
|
||||
parseAliasDeclaration("b=c", true);
|
||||
parseAliasDeclaration("c=d", true);
|
||||
parseAliasDeclaration("d=e", true);
|
||||
|
||||
const result = substituteAliases("a");
|
||||
expect(result).toEqual("e");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user