@@ -0,0 +1,3544 @@
+/*%0A * See the NOTICE file distributed with this work for additional%0A * information regarding copyright ownership.%0A *%0A * This is free software; you can redistribute it and/or modify it%0A * under the terms of the GNU Lesser General Public License as%0A * published by the Free Software Foundation; either version 2.1 of%0A * the License, or (at your option) any later version.%0A *%0A * This software is distributed in the hope that it will be useful,%0A * but WITHOUT ANY WARRANTY; without even the implied warranty of%0A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU%0A * Lesser General Public License for more details.%0A *%0A * You should have received a copy of the GNU Lesser General Public%0A * License along with this software; if not, write to the Free%0A * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA%0A * 02110-1301 USA, or see the FSF site: http://www.fsf.org.%0A */%0Apackage org.xwiki.rendering.internal.macro;%0A%0Aimport org.junit.jupiter.api.Test;%0Aimport org.xwiki.rendering.block.RawBlock;%0Aimport org.xwiki.rendering.macro.MacroExecutionException;%0Aimport org.xwiki.rendering.syntax.Syntax;%0Aimport org.xwiki.rendering.syntax.SyntaxType;%0Aimport org.xwiki.rendering.transformation.macro.RawBlockFilterParameters;%0Aimport org.xwiki.security.authorization.ContextualAuthorizationManager;%0Aimport org.xwiki.security.authorization.Right;%0Aimport org.xwiki.test.junit5.mockito.ComponentTest;%0Aimport org.xwiki.test.junit5.mockito.InjectMockComponents;%0Aimport org.xwiki.test.junit5.mockito.MockComponent;%0A%0Aimport static org.junit.jupiter.api.Assertions.*;%0Aimport static org.mockito.Mockito.mock;%0Aimport static org.mockito.Mockito.never;%0Aimport static org.mockito.Mockito.verify;%0Aimport static org.mockito.Mockito.when;%0A%0A/**%0A * Tests for %7B@link XWikiHTMLRawBlockFilter%7D.%0A *%0A * @version $Id$%0A * @since 14.8RC1%0A */%0A@ComponentTest%0Aclass XWikiHTMLRawBlockFilterTest%0A%7B%0A    @InjectMockComponents%0A    private XWikiHTMLRawBlockFilter filter;%0A%0A    @MockComponent%0A    private ContextualAuthorizationManager authorizationManager;%0A%0A    @Test%0A    void filter() throws MacroExecutionException%0A    %7B%0A        RawBlock block = mock(RawBlock.class);%0A        Syntax blockSyntax = mock(Syntax.class);%0A        when(block.getSyntax()).thenReturn(blockSyntax);%0A%0A        RawBlockFilterParameters parameters = mock(RawBlockFilterParameters.class);%0A%0A        when(this.authorizationManager.hasAccess(Right.SCRIPT)).thenReturn(true);%0A        when(blockSyntax.getType()).thenReturn(SyntaxType.HTML);%0A%0A        assertSame(block, this.filter.filter(block, parameters));%0A        verify(parameters, never()).setRestricted(true);%0A%0A        when(this.authorizationManager.hasAccess(Right.SCRIPT)).thenReturn(true);%0A        when(blockSyntax.getType()).thenReturn(SyntaxType.EVENT);%0A%0A        assertSame(block, this.filter.filter(block, parameters));%0A        verify(parameters, never()).setRestricted(true);%0A%0A        when(this.authorizationManager.hasAccess(Right.SCRIPT)).thenReturn(false);%0A        when(blockSyntax.getType()).thenReturn(SyntaxType.EVENT);%0A%0A        assertSame(block, this.filter.filter(block, parameters));%0A        verify(parameters, never()).setRestricted(true);%0A%0A        when(this.authorizationManager.hasAccess(Right.SCRIPT)).thenReturn(false);%0A        when(blockSyntax.getType()).thenReturn(SyntaxType.HTML);%0A%0A        // We don't check the behaviour of super.filter there, only the fact that the parameter is set to restricted.%0A        assertSame(block, this.filter.filter(block, parameters));%0A        verify(parameters).setRestricted(true);%0A    %7D%0A%7D

Add events to raw content filtering