1
0
mirror of https://github.com/matrix-org/matrix-js-sdk.git synced 2025-11-25 05:23:13 +03:00

Add fix and test

Signed-off-by: Nicolas Chamo <nicolas@chamo.com.ar>
This commit is contained in:
nchamo
2020-04-17 19:32:02 -03:00
committed by Nicolas Chamo
parent 1dcb16365b
commit 7ea09ebe4a
2 changed files with 42 additions and 2 deletions

View File

@@ -0,0 +1,39 @@
import {FilterComponent} from "../../src/filter-component"
import {mkEvent} from '../test-utils'
describe("Filter Component", function() {
describe("types", function() {
it("should filter out events with other types", function() {
const filter = new FilterComponent({ types: [ 'm.room.message' ] })
const event = mkEvent({
type: 'm.room.member',
content: { },
room: 'roomId',
event: true,
})
const checkResult = filter.check(event)
expect(checkResult).toBe(false);
});
it("should validate events with the same type", function() {
const filter = new FilterComponent({ types: [ 'm.room.message' ] })
const event = mkEvent({
type: 'm.room.message',
content: { },
room: 'roomId',
event: true,
})
const checkResult = filter.check(event)
expect(checkResult).toBe(true);
});
});
});

View File

@@ -108,8 +108,9 @@ FilterComponent.prototype._checkFields =
} }
const allowed_values = self[name]; const allowed_values = self[name];
if (allowed_values) { if (allowed_values && allowed_values.length > 0) {
if (!allowed_values.map(match_func)) { const anyMatch = allowed_values.map(match_func).reduce((a, b) => a || b);
if (!anyMatch) {
return false; return false;
} }
} }