protected final void train_getClasspathAsset(AssetSource source, String path, Locale locale, Asset asset) { expect(source.getClasspathAsset(path, locale)).andReturn(asset); }
protected final void train_getClasspathAsset(AssetSource source, String path, Asset asset) { expect(source.getClasspathAsset(path)).andReturn(asset); }
private Asset getLocaleAsset(Locale locale, String jQueryUIPath) { final String prefix = String.format("%s/i18n/datepicker-%s", jQueryUIPath, locale.getLanguage()); final Resource withCountryExtension = typeCoercer.coerce(String.format("%s-%s.js", prefix, locale.getCountry()), Resource.class); if (withCountryExtension.exists()) { return assetSource.getClasspathAsset(withCountryExtension.getPath()); } final Resource withLanguageExtension = typeCoercer.coerce(String.format("%s.js", prefix), Resource.class); if (withLanguageExtension.exists()) { return assetSource.getClasspathAsset(withLanguageExtension.getPath()); } return null; }
public List<Asset> getJavaScriptLibraries() { String jQueryUIPath = symbolSource.valueForSymbol(JQuerySymbolConstants.JQUERY_UI_PATH); if ( ! jQueryUIPath.endsWith("/")) { jQueryUIPath += "/"; } final List<Asset> javaScriptStack = new ArrayList<Asset>(); javaScriptStack.add(assetSource.getClasspathAsset(String.format("%s/datepicker.js", jQueryUIPath))); final Asset datePickerI18nAsset = getLocaleAsset(threadLocale.getLocale(), jQueryUIPath); if (includeDatePickerI18N && datePickerI18nAsset != null) { javaScriptStack.add(datePickerI18nAsset); } javaScriptStack.add(assetSource.getExpandedAsset("${assets.path}/components/datefield/datefield.js")); return javaScriptStack; }
@Test public void get_classpath_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.getClasspathAsset("org/apache/tapestry5/internal/services/SimpleComponent.properties", Locale.UK), asset); verify(); }
@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(); }