Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  test_tree.xhtml   Sprache: unbekannt

 
Spracherkennung für: .xhtml vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
                 type="text/css"?>
<?xml-stylesheet href="../treeview.css"
                 type="text/css"?>

<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        title="XUL tree selectable tests">

  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js" />

  <script type="application/javascript"
          src="../treeview.js" />

  <script type="application/javascript"
          src="../common.js" />
  <script type="application/javascript"
          src="../events.js" />
  <script type="application/javascript"
          src="../role.js" />
  <script type="application/javascript"
          src="../states.js" />
  <script type="application/javascript"
          src="../selectable.js" />

  <script type="application/javascript">
  <![CDATA[
    ////////////////////////////////////////////////////////////////////////////
    // Test

    // gA11yEventDumpID = "debug";

    /**
     * Event queue invoker object to test accessible states for XUL tree
     * accessible.
     */
    function statesChecker(aTreeID, aView)
    {
      this.DOMNode = getNode(aTreeID);
      
      this.invoke = function invoke()
      {
        this.DOMNode.view = aView;
      }
      this.check = function check()
      {
        var tree = getAccessible(this.DOMNode);

        var isTreeMultiSelectable = false;
        var seltype = this.DOMNode.getAttribute("seltype");
        if (seltype != "single")
          isTreeMultiSelectable = true;

        // selectAll
        var accSelectable = getAccessible(this.DOMNode,
                                          [nsIAccessibleSelectable]);
        ok(accSelectable, "tree is not selectable!");
        if (accSelectable) {
          is(accSelectable.selectAll(), isTreeMultiSelectable,
             "SelectAll is not correct for seltype: " + seltype);
        }

        var selectedChildren = [];
        if (isTreeMultiSelectable) {
          var rows = tree.children;
          for (var i = 0; i < rows.length; i++) {
          var row = rows.queryElementAt(i, nsIAccessible);
            if (getRole(row) == ROLE_OUTLINEITEM || getRole(row) == ROLE_ROW)
              selectedChildren.push(row);
          }
        }
        testSelectableSelection(accSelectable, selectedChildren,
                                "selectAll test. ");

        // unselectAll
        accSelectable.unselectAll();
        testSelectableSelection(accSelectable, [], "unselectAll test. ");

        // addItemToSelection
        accSelectable.addItemToSelection(1);
        accSelectable.addItemToSelection(3);

        selectedChildren = isTreeMultiSelectable ?
          [ accSelectable.getChildAt(2), accSelectable.getChildAt(4) ] :
          [ accSelectable.getChildAt(2) ];
        testSelectableSelection(accSelectable, selectedChildren,
                                "addItemToSelection test. ");

        // removeItemFromSelection
        accSelectable.removeItemFromSelection(1);

        selectedChildren = isTreeMultiSelectable ?
          [ accSelectable.getChildAt(4) ] : [ ];
        testSelectableSelection(accSelectable, selectedChildren,
                                "removeItemFromSelection test. ");
      }

      this.getID = function getID()
      {
        "tree processor for " + prettyName(aTreeID);
      }
    }

    var gQueue = null;

    function doTest()
    {
      gQueue = new eventQueue(EVENT_REORDER);
      gQueue.push(new statesChecker("tree", new nsTreeTreeView()));
      gQueue.push(new statesChecker("treesingle", new nsTreeTreeView()));
      gQueue.push(new statesChecker("tabletree", new nsTreeTreeView()));

      gQueue.invoke(); // Will call SimpleTest.finish();
    }

    SimpleTest.waitForExplicitFinish();
    addA11yLoadEvent(doTest);
  ]]>
  </script>

  <hbox flex="1" style="overflow: auto;">
    <body xmlns="http://www.w3.org/1999/xhtml">
      <a target="_blank"
        href="https://bugzilla.mozilla.org/show_bug.cgi?id=523118"
        title="we mistake 'cell' and text' xul tree seltypes for multiselects">
       Mozilla Bug 523118
      </a>
      <a target="_blank"
        href="https://bugzilla.mozilla.org/show_bug.cgi?id=624977"
        title="Optimize nsXulTreeAccessible selectedItems()">
       Mozilla Bug 624977
      </a><br/>
      <p id="display"></p>
      <div id="content" style="display: none">
      </div>
      <pre id="test">
      </pre>
    </body>

    <vbox flex="1">
      <tree id="tree" flex="1">
        <treecols>
          <treecol id="col" flex="1" primary="true" label="column"/>
        </treecols>
        <treechildren/>
      </tree>

      <tree id="treesingle" flex="1" seltype="single">
        <treecols>
          <treecol id="col_single" flex="1" primary="true" label="column"/>
        </treecols>
        <treechildren/>
      </tree>

      <tree id="tabletree" flex="1" editable="true">
        <treecols>
          <treecol id="tabletree_col1" cycler="true" label="cycler"/>
          <treecol id="tabletree_col2" flex="1" primary="true" label="column1"/>
          <treecol id="tabletree_col3" flex="1" label="column2"/>
          <treecol id="tabletree_col4" flex="1" label="checker"
                   type="checkbox" editable="true"/>
        </treecols>
        <treechildren/>
      </tree>

      <vbox id="debug"/>
    </vbox>
  </hbox>

</window>

[ Dauer der Verarbeitung: 0.31 Sekunden  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge