1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.any23.filter;
19
20 import org.apache.any23.extractor.ExtractionContext;
21 import org.apache.any23.writer.TripleHandler;
22 import org.apache.any23.writer.TripleHandlerException;
23 import org.junit.Test;
24 import org.mockito.verification.VerificationMode;
25 import org.eclipse.rdf4j.model.Resource;
26 import org.eclipse.rdf4j.model.IRI;
27 import org.eclipse.rdf4j.model.Value;
28 import org.eclipse.rdf4j.model.ValueFactory;
29 import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
30
31 import static org.mockito.ArgumentMatchers.any;
32 import static org.mockito.Mockito.mock;
33 import static org.mockito.Mockito.never;
34 import static org.mockito.Mockito.times;
35 import static org.mockito.Mockito.verify;
36
37
38
39
40
41
42 public class IgnoreAccidentalRDFaTest {
43
44 @Test
45 public void testBlockCSSTriple() throws TripleHandlerException {
46 checkTriple("http://www.w3.org/1999/xhtml/vocab#stylesheet", never());
47 }
48
49 @Test
50 public void testAcceptGenericTriple() throws TripleHandlerException {
51 checkTriple("http://www.w3.org/1999/xhtml/vocab#license", times(1));
52 }
53
54 private void checkTriple(String predicate, VerificationMode verificationMode) throws TripleHandlerException {
55 final String DOCUMENT_IRI = "http://an.html.page";
56 final TripleHandler mockTripleHandler = mock(TripleHandler.class);
57 final ValueFactory valueFactory = SimpleValueFactory.getInstance();
58 ExtractionContext extractionContext = new ExtractionContext("test-extractor",
59 valueFactory.createIRI(DOCUMENT_IRI));
60 final IgnoreAccidentalRDFa ignoreAccidentalRDFa = new IgnoreAccidentalRDFa(mockTripleHandler, true);
61 ignoreAccidentalRDFa.openContext(extractionContext);
62 ignoreAccidentalRDFa.receiveTriple(valueFactory.createIRI(DOCUMENT_IRI), valueFactory.createIRI(predicate),
63 valueFactory.createIRI("http://www.myedu.com/modules/20110519065453/profile.css"),
64 valueFactory.createIRI(DOCUMENT_IRI), extractionContext);
65 ignoreAccidentalRDFa.close();
66
67 verify(mockTripleHandler, verificationMode).receiveTriple((Resource) any(), (IRI) any(), (Value) any(),
68 (IRI) any(), (ExtractionContext) any());
69 }
70
71 }