YARN-2610. Hamlet should close table tags. (Ray Chiang via kasha)
(cherry picked from commit f7743dd07d
)
This commit is contained in:
parent
ab3cab0b53
commit
c206265b7e
|
@ -441,6 +441,8 @@ Release 2.6.0 - UNRELEASED
|
||||||
YARN-2606. Application History Server tries to access hdfs before doing
|
YARN-2606. Application History Server tries to access hdfs before doing
|
||||||
secure login (Mit Desai via jeagles)
|
secure login (Mit Desai via jeagles)
|
||||||
|
|
||||||
|
YARN-2610. Hamlet should close table tags. (Ray Chiang via kasha)
|
||||||
|
|
||||||
YARN-2387. Resource Manager crashes with NPE due to lack of
|
YARN-2387. Resource Manager crashes with NPE due to lack of
|
||||||
synchronization (Mit Desai via jlowe)
|
synchronization (Mit Desai via jlowe)
|
||||||
|
|
||||||
|
|
|
@ -2423,10 +2423,10 @@ public class Hamlet extends HamletImpl implements HamletSpec._Html {
|
||||||
}
|
}
|
||||||
|
|
||||||
private <T extends _> TH<T> th_(T e, boolean inline) {
|
private <T extends _> TH<T> th_(T e, boolean inline) {
|
||||||
return new TH<T>("th", e, opt(false, inline, false)); }
|
return new TH<T>("th", e, opt(true, inline, false)); }
|
||||||
|
|
||||||
private <T extends _> TD<T> td_(T e, boolean inline) {
|
private <T extends _> TD<T> td_(T e, boolean inline) {
|
||||||
return new TD<T>("td", e, opt(false, inline, false)); }
|
return new TD<T>("td", e, opt(true, inline, false)); }
|
||||||
|
|
||||||
public class COL<T extends _> extends EImp<T> implements HamletSpec.COL {
|
public class COL<T extends _> extends EImp<T> implements HamletSpec.COL {
|
||||||
public COL(String name, T parent, EnumSet<EOpt> opts) {
|
public COL(String name, T parent, EnumSet<EOpt> opts) {
|
||||||
|
@ -3719,10 +3719,10 @@ public class Hamlet extends HamletImpl implements HamletSpec._Html {
|
||||||
return new COLGROUP<T>("colgroup", e, opt(false, inline, false)); }
|
return new COLGROUP<T>("colgroup", e, opt(false, inline, false)); }
|
||||||
|
|
||||||
private <T extends _> THEAD<T> thead_(T e, boolean inline) {
|
private <T extends _> THEAD<T> thead_(T e, boolean inline) {
|
||||||
return new THEAD<T>("thead", e, opt(false, inline, false)); }
|
return new THEAD<T>("thead", e, opt(true, inline, false)); }
|
||||||
|
|
||||||
private <T extends _> TFOOT<T> tfoot_(T e, boolean inline) {
|
private <T extends _> TFOOT<T> tfoot_(T e, boolean inline) {
|
||||||
return new TFOOT<T>("tfoot", e, opt(false, inline, false)); }
|
return new TFOOT<T>("tfoot", e, opt(true, inline, false)); }
|
||||||
|
|
||||||
private <T extends _> TBODY<T> tbody_(T e, boolean inline) {
|
private <T extends _> TBODY<T> tbody_(T e, boolean inline) {
|
||||||
return new TBODY<T>("tbody", e, opt(true, inline, false)); }
|
return new TBODY<T>("tbody", e, opt(true, inline, false)); }
|
||||||
|
@ -3731,7 +3731,7 @@ public class Hamlet extends HamletImpl implements HamletSpec._Html {
|
||||||
return new COL<T>("col", e, opt(false, inline, false)); }
|
return new COL<T>("col", e, opt(false, inline, false)); }
|
||||||
|
|
||||||
private <T extends _> TR<T> tr_(T e, boolean inline) {
|
private <T extends _> TR<T> tr_(T e, boolean inline) {
|
||||||
return new TR<T>("tr", e, opt(false, inline, false)); }
|
return new TR<T>("tr", e, opt(true, inline, false)); }
|
||||||
|
|
||||||
public class BUTTON<T extends _> extends EImp<T> implements HamletSpec.BUTTON {
|
public class BUTTON<T extends _> extends EImp<T> implements HamletSpec.BUTTON {
|
||||||
public BUTTON(String name, T parent, EnumSet<EOpt> opts) {
|
public BUTTON(String name, T parent, EnumSet<EOpt> opts) {
|
||||||
|
|
|
@ -88,8 +88,8 @@ public class TestHamlet {
|
||||||
assertEquals(0, h.nestLevel);
|
assertEquals(0, h.nestLevel);
|
||||||
verify(out).print("<table");
|
verify(out).print("<table");
|
||||||
verify(out).print("</table>");
|
verify(out).print("</table>");
|
||||||
verify(out, never()).print("</td>");
|
verify(out, atLeast(1)).print("</td>");
|
||||||
verify(out, never()).print("</tr>");
|
verify(out, atLeast(1)).print("</tr>");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test public void testEnumAttrs() {
|
@Test public void testEnumAttrs() {
|
||||||
|
|
|
@ -68,7 +68,7 @@ public class TestInfoBlock {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
resInfo = new ResponseInfo();
|
resInfo = new ResponseInfo();
|
||||||
resInfo._("Single_line_value", "This is one line.");
|
resInfo._("Multiple_line_value", "This is one line.");
|
||||||
resInfo._("Multiple_line_value", "This is first line.\nThis is second line.");
|
resInfo._("Multiple_line_value", "This is first line.\nThis is second line.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,13 +98,14 @@ public class TestInfoBlock {
|
||||||
WebAppTests.testBlock(MultilineInfoBlock.class);
|
WebAppTests.testBlock(MultilineInfoBlock.class);
|
||||||
TestInfoBlock.pw.flush();
|
TestInfoBlock.pw.flush();
|
||||||
String output = TestInfoBlock.sw.toString().replaceAll(" +", " ");
|
String output = TestInfoBlock.sw.toString().replaceAll(" +", " ");
|
||||||
String expectedSinglelineData = String.format("<tr class=\"odd\">%n"
|
String expectedMultilineData1 = String.format("<tr class=\"odd\">%n"
|
||||||
+ " <th>%n Single_line_value%n <td>%n This is one line.%n");
|
+ " <th>%n Multiple_line_value%n </th>%n"
|
||||||
String expectedMultilineData = String.format("<tr class=\"even\">%n"
|
+ " <td>%n This is one line.%n </td>%n");
|
||||||
+ " <th>%n Multiple_line_value%n <td>%n <div>%n"
|
String expectedMultilineData2 = String.format("<tr class=\"even\">%n"
|
||||||
|
+ " <th>%n Multiple_line_value%n </th>%n <td>%n <div>%n"
|
||||||
+ " This is first line.%n </div>%n <div>%n"
|
+ " This is first line.%n </div>%n <div>%n"
|
||||||
+ " This is second line.%n </div>%n");
|
+ " This is second line.%n </div>%n");
|
||||||
assertTrue(output.contains(expectedSinglelineData) && output.contains(expectedMultilineData));
|
assertTrue(output.contains(expectedMultilineData1) && output.contains(expectedMultilineData2));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(timeout=60000L)
|
@Test(timeout=60000L)
|
||||||
|
@ -115,4 +116,4 @@ public class TestInfoBlock {
|
||||||
assertFalse(output.contains("<script>"));
|
assertFalse(output.contains("<script>"));
|
||||||
assertTrue(output.contains(JAVASCRIPT_ESCAPED));
|
assertTrue(output.contains(JAVASCRIPT_ESCAPED));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue