/tests/org/mt4j/test/css/SelectorIntegrationTest.java

http://mt4j.googlecode.com/ · Java · 149 lines · 100 code · 36 blank · 13 comment · 4 complexity · 3ac272c5e0fb30fccc0aa166eb3f1666 MD5 · raw file

  1. package org.mt4j.test.css;
  2. import java.util.List;
  3. import org.junit.Test;
  4. import org.mt4j.MTApplication;
  5. import org.mt4j.components.MTCanvas;
  6. import org.mt4j.components.MTComponent;
  7. import org.mt4j.components.TransformSpace;
  8. import org.mt4j.components.css.parser.CSSParserConnection;
  9. import org.mt4j.components.css.style.CSSStyle;
  10. import org.mt4j.components.visibleComponents.shapes.MTEllipse;
  11. import org.mt4j.components.visibleComponents.shapes.MTLine;
  12. import org.mt4j.components.visibleComponents.shapes.MTRectangle;
  13. import org.mt4j.components.visibleComponents.widgets.MTTextArea;
  14. import org.mt4j.sceneManagement.Iscene;
  15. import org.mt4j.test.AbstractWindowTestcase;
  16. import org.mt4j.test.testUtil.DummyScene;
  17. import org.mt4j.test.testUtil.TestRunnable;
  18. import org.mt4j.util.MTColor;
  19. import org.mt4j.util.math.Vector3D;
  20. public class SelectorIntegrationTest extends AbstractWindowTestcase {
  21. private MTComponent parent;
  22. private MTApplication app;
  23. private Iscene scene;
  24. CSSParserConnection pc;
  25. List<CSSStyle> styles;
  26. MTColor w = new MTColor(255,255,255,255);
  27. @Override
  28. public void inStartUp(MTApplication app) {
  29. this.app = app;
  30. //Add a scene to the mt application
  31. this.scene = new DummyScene(app, "Dummy Scene");
  32. app.addScene(scene);
  33. //Set up components
  34. parent = new MTComponent(app);
  35. getCanvas().addChild(parent);
  36. app.getCssStyleManager().loadStyles("junit/integrationtest.css");
  37. app.getCssStyleManager().setGloballyEnabled(true);
  38. }
  39. public MTCanvas getCanvas(){
  40. return this.scene.getCanvas();
  41. }
  42. @Test
  43. public void testDirectStyleSheets() {
  44. MTRectangle r = new MTRectangle(app,0,0,100, 100);
  45. //r.enableCSS();
  46. getCanvas().addChild(r);
  47. assertTrue(r.getFillColor().equals(MTColor.GREEN));
  48. }
  49. @Test
  50. public void testClassSelector() {
  51. MTEllipse e = new MTEllipse(app, new Vector3D(500,500), 50, 50);
  52. //e.enableCSS();
  53. getCanvas().addChild(e);
  54. assertTrue(e.getFillColor().equals(MTColor.WHITE));
  55. }
  56. @Test
  57. public void testUniversalSelector() {
  58. MTLine l = new MTLine(app, 100,100, 200,200);
  59. //l.enableCSS();
  60. getCanvas().addChild(l);
  61. MTEllipse e = new MTEllipse(app, new Vector3D(500,500), 50, 50);
  62. //e.enableCSS();
  63. getCanvas().addChild(e);
  64. assertTrue(l.getStrokeColor().equals(MTColor.BLUE));
  65. assertTrue(e.getStrokeColor().equals(MTColor.BLUE));
  66. }
  67. @Test
  68. public void testCascadingSelectors() {
  69. this.runTest(new TestRunnable() {
  70. @Override
  71. public void runMTTestCode() {
  72. MTRectangle r1 = new MTRectangle(app,100,100,100, 100);
  73. MTRectangle r2 = new MTRectangle(app,100,100,100, 100);
  74. MTRectangle r3 = new MTRectangle(app,100,100,100, 100);
  75. //r1.enableCSS(); r2.enableCSS(); r3.enableCSS();
  76. MTEllipse e = new MTEllipse(app, new Vector3D(200,200), 50,50);
  77. //e.enableCSS();
  78. MTTextArea ta = new MTTextArea(app);
  79. MTTextArea t2 = new MTTextArea(app);
  80. //ta.enableCSS(); t2.enableCSS();
  81. getCanvas().addChild(r1);
  82. getCanvas().addChild(r2);
  83. r1.addChild(ta);
  84. r2.addChild(e);
  85. e.addChild(r3);
  86. e.addChild(t2);
  87. //ta.applyStyleSheet();
  88. //t2.applyStyleSheet();
  89. //r3.applyStyleSheet();
  90. assertTrue(ta.getFillColor().equals(MTColor.LIME));
  91. assertTrue(r3.getFillColor().equals(MTColor.GREY));
  92. assertTrue(t2.getFillColor().equals(MTColor.BLUE));
  93. }
  94. });
  95. }
  96. @Test
  97. public void testSizes() {
  98. MTRectangle r1 = new MTRectangle(app,100,100,100, 100);
  99. MTRectangle r2 = new MTRectangle(app,100,100,100, 100);
  100. MTRectangle r3 = new MTRectangle(app,100,100,100, 100);
  101. //r1.enableCSS(); r2.enableCSS(); r3.enableCSS();
  102. r1.setCSSID("widthtest");
  103. r2.setCSSID("heighttest");
  104. r3.setCSSID("sizetest");
  105. getCanvas().addChild(r1);
  106. getCanvas().addChild(r2);
  107. getCanvas().addChild(r3);
  108. assertTrue(r1.getWidthXY(TransformSpace.RELATIVE_TO_PARENT) == 90f);
  109. assertTrue(r2.getHeightXY(TransformSpace.RELATIVE_TO_PARENT) == 110f);
  110. assertTrue(r3.getWidthXY(TransformSpace.RELATIVE_TO_PARENT) == 120f);
  111. assertTrue(r3.getHeightXY(TransformSpace.RELATIVE_TO_PARENT) == 450f);
  112. }
  113. }