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


Quelle  test_bug1042436.xhtml   Sprache: unbekannt

 
<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="chrome://global/skin"?>
<?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=1042436
-->
<window title="Mozilla Bug 1042436"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>

  <!-- test results are displayed in the html:body -->
  <body xmlns="http://www.w3.org/1999/xhtml">
  <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1042436"
     target="_blank">Mozilla Bug 1042436</a>
  </body>

  <!-- test code goes here -->
  <script type="application/javascript">
  <![CDATA[
  /** Test for Bug 1042436 **/
  SimpleTest.waitForExplicitFinish();

  var contentSb = Cu.Sandbox("https://www.example.com");
  var nonXrayableObj = contentSb.eval("new Map()[Symbol.iterator]()");
  nonXrayableObj.wrappedJSObject.someExpandoProperty = 42;
  nonXrayableObj.wrappedJSObject.someOtherExpandoProperty = 52;


  SimpleTest.expectConsoleMessages(function() {
      // Create sandboxes in fresh compartments, because the warning state is
      // stored per compartment.
      var chromeSb1 = Cu.Sandbox(this, {freshCompartment: true});
      chromeSb1.nonXrayableObj = nonXrayableObj;
      Cu.evalInSandbox(`
        nonXrayableObj.someExpandoProperty;
        nonXrayableObj.someOtherExpandoProperty;
      `, chromeSb1);

      var chromeSb2 = Cu.Sandbox(this, {freshCompartment: true});
      var contentObjWithGetter = contentSb.eval('({ get getterProp() {return 42;}, valueProp: 42 })');
      is(contentObjWithGetter.wrappedJSObject.getterProp, 42, "Getter prop set up correctly");
      is(contentObjWithGetter.getterProp, undefined, "Xrays work right");
      is(contentObjWithGetter.valueProp, 42, "Getter prop set up correctly");
      chromeSb2.contentObjWithGetter = contentObjWithGetter;
      Cu.evalInSandbox('contentObjWithGetter.getterProp; contentObjWithGetter.valueProp; contentObjWithGetter.getterProp;',
                       chromeSb2, "1.7", "https://phony.example.com/file.js", 99);
  },
  [{ errorMessage: /property "someExpandoProperty" \(reason: object is not safely Xrayable/, sourceName: /test_bug1042436/, isWarning: true },
   { errorMessage: /property "getterProp" \(reason: property has accessor/, sourceName: /phony/, lineNumber: 99, isWarning: true } ],
  SimpleTest.finish.bind(SimpleTest));

  ]]>
  </script>
</window>

[ Dauer der Verarbeitung: 0.16 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


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