@@ -0,0 +1,2940 @@
+/*%0A * Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.%0A *%0A * WSO2 Inc. licenses this file to you under the Apache License,%0A * Version 2.0 (the %22License%22); you may not use this file except%0A * in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A * http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing,%0A * software distributed under the License is distributed on an%0A * %22AS IS%22 BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY%0A * KIND, either express or implied.  See the License for the%0A * specific language governing permissions and limitations%0A * under the License.%0A */%0A%0Apackage org.wso2.carbon.uuf.renderablecreator.hbs.helpers.runtime;%0A%0Aimport com.github.jknack.handlebars.HandlebarsException;%0Aimport org.testng.Assert;%0Aimport org.testng.annotations.Test;%0Aimport org.wso2.carbon.uuf.core.RequestLookup;%0A%0Aimport static org.mockito.Mockito.when;%0Aimport static org.wso2.carbon.uuf.renderablecreator.hbs.helpers.runtime.RuntimeHelpersTestUtil.createAPI;%0Aimport static org.wso2.carbon.uuf.renderablecreator.hbs.helpers.runtime.RuntimeHelpersTestUtil.createLookup;%0Aimport static org.wso2.carbon.uuf.renderablecreator.hbs.helpers.runtime.RuntimeHelpersTestUtil.createRenderable;%0A%0A/**%0A * Test cases for %7B@code %7B%7Bpublic%7D%7D%7D helper.%0A *%0A * @since 1.0.0%0A */%0Apublic class PublicHelperTest %7B%0A%0A    @Test%0A    public void test() %7B%0A        String template = %22%3Cimg src=%5C%22%7B%7Bpublic %5C%22img/my-photo.png%5C%22%7D%7D%5C%22 /%3E%22;%0A        String output = createRenderable(template).render(null, createLookup(), createRequestLookup(), createAPI());%0A        Assert.assertEquals(output, %22%3Cimg src=%5C%22/myapp/public/component/base/img/my-photo.png%5C%22 /%3E%22);%0A%0A    %7D%0A%0A    @Test%0A    public void testWithMultipleParameters() %7B%0A        String template = %22%3Cimg src=%5C%22%7B%7Bpublic %5C%22img/%5C%22 %5C%22my-photo.png%5C%22%7D%7D%5C%22 /%3E%22;%0A        String output = createRenderable(template).render(null, createLookup(), createRequestLookup(), createAPI());%0A        Assert.assertEquals(output, %22%3Cimg src=%5C%22/myapp/public/component/base/img/my-photo.png%5C%22 /%3E%22);%0A%0A    %7D%0A%0A    @Test%0A    public void testValidation() %7B%0A        try %7B%0A            createRenderable(%22%7B%7Bpublic null%7D%7D%22).render(null, createLookup(), createRequestLookup(), createAPI());%0A            Assert.fail(%22%7B%7Bpublic%7D%7D helper accepts null parameters!%22);%0A        %7D catch (HandlebarsException e) %7B%0A            Assert.assertTrue((e.getCause() instanceof IllegalArgumentException),%0A                              %22Cause of the thrown exception should be '%22 + IllegalArgumentException.class +%0A                                      %22'. Instead found '%22 + e.getCause().getClass() + %22'.%22);%0A        %7D%0A    %7D%0A%0A    private static RequestLookup createRequestLookup() %7B%0A        RequestLookup requestLookup = RuntimeHelpersTestUtil.createRequestLookup();%0A        when(requestLookup.getPublicUri()).thenReturn(%22/myapp/public/component/base%22);%0A        return requestLookup;%0A    %7D%0A%7D%0A

add PublicHelperTest test class