From 970bff613259c4735729babcc191c2f3c7a4348b Mon Sep 17 00:00:00 2001 From: Alex Kotliarskyi Date: Fri, 24 Apr 2015 10:56:58 -0700 Subject: [PATCH] [ReactNative] Enable resolveAssetSource for Image.android --- Libraries/Image/__tests__/resolveAssetSource-test.js | 6 ++++++ Libraries/Image/resolveAssetSource.js | 7 ++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Libraries/Image/__tests__/resolveAssetSource-test.js b/Libraries/Image/__tests__/resolveAssetSource-test.js index 26f3c9ea3..632ff9656 100644 --- a/Libraries/Image/__tests__/resolveAssetSource-test.js +++ b/Libraries/Image/__tests__/resolveAssetSource-test.js @@ -32,6 +32,12 @@ describe('resolveAssetSource', () => { expect(resolveAssetSource(source2)).toBe(source2); }); + it('ignores any weird data', () => { + expect(resolveAssetSource(null)).toBe(null); + expect(resolveAssetSource(42)).toBe(null); + expect(resolveAssetSource('nonsense')).toBe(null); + }); + describe('bundle was loaded from network', () => { beforeEach(() => { SourceCode.scriptURL = 'http://10.0.0.1:8081/main.bundle'; diff --git a/Libraries/Image/resolveAssetSource.js b/Libraries/Image/resolveAssetSource.js index da136e9a7..021891558 100644 --- a/Libraries/Image/resolveAssetSource.js +++ b/Libraries/Image/resolveAssetSource.js @@ -43,10 +43,11 @@ function pickScale(scales, deviceScale) { return scales[scales.length - 1] || 1; } -// TODO(frantic): -// * Pick best scale and append @Nx to file path -// * We are currently using httpServerLocation for both http and in-app bundle function resolveAssetSource(source) { + if (!source || typeof source !== 'object') { + return null; + } + if (!source.__packager_asset) { return source; }