cannot loop forever

This commit is contained in:
Athou
2014-11-07 08:46:09 +01:00
parent eea0c24d2b
commit a94ef980bb
4 changed files with 55 additions and 15 deletions

View File

@@ -1,10 +1,10 @@
package com.commafeed.backend.feed;
import org.apache.commons.jexl2.JexlException;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import com.commafeed.backend.feed.FeedEntryFilter.FeedEntryFilterException;
import com.commafeed.backend.model.FeedEntry;
import com.commafeed.backend.model.FeedEntryContent;
@@ -27,39 +27,45 @@ public class FeedEntryFilterTest {
}
@Test
public void emptyFilterMatchesFilter() {
public void emptyFilterMatchesFilter() throws FeedEntryFilterException {
FeedEntryFilter filter = new FeedEntryFilter(null);
Assert.assertTrue(filter.matchesEntry(entry));
}
@Test
public void blankFilterMatchesFilter() {
public void blankFilterMatchesFilter() throws FeedEntryFilterException {
FeedEntryFilter filter = new FeedEntryFilter("");
Assert.assertTrue(filter.matchesEntry(entry));
}
@Test
public void simpleExpression() {
public void simpleExpression() throws FeedEntryFilterException {
FeedEntryFilter filter = new FeedEntryFilter("author eq 'athou'");
Assert.assertTrue(filter.matchesEntry(entry));
}
@Test(expected = JexlException.class)
public void newIsDisabled() {
@Test(expected = FeedEntryFilterException.class)
public void newIsDisabled() throws FeedEntryFilterException {
FeedEntryFilter filter = new FeedEntryFilter("null eq new ('java.lang.String', 'athou')");
filter.matchesEntry(entry);
}
@Test(expected = JexlException.class)
public void getClassMethodIsDisabled() {
@Test(expected = FeedEntryFilterException.class)
public void getClassMethodIsDisabled() throws FeedEntryFilterException {
FeedEntryFilter filter = new FeedEntryFilter("null eq ''.getClass()");
filter.matchesEntry(entry);
}
@Test
public void dotClassIsDisabled() {
public void dotClassIsDisabled() throws FeedEntryFilterException {
FeedEntryFilter filter = new FeedEntryFilter("null eq ''.class");
Assert.assertTrue(filter.matchesEntry(entry));
}
@Test(expected = FeedEntryFilterException.class)
public void cannotLoopForever() throws FeedEntryFilterException {
FeedEntryFilter filter = new FeedEntryFilter("while(true) {}");
filter.matchesEntry(entry);
}
}