1/*2 * Licensed to the Apache Software Foundation (ASF) under one or more3 * contributor license agreements. See the NOTICE file distributed with4 * this work for additional information regarding copyright ownership.5 * The ASF licenses this file to You under the Apache License, Version 2.06 * (the "License"); you may not use this file except in compliance with7 * the License. You may obtain a copy of the License at8 *9 * http://www.apache.org/licenses/LICENSE-2.010 *11 * Unless required by applicable law or agreed to in writing, software12 * distributed under the License is distributed on an "AS IS" BASIS,13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.14 * See the License for the specific language governing permissions and15 * limitations under the License.16 */1718package org.apache.any23.filter;
1920import org.apache.any23.extractor.ExtractionContext;
21import org.apache.any23.writer.TripleHandler;
22import org.apache.any23.writer.TripleHandlerException;
23import org.junit.Test;
24import org.mockito.verification.VerificationMode;
25import org.eclipse.rdf4j.model.Resource;
26import org.eclipse.rdf4j.model.IRI;
27import org.eclipse.rdf4j.model.Value;
28import org.eclipse.rdf4j.model.ValueFactory;
29import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
3031importstatic org.mockito.ArgumentMatchers.any;
32importstatic org.mockito.Mockito.mock;
33importstatic org.mockito.Mockito.never;
34importstatic org.mockito.Mockito.times;
35importstatic org.mockito.Mockito.verify;
3637/**38 * Test case for {@link IgnoreAccidentalRDFa}.39 *40 * @author Michele Mostarda (mostarda@fbk.eu)41 */42publicclassIgnoreAccidentalRDFaTest {
4344 @Test
45publicvoid testBlockCSSTriple() throws TripleHandlerException {
46 checkTriple("http://www.w3.org/1999/xhtml/vocab#stylesheet", never());
47 }
4849 @Test
50publicvoid testAcceptGenericTriple() throws TripleHandlerException {
51 checkTriple("http://www.w3.org/1999/xhtml/vocab#license", times(1));
52 }
5354privatevoid checkTriple(String predicate, VerificationMode verificationMode) throws TripleHandlerException {
55final String DOCUMENT_IRI = "http://an.html.page";
56final TripleHandler mockTripleHandler = mock(TripleHandler.class);
57final ValueFactory valueFactory = SimpleValueFactory.getInstance();
58 ExtractionContext extractionContext = new ExtractionContext("test-extractor",
59 valueFactory.createIRI(DOCUMENT_IRI));
60final 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();
6667 verify(mockTripleHandler, verificationMode).receiveTriple((Resource) any(), (IRI) any(), (Value) any(),
68 (IRI) any(), (ExtractionContext) any());
69 }
7071 }