How to test window.addEventListener function










1















Here is an event listener added, if I want to test if this event listener is working or not, how do I test? window.postMessage doesn't seem to be triggering this event. Basically, how do I trigger "some_event" so that my EventListener runs.



window.addEventListener('some_event', function() 
console.log("some_event triggered");
);


Please note, I was able to reproduce with "click" event, but what I want to know is, how do I know if any string is passed as an event. Example:



window.addEventListener('add_to_cart', function() 
console.log("some_event triggered");
);


So I would like to simulate this event listener to check if it's working or not. How do I test this.










share|improve this question
























  • Do you mean to write a test that clicks the dom for you and then proves if the window.addEventListener(...) got called? If yes.why do you want to check if native functionalities work?

    – Jonathan Stellwag
    Nov 8 '18 at 16:40















1















Here is an event listener added, if I want to test if this event listener is working or not, how do I test? window.postMessage doesn't seem to be triggering this event. Basically, how do I trigger "some_event" so that my EventListener runs.



window.addEventListener('some_event', function() 
console.log("some_event triggered");
);


Please note, I was able to reproduce with "click" event, but what I want to know is, how do I know if any string is passed as an event. Example:



window.addEventListener('add_to_cart', function() 
console.log("some_event triggered");
);


So I would like to simulate this event listener to check if it's working or not. How do I test this.










share|improve this question
























  • Do you mean to write a test that clicks the dom for you and then proves if the window.addEventListener(...) got called? If yes.why do you want to check if native functionalities work?

    – Jonathan Stellwag
    Nov 8 '18 at 16:40













1












1








1








Here is an event listener added, if I want to test if this event listener is working or not, how do I test? window.postMessage doesn't seem to be triggering this event. Basically, how do I trigger "some_event" so that my EventListener runs.



window.addEventListener('some_event', function() 
console.log("some_event triggered");
);


Please note, I was able to reproduce with "click" event, but what I want to know is, how do I know if any string is passed as an event. Example:



window.addEventListener('add_to_cart', function() 
console.log("some_event triggered");
);


So I would like to simulate this event listener to check if it's working or not. How do I test this.










share|improve this question
















Here is an event listener added, if I want to test if this event listener is working or not, how do I test? window.postMessage doesn't seem to be triggering this event. Basically, how do I trigger "some_event" so that my EventListener runs.



window.addEventListener('some_event', function() 
console.log("some_event triggered");
);


Please note, I was able to reproduce with "click" event, but what I want to know is, how do I know if any string is passed as an event. Example:



window.addEventListener('add_to_cart', function() 
console.log("some_event triggered");
);


So I would like to simulate this event listener to check if it's working or not. How do I test this.







javascript addeventlistener






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 8 '18 at 16:43







yome

















asked Nov 8 '18 at 16:38









yomeyome

3301510




3301510












  • Do you mean to write a test that clicks the dom for you and then proves if the window.addEventListener(...) got called? If yes.why do you want to check if native functionalities work?

    – Jonathan Stellwag
    Nov 8 '18 at 16:40

















  • Do you mean to write a test that clicks the dom for you and then proves if the window.addEventListener(...) got called? If yes.why do you want to check if native functionalities work?

    – Jonathan Stellwag
    Nov 8 '18 at 16:40
















Do you mean to write a test that clicks the dom for you and then proves if the window.addEventListener(...) got called? If yes.why do you want to check if native functionalities work?

– Jonathan Stellwag
Nov 8 '18 at 16:40





Do you mean to write a test that clicks the dom for you and then proves if the window.addEventListener(...) got called? If yes.why do you want to check if native functionalities work?

– Jonathan Stellwag
Nov 8 '18 at 16:40












2 Answers
2






active

oldest

votes


















0














You need to use some concrete event name like for example click - and click on browser page window - eg:



window.addEventListener('click', function() 
console.log("some_event triggered");
);


Here is some info about events and situations when they are trigger.



After question update



Yes you can define and fire arbitrary events - read here. And here is some example code:



var event = new Event('some_event');

// Listen for the event.
window.addEventListener('some_event', function (e)
console.log('some_event triggered')
, false);

// Dispatch the event.
window.dispatchEvent(event);


So you fire event using window.dispatchEvent(event) and this is the way you can test it.






share|improve this answer
































    0














    You can trigger an event using dispatchEvent and fireEvent in IE.



     var ev, element = window;
    if (document.createEvent)
    ev = document.createEvent("HTMLEvents");
    ev.initEvent("eventname", true, true);
    ev.eventName = "eventname";
    element.dispatchEvent(ev);
    else
    ev = document.createEventObject();
    ev.eventType = "eventname";
    ev.eventName = "eventname";
    element.fireEvent("on" + ev.eventType, event);






    function triggerEvent(elem, name)
    var ev;
    if (document.createEvent)
    ev = document.createEvent("HTMLEvents");
    ev.initEvent(name, true, true);
    ev.eventName = name;
    elem.dispatchEvent(ev);
    else
    ev = document.createEventObject();
    ev.eventType = name;
    ev.eventName = name;
    elem.fireEvent("on" + ev.eventType, event);


    window.addEventListener("click", function(e)
    console.log("Clicked");
    );
    window.addEventListener("custom_event", function(e)
    console.log("custom_event triggered");
    );
    triggerEvent(window, "click");
    triggerEvent(window, "custom_event");








    share|improve this answer
























      Your Answer






      StackExchange.ifUsing("editor", function ()
      StackExchange.using("externalEditor", function ()
      StackExchange.using("snippets", function ()
      StackExchange.snippets.init();
      );
      );
      , "code-snippets");

      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "1"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53212231%2fhow-to-test-window-addeventlistener-function%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      0














      You need to use some concrete event name like for example click - and click on browser page window - eg:



      window.addEventListener('click', function() 
      console.log("some_event triggered");
      );


      Here is some info about events and situations when they are trigger.



      After question update



      Yes you can define and fire arbitrary events - read here. And here is some example code:



      var event = new Event('some_event');

      // Listen for the event.
      window.addEventListener('some_event', function (e)
      console.log('some_event triggered')
      , false);

      // Dispatch the event.
      window.dispatchEvent(event);


      So you fire event using window.dispatchEvent(event) and this is the way you can test it.






      share|improve this answer





























        0














        You need to use some concrete event name like for example click - and click on browser page window - eg:



        window.addEventListener('click', function() 
        console.log("some_event triggered");
        );


        Here is some info about events and situations when they are trigger.



        After question update



        Yes you can define and fire arbitrary events - read here. And here is some example code:



        var event = new Event('some_event');

        // Listen for the event.
        window.addEventListener('some_event', function (e)
        console.log('some_event triggered')
        , false);

        // Dispatch the event.
        window.dispatchEvent(event);


        So you fire event using window.dispatchEvent(event) and this is the way you can test it.






        share|improve this answer



























          0












          0








          0







          You need to use some concrete event name like for example click - and click on browser page window - eg:



          window.addEventListener('click', function() 
          console.log("some_event triggered");
          );


          Here is some info about events and situations when they are trigger.



          After question update



          Yes you can define and fire arbitrary events - read here. And here is some example code:



          var event = new Event('some_event');

          // Listen for the event.
          window.addEventListener('some_event', function (e)
          console.log('some_event triggered')
          , false);

          // Dispatch the event.
          window.dispatchEvent(event);


          So you fire event using window.dispatchEvent(event) and this is the way you can test it.






          share|improve this answer















          You need to use some concrete event name like for example click - and click on browser page window - eg:



          window.addEventListener('click', function() 
          console.log("some_event triggered");
          );


          Here is some info about events and situations when they are trigger.



          After question update



          Yes you can define and fire arbitrary events - read here. And here is some example code:



          var event = new Event('some_event');

          // Listen for the event.
          window.addEventListener('some_event', function (e)
          console.log('some_event triggered')
          , false);

          // Dispatch the event.
          window.dispatchEvent(event);


          So you fire event using window.dispatchEvent(event) and this is the way you can test it.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 8 '18 at 16:56

























          answered Nov 8 '18 at 16:40









          Kamil KiełczewskiKamil Kiełczewski

          9,76985993




          9,76985993























              0














              You can trigger an event using dispatchEvent and fireEvent in IE.



               var ev, element = window;
              if (document.createEvent)
              ev = document.createEvent("HTMLEvents");
              ev.initEvent("eventname", true, true);
              ev.eventName = "eventname";
              element.dispatchEvent(ev);
              else
              ev = document.createEventObject();
              ev.eventType = "eventname";
              ev.eventName = "eventname";
              element.fireEvent("on" + ev.eventType, event);






              function triggerEvent(elem, name)
              var ev;
              if (document.createEvent)
              ev = document.createEvent("HTMLEvents");
              ev.initEvent(name, true, true);
              ev.eventName = name;
              elem.dispatchEvent(ev);
              else
              ev = document.createEventObject();
              ev.eventType = name;
              ev.eventName = name;
              elem.fireEvent("on" + ev.eventType, event);


              window.addEventListener("click", function(e)
              console.log("Clicked");
              );
              window.addEventListener("custom_event", function(e)
              console.log("custom_event triggered");
              );
              triggerEvent(window, "click");
              triggerEvent(window, "custom_event");








              share|improve this answer





























                0














                You can trigger an event using dispatchEvent and fireEvent in IE.



                 var ev, element = window;
                if (document.createEvent)
                ev = document.createEvent("HTMLEvents");
                ev.initEvent("eventname", true, true);
                ev.eventName = "eventname";
                element.dispatchEvent(ev);
                else
                ev = document.createEventObject();
                ev.eventType = "eventname";
                ev.eventName = "eventname";
                element.fireEvent("on" + ev.eventType, event);






                function triggerEvent(elem, name)
                var ev;
                if (document.createEvent)
                ev = document.createEvent("HTMLEvents");
                ev.initEvent(name, true, true);
                ev.eventName = name;
                elem.dispatchEvent(ev);
                else
                ev = document.createEventObject();
                ev.eventType = name;
                ev.eventName = name;
                elem.fireEvent("on" + ev.eventType, event);


                window.addEventListener("click", function(e)
                console.log("Clicked");
                );
                window.addEventListener("custom_event", function(e)
                console.log("custom_event triggered");
                );
                triggerEvent(window, "click");
                triggerEvent(window, "custom_event");








                share|improve this answer



























                  0












                  0








                  0







                  You can trigger an event using dispatchEvent and fireEvent in IE.



                   var ev, element = window;
                  if (document.createEvent)
                  ev = document.createEvent("HTMLEvents");
                  ev.initEvent("eventname", true, true);
                  ev.eventName = "eventname";
                  element.dispatchEvent(ev);
                  else
                  ev = document.createEventObject();
                  ev.eventType = "eventname";
                  ev.eventName = "eventname";
                  element.fireEvent("on" + ev.eventType, event);






                  function triggerEvent(elem, name)
                  var ev;
                  if (document.createEvent)
                  ev = document.createEvent("HTMLEvents");
                  ev.initEvent(name, true, true);
                  ev.eventName = name;
                  elem.dispatchEvent(ev);
                  else
                  ev = document.createEventObject();
                  ev.eventType = name;
                  ev.eventName = name;
                  elem.fireEvent("on" + ev.eventType, event);


                  window.addEventListener("click", function(e)
                  console.log("Clicked");
                  );
                  window.addEventListener("custom_event", function(e)
                  console.log("custom_event triggered");
                  );
                  triggerEvent(window, "click");
                  triggerEvent(window, "custom_event");








                  share|improve this answer















                  You can trigger an event using dispatchEvent and fireEvent in IE.



                   var ev, element = window;
                  if (document.createEvent)
                  ev = document.createEvent("HTMLEvents");
                  ev.initEvent("eventname", true, true);
                  ev.eventName = "eventname";
                  element.dispatchEvent(ev);
                  else
                  ev = document.createEventObject();
                  ev.eventType = "eventname";
                  ev.eventName = "eventname";
                  element.fireEvent("on" + ev.eventType, event);






                  function triggerEvent(elem, name)
                  var ev;
                  if (document.createEvent)
                  ev = document.createEvent("HTMLEvents");
                  ev.initEvent(name, true, true);
                  ev.eventName = name;
                  elem.dispatchEvent(ev);
                  else
                  ev = document.createEventObject();
                  ev.eventType = name;
                  ev.eventName = name;
                  elem.fireEvent("on" + ev.eventType, event);


                  window.addEventListener("click", function(e)
                  console.log("Clicked");
                  );
                  window.addEventListener("custom_event", function(e)
                  console.log("custom_event triggered");
                  );
                  triggerEvent(window, "click");
                  triggerEvent(window, "custom_event");








                  function triggerEvent(elem, name)
                  var ev;
                  if (document.createEvent)
                  ev = document.createEvent("HTMLEvents");
                  ev.initEvent(name, true, true);
                  ev.eventName = name;
                  elem.dispatchEvent(ev);
                  else
                  ev = document.createEventObject();
                  ev.eventType = name;
                  ev.eventName = name;
                  elem.fireEvent("on" + ev.eventType, event);


                  window.addEventListener("click", function(e)
                  console.log("Clicked");
                  );
                  window.addEventListener("custom_event", function(e)
                  console.log("custom_event triggered");
                  );
                  triggerEvent(window, "click");
                  triggerEvent(window, "custom_event");





                  function triggerEvent(elem, name)
                  var ev;
                  if (document.createEvent)
                  ev = document.createEvent("HTMLEvents");
                  ev.initEvent(name, true, true);
                  ev.eventName = name;
                  elem.dispatchEvent(ev);
                  else
                  ev = document.createEventObject();
                  ev.eventType = name;
                  ev.eventName = name;
                  elem.fireEvent("on" + ev.eventType, event);


                  window.addEventListener("click", function(e)
                  console.log("Clicked");
                  );
                  window.addEventListener("custom_event", function(e)
                  console.log("custom_event triggered");
                  );
                  triggerEvent(window, "click");
                  triggerEvent(window, "custom_event");






                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Nov 11 '18 at 3:42

























                  answered Nov 8 '18 at 16:45









                  hev1hev1

                  5,5783527




                  5,5783527



























                      draft saved

                      draft discarded
















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53212231%2fhow-to-test-window-addeventlistener-function%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

                      Edmonton

                      Crossroads (UK TV series)