diff --git a/common/springext/src/test/java/com/alibaba/citrus/springext/impl/ContributionTests.java b/common/springext/src/test/java/com/alibaba/citrus/springext/impl/ContributionTests.java index 3938eb0e8..a6915e960 100644 --- a/common/springext/src/test/java/com/alibaba/citrus/springext/impl/ContributionTests.java +++ b/common/springext/src/test/java/com/alibaba/citrus/springext/impl/ContributionTests.java @@ -31,6 +31,8 @@ import com.alibaba.citrus.springext.ConfigurationPoint; import com.alibaba.citrus.springext.Contribution; import com.alibaba.citrus.springext.ContributionType; +import com.alibaba.citrus.springext.Schema; +import com.alibaba.citrus.springext.SourceInfo; import com.alibaba.citrus.springext.contrib.MyBeanDefinitionDecorator; import com.alibaba.citrus.springext.contrib.MyBeanDefinitionDecorator2; import com.alibaba.citrus.springext.contrib.MyBeanDefinitionParser; @@ -43,6 +45,7 @@ import com.alibaba.citrus.springext.support.context.XmlApplicationContext; import com.alibaba.citrus.test.TestEnvStatic; import com.alibaba.citrus.test.runner.TestNameAware; +import com.alibaba.citrus.util.io.StreamUtil; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.context.ApplicationContext; @@ -116,6 +119,23 @@ public void test6_contributionAware() throws Exception { assertSame(cp, contrib.getConfigurationPoint()); } + @Test + public void unqualifiedStyle() throws Exception { + createConfigurationPoints(null); + + ConfigurationPoint cp1 = cps.getConfigurationPointByName("my/cp1"); + Contribution contrib1 = cp1.getContribution("test1", BEAN_DEFINITION_PARSER); + Schema schema1 = contrib1.getSchemas().getMainSchema(); + + String textTransformed = schema1.getText(); + String textOriginal = StreamUtil.readText(((SourceInfo) schema1).getSource().getInputStream(), "UTF-8", true); + + String elementQualified = "elementFormDefault=\"qualified\""; + + assertThat(textOriginal, containsString(elementQualified)); // my/cp1/test1.xsd包含elementFormDefault + assertThat(textTransformed, not(containsString(elementQualified))); // 转换后被强制去除。 + } + @Test public void expandConfigurationPointElements() throws Exception { createConfigurationPoints(null); @@ -138,8 +158,6 @@ public void expandConfigurationPointElements() throws Exception { private void assertSchemaText(String text, int caseNo) { text = text.replaceAll("\\s+", " "); // 去除换行,便于检查 - String elementQualified = "elementFormDefault=\"qualified\""; - String import_cp1 = ""; @@ -175,8 +193,6 @@ private void assertSchemaText(String text, int caseNo) { switch (caseNo) { case 1: - assertThat(text, not(containsString(elementQualified))); // my/cp1/test1.xsd包含elementFormDefault,但被强制去除。 - assertThat(text, not(containsString(import_cp1))); assertThat(text, containsString(import_cp2_specificLocation)); @@ -191,8 +207,6 @@ private void assertSchemaText(String text, int caseNo) { break; case 2: - assertThat(text, not(containsString(elementQualified))); // my/cp1/test2.xsd包含elementFormDefault,但被强制去除。 - assertThat(text, not(containsString(import_cp1))); assertThat(text, containsString(import_cp2_location)); diff --git a/common/springext/src/test/java/com/alibaba/citrus/springext/impl/SpringPluggableSchemaTests.java b/common/springext/src/test/java/com/alibaba/citrus/springext/impl/SpringPluggableSchemaTests.java index 339b74555..47e00b97e 100644 --- a/common/springext/src/test/java/com/alibaba/citrus/springext/impl/SpringPluggableSchemaTests.java +++ b/common/springext/src/test/java/com/alibaba/citrus/springext/impl/SpringPluggableSchemaTests.java @@ -79,13 +79,16 @@ public void getNamedMappings() { } @Test - public void unqualifiedStyle() { + public void unqualifiedStyle() throws Exception { Schema schema = sps.getNamedMappings().get("www.alibaba.com/schema/springext-base-types.xsd"); - String text = schema.getText(); + + String textTransformed = schema.getText(); + String textOriginal = StreamUtil.readText(((SourceInfo) schema).getSource().getInputStream(), "UTF-8", true); String elementQualified = "elementFormDefault=\"qualified\""; - assertThat(text, not(containsString(elementQualified))); // springext-base-types.xsd包含elementFormDefault,但被强制去除。 + assertThat(textOriginal, containsString(elementQualified)); // springext-base-types.xsd包含elementFormDefault + assertThat(textTransformed, not(containsString(elementQualified))); // 转换后被强制去除。 } @Test