Search in sources :

Example 6 with AssetSource

use of org.apache.tapestry5.services.AssetSource in project tapestry-5 by apache.

the class AssetObjectProviderTest method no_path_annotation.

@Test
public void no_path_annotation() {
    AssetSource source = mockAssetSource();
    ObjectLocator locator = mockObjectLocator();
    AnnotationProvider annotationProvider = mockAnnotationProvider();
    TypeCoercer typeCoercer = mockTypeCoercer();
    SymbolSource symbolSource = mockSymbolSource();
    train_getAnnotation(annotationProvider, Path.class, null);
    replay();
    ObjectProvider provider = new AssetObjectProvider(source, typeCoercer, symbolSource);
    assertNull(provider.provide(Asset.class, annotationProvider, locator));
    verify();
}
Also used : AssetSource(org.apache.tapestry5.services.AssetSource) SymbolSource(org.apache.tapestry5.ioc.services.SymbolSource) TypeCoercer(org.apache.tapestry5.commons.services.TypeCoercer) AnnotationProvider(org.apache.tapestry5.commons.AnnotationProvider) ObjectLocator(org.apache.tapestry5.commons.ObjectLocator) Asset(org.apache.tapestry5.Asset) ObjectProvider(org.apache.tapestry5.commons.ObjectProvider) Test(org.testng.annotations.Test)

Example 7 with AssetSource

use of org.apache.tapestry5.services.AssetSource in project tapestry-5 by apache.

the class AssetObjectProviderTest method normal_conversion.

@Test
public void normal_conversion() {
    AssetSource source = mockAssetSource();
    ObjectLocator locator = mockObjectLocator();
    Asset asset = mockAsset();
    String path = "${foo}";
    String expanded = "foo/bar/baz.gif";
    AnnotationProvider annotationProvider = mockAnnotationProvider();
    TypeCoercer typeCoercer = mockTypeCoercer();
    Path pathAnnotation = mockPath();
    SymbolSource symbolSource = mockSymbolSource();
    train_getAnnotation(annotationProvider, Path.class, pathAnnotation);
    train_value(pathAnnotation, path);
    train_expandSymbols(symbolSource, path, expanded);
    train_getAsset(source, null, expanded, null, asset);
    train_coerce(typeCoercer, asset, Asset.class, asset);
    replay();
    ObjectProvider provider = new AssetObjectProvider(source, typeCoercer, symbolSource);
    Asset result = provider.provide(Asset.class, annotationProvider, locator);
    assertSame(result, asset);
    verify();
}
Also used : AssetSource(org.apache.tapestry5.services.AssetSource) Path(org.apache.tapestry5.annotations.Path) SymbolSource(org.apache.tapestry5.ioc.services.SymbolSource) TypeCoercer(org.apache.tapestry5.commons.services.TypeCoercer) AnnotationProvider(org.apache.tapestry5.commons.AnnotationProvider) ObjectLocator(org.apache.tapestry5.commons.ObjectLocator) Asset(org.apache.tapestry5.Asset) ObjectProvider(org.apache.tapestry5.commons.ObjectProvider) Test(org.testng.annotations.Test)

Example 8 with AssetSource

use of org.apache.tapestry5.services.AssetSource in project tapestry-5 by apache.

the class AssetSourceImplTest method absolute_asset_with_known_prefix.

@Test
public void absolute_asset_with_known_prefix() {
    AssetFactory factory = mockAssetFactory();
    ThreadLocale threadLocale = mockThreadLocale();
    Asset asset = mockAsset();
    Resource expectedResource = rootResource.forFile("org/apache/tapestry5/internal/services/SimpleComponent_en_GB.properties");
    train_getRootResource(factory, rootResource);
    train_createAsset(factory, expectedResource, asset);
    Map<String, AssetFactory> configuration = Collections.singletonMap("classpath", factory);
    replay();
    AssetSource source = new AssetSourceImpl(threadLocale, configuration, null, null, tracker);
    assertSame(source.getAsset(baseResource, "classpath:org/apache/tapestry5/internal/services/SimpleComponent.properties", Locale.UK), asset);
    // Check that a leading slash is not a problem:
    assertSame(source.getAsset(baseResource, "classpath:/org/apache/tapestry5/internal/services/SimpleComponent.properties", Locale.UK), asset);
    verify();
}
Also used : AssetSource(org.apache.tapestry5.services.AssetSource) ThreadLocale(org.apache.tapestry5.ioc.services.ThreadLocale) Resource(org.apache.tapestry5.commons.Resource) ClasspathResource(org.apache.tapestry5.ioc.internal.util.ClasspathResource) Asset(org.apache.tapestry5.Asset) AssetFactory(org.apache.tapestry5.services.AssetFactory) Test(org.testng.annotations.Test)

Example 9 with AssetSource

use of org.apache.tapestry5.services.AssetSource in project tapestry-5 by apache.

the class AssetSourceImplTest method get_classpath_asset_for_unspecified_locale.

@Test
public void get_classpath_asset_for_unspecified_locale() {
    AssetFactory factory = mockAssetFactory();
    ThreadLocale threadLocale = mockThreadLocale();
    Asset asset = mockAsset();
    Locale locale = Locale.UK;
    Resource expectedResource = baseResource.forFile("SimpleComponent_en_GB.properties");
    train_getRootResource(factory, rootResource);
    train_createAsset(factory, expectedResource, asset);
    Map<String, AssetFactory> configuration = Collections.singletonMap("classpath", factory);
    train_getLocale(threadLocale, locale);
    replay();
    AssetSource source = new AssetSourceImpl(threadLocale, configuration, null, null, tracker);
    assertSame(source.getClasspathAsset("org/apache/tapestry5/internal/services/SimpleComponent.properties"), asset);
    verify();
}
Also used : ThreadLocale(org.apache.tapestry5.ioc.services.ThreadLocale) Locale(java.util.Locale) AssetSource(org.apache.tapestry5.services.AssetSource) ThreadLocale(org.apache.tapestry5.ioc.services.ThreadLocale) Resource(org.apache.tapestry5.commons.Resource) ClasspathResource(org.apache.tapestry5.ioc.internal.util.ClasspathResource) Asset(org.apache.tapestry5.Asset) AssetFactory(org.apache.tapestry5.services.AssetFactory) Test(org.testng.annotations.Test)

Example 10 with AssetSource

use of org.apache.tapestry5.services.AssetSource in project tapestry-5 by apache.

the class AssetSourceImplTest method relative_asset.

@Test
public void relative_asset() {
    AssetFactory factory = mockAssetFactory();
    ThreadLocale threadLocale = mockThreadLocale();
    Asset asset = mockAsset();
    Resource expectedResource = baseResource.forFile("SimpleComponent_en_GB.properties");
    train_getRootResource(factory, rootResource);
    train_createAsset(factory, expectedResource, asset);
    Map<String, AssetFactory> configuration = Collections.singletonMap("classpath", factory);
    replay();
    AssetSource source = new AssetSourceImpl(threadLocale, configuration, null, null, tracker);
    // First try creates it:
    assertSame(source.getAsset(baseResource, "SimpleComponent.properties", Locale.UK), asset);
    // Second try shows that it is cached
    assertSame(source.getAsset(baseResource, "SimpleComponent.properties", Locale.UK), asset);
    verify();
}
Also used : AssetSource(org.apache.tapestry5.services.AssetSource) ThreadLocale(org.apache.tapestry5.ioc.services.ThreadLocale) Resource(org.apache.tapestry5.commons.Resource) ClasspathResource(org.apache.tapestry5.ioc.internal.util.ClasspathResource) Asset(org.apache.tapestry5.Asset) AssetFactory(org.apache.tapestry5.services.AssetFactory) Test(org.testng.annotations.Test)

Aggregations

AssetSource (org.apache.tapestry5.services.AssetSource)9 Test (org.testng.annotations.Test)9 Asset (org.apache.tapestry5.Asset)8 AssetFactory (org.apache.tapestry5.services.AssetFactory)7 Resource (org.apache.tapestry5.commons.Resource)6 ThreadLocale (org.apache.tapestry5.ioc.services.ThreadLocale)6 ClasspathResource (org.apache.tapestry5.ioc.internal.util.ClasspathResource)5 SymbolSource (org.apache.tapestry5.ioc.services.SymbolSource)3 AnnotationProvider (org.apache.tapestry5.commons.AnnotationProvider)2 ObjectLocator (org.apache.tapestry5.commons.ObjectLocator)2 ObjectProvider (org.apache.tapestry5.commons.ObjectProvider)2 TypeCoercer (org.apache.tapestry5.commons.services.TypeCoercer)2 Contribute (org.apache.tapestry5.ioc.annotations.Contribute)2 DateFormat (java.text.DateFormat)1 SimpleDateFormat (java.text.SimpleDateFormat)1 Calendar (java.util.Calendar)1 Collection (java.util.Collection)1 Date (java.util.Date)1 List (java.util.List)1 Locale (java.util.Locale)1