puzzlescript
Version:
Play PuzzleScript games in your terminal!
88 lines (74 loc) • 2.19 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
/* eslint-env jasmine */
const parser_1 = __importDefault(require("./parser/parser"));
const util_1 = require("./util");
describe('util functions', () => {
it('filters out unrelated sprites', () => {
const { data: game } = parser_1.default.parse(`title test
===
OBJECTS
===
background .
black
player P
yellow
unrelated
blue
unseensingle
transparent
unseenpixels
transparent
00000
0...0
0...0
0...0
00000
relatedbycollisionlayer
red
relatedbyrule
green
relatedbywincondition
green
===
COLLISIONLAYERS
===
background
player, relatedbycollisionlayer
unrelated
unseensingle
unseenpixels
relatedbyrule
relatedbywincondition
===
RULES
===
[ player relatedbyrule unseensingle unseenpixels ] -> []
===
WINCONDITIONS
===
ALL relatedbywincondition ON background
`);
const player = game.getSpriteByName('player');
const background = game.getSpriteByName('background');
const unrelated = game.getSpriteByName('unrelated');
const unseensingle = game.getSpriteByName('unseensingle');
const unseenpixels = game.getSpriteByName('unseenpixels');
const relatedbycollisionlayer = game.getSpriteByName('relatedbycollisionlayer');
const relatedbyrule = game.getSpriteByName('relatedbyrule');
const relatedbywincondition = game.getSpriteByName('relatedbywincondition');
const interactWithPlayer = (0, util_1.spritesThatInteractWithPlayer)(game);
expect(interactWithPlayer).toContain(player);
expect(interactWithPlayer).toContain(relatedbycollisionlayer);
expect(interactWithPlayer).toContain(relatedbyrule);
expect(interactWithPlayer).toContain(relatedbywincondition);
expect(interactWithPlayer).not.toContain(background);
expect(interactWithPlayer).not.toContain(unrelated);
expect(interactWithPlayer).not.toContain(unseensingle);
expect(interactWithPlayer).not.toContain(unseenpixels);
});
});
//# sourceMappingURL=util.spec.js.map