You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by so...@apache.org on 2017/06/02 06:03:57 UTC
[17/46] incubator-weex git commit: * [android] fix URI adapter,
return base url when uri is empty
* [android] fix URI adapter, return base url when uri is empty
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/eeaf303a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/eeaf303a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/eeaf303a
Branch: refs/heads/master
Commit: eeaf303aecc091d37d8b6d9b16d88dd5e5c97ed2
Parents: 448ab1f
Author: sospartan <so...@apache.org>
Authored: Mon May 15 18:31:27 2017 +0800
Committer: sospartan <so...@apache.org>
Committed: Tue May 16 11:02:31 2017 +0800
----------------------------------------------------------------------
.../java/com/taobao/weex/adapter/DefaultUriAdapter.java | 11 ++++++++---
.../com/taobao/weex/adapter/DefaultUriAdapterTest.java | 9 ++++++---
2 files changed, 14 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/eeaf303a/android/sdk/src/main/java/com/taobao/weex/adapter/DefaultUriAdapter.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/adapter/DefaultUriAdapter.java b/android/sdk/src/main/java/com/taobao/weex/adapter/DefaultUriAdapter.java
index 03a66f5..fb03b2f 100644
--- a/android/sdk/src/main/java/com/taobao/weex/adapter/DefaultUriAdapter.java
+++ b/android/sdk/src/main/java/com/taobao/weex/adapter/DefaultUriAdapter.java
@@ -44,9 +44,14 @@ public class DefaultUriAdapter implements URIAdapter {
Uri base = Uri.parse(instance.getBundleUrl());
Uri.Builder resultBuilder = uri.buildUpon();
- if (uri.isRelative()) {
- resultBuilder = buildRelativeURI(resultBuilder, base, uri);
- return resultBuilder.build();
+ if (uri.isRelative()) {
+ //When uri is empty, means use the base url instead. Web broswer behave this way.
+ if(uri.getEncodedPath().length() == 0){
+ return base;
+ } else {
+ resultBuilder = buildRelativeURI(resultBuilder, base, uri);
+ return resultBuilder.build();
+ }
}
return uri;
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/eeaf303a/android/sdk/src/test/java/com/taobao/weex/adapter/DefaultUriAdapterTest.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/test/java/com/taobao/weex/adapter/DefaultUriAdapterTest.java b/android/sdk/src/test/java/com/taobao/weex/adapter/DefaultUriAdapterTest.java
index 1de08c6..ce26d57 100644
--- a/android/sdk/src/test/java/com/taobao/weex/adapter/DefaultUriAdapterTest.java
+++ b/android/sdk/src/test/java/com/taobao/weex/adapter/DefaultUriAdapterTest.java
@@ -81,12 +81,12 @@ public class DefaultUriAdapterTest {
instance.renderByUrl("", bundle, null, null, 0, 0, WXRenderStrategy.APPEND_ONCE);
- testRelative(host, base);
+ testRelative(host, base, bundle);
instance.renderByUrl("", bundleWithSlash, null, null, 0, 0, WXRenderStrategy.APPEND_ONCE);
- testRelative(host, base);
+ testRelative(host, base, bundleWithSlash);
}
- private void testRelative(String host, String baseWithSlash) {
+ private void testRelative(String host, String baseWithSlash, String bundleUrl) {
Uri uri = adapter.rewrite(instance, URIAdapter.IMAGE, Uri.parse("./456"));
assertEquals(Uri.parse(baseWithSlash + "./456"), uri);
@@ -108,6 +108,9 @@ public class DefaultUriAdapterTest {
uri = adapter.rewrite(instance, URIAdapter.IMAGE, Uri.parse("/test2"));
assertEquals(Uri.parse(host + "/test2"), uri);
+
+ uri = adapter.rewrite(instance, URIAdapter.IMAGE, Uri.parse(""));
+ assertEquals(Uri.parse(bundleUrl), uri);
}
}