1. 26 Mar, 2014 4 commits
  2. 17 Mar, 2014 1 commit
  3. 14 Mar, 2014 2 commits
  4. 12 Mar, 2014 3 commits
    • Samuel's avatar
      Merge pull request #348 from Medical-Insight/fix-altgr-firefox · f1e6daf3
      Samuel authored
      Fix altgr firefox
      f1e6daf3
    • Jesper Dam's avatar
      Better browser OS detection. · 23078406
      Jesper Dam authored
      Apparently Firefox on Linux changed the value of navigator.appVersion,
      causing our OS detection (used to determine how to interpret different
      modifier keys) to fail.
      
      Use navigator.platform instead, which should be more stable.
      
      http://stackoverflow.com/a/19883965/33213
      23078406
    • Jesper Dam's avatar
      Better key identifiers · c3f60524
      Jesper Dam authored
      Previously we identified keys in keyboard events by the 'key' property
      if it was set, and 'keyCode' otherwise.
      
      This turns out to be problematic as Firefox no longer leaves 'key'
      undefined (so we fall back to using 'keyCode'), but instead sets 'key'
      to 'MozPrintableKey' for all printable keys.
      
      This meant that when (printable) keys are released, we can't match it
      against the corresponding keydown event, and instead just send a keyup
      event for the last keydown received.
      
      Now, if both 'key' and 'keyCode' are set, use the concatenation of both.
      Otherwise prefer 'keyCode', as that is at least unique for every key.
      
      This should let us release the right keys on keyup events.
      c3f60524
  5. 11 Mar, 2014 1 commit
  6. 19 Feb, 2014 2 commits
  7. 17 Feb, 2014 4 commits
  8. 10 Feb, 2014 1 commit
  9. 07 Feb, 2014 1 commit
  10. 06 Feb, 2014 1 commit
  11. 31 Jan, 2014 1 commit
  12. 13 Jan, 2014 1 commit
  13. 06 Jan, 2014 1 commit
    • Jesper Dam's avatar
      Fix issue #326: correct handling of shift key · f6a1d98a
      Jesper Dam authored
      When shortcut modifiers (modifier keys such as CTRL, which do not participate in
      composing character input) are pressed, we try to suppress the keypress
      event, as browsers do not reliably generate it. This means that
      subsequent key events are decoded only based on the keydown event.
      
      Due to a type error (comparing a string to a number), shift was
      mistakenly treated as a shortcut modifier, preventing text input which
      relied on shift, such as _ and %, from being generated.
      f6a1d98a
  14. 17 Dec, 2013 3 commits
    • Solly Ross's avatar
      Support 'requires' Line in Test Runner · 85e89916
      Solly Ross authored
      If the files passed to the '-t' option are all '.js' files (or
      the 'run all tests' option is used) and the '-i' option is not
      passed, all tests will be search for the string
      'require local modules: '.  Only the first instance of this string
      will be used.  Following the colon should be a list of either local
      modules (i.e. files in the '../include/' folder relative to the
      test runner's directory, without the '.js' extension) or paths
      to other Javascript files.  The list of modules and/or files should
      be comma-separated.  These files will then be included in the generated
      HTML file for the appropriate tests as if the '-i' option had been used.
      85e89916
    • Solly Ross's avatar
      Support Running All Tests · d823e895
      Solly Ross authored
      Now, if the '-t' option is passed but no tests are listed,
      all tests in the same directory as the launcher will be run.
      A file is considered a test if it matches the RegEx
      /^test\.(\w|\.|-)+\.js$/ (for those who cannot read PCRE,
      that's roughly 'test.*.js').
      d823e895
    • Solly Ross's avatar
      Support Skipped Tests and Fix JSHint Issues · 8eb88937
      Solly Ross authored
      The test runner now will not break when Mocha skips tests,
      and will properly report them.  Additionally, several JSHint
      warnings were fixed, and a `--debug` option was added to see
      output from the provider.
      8eb88937
  15. 05 Dec, 2013 8 commits
  16. 04 Dec, 2013 3 commits
    • Solly Ross's avatar
      Add support for Outputting Autogenerated Test HTML · 1e570156
      Solly Ross authored
      This commit introduces two flags, '-g' and '-o' to
      the `run_from_console.js`.  Both flags do not run
      the tests.  Instead, deal with the autogenerated
      HTML.  The former outputs the paths to the autogenerated
      HTML temp files, and then pauses the program until Ctrl-C
      is pressed (or SIGINT is sent).  The latter outputs the
      generated HTML for each files to STDIN with the names
      of the tests to which they belong.
      1e570156
    • Solly's avatar
      Merge pull request #322 from DirectXMan12/master · e0dc102e
      Solly authored
      Support Running Mocha Tests from the Console
      e0dc102e
    • Solly Ross's avatar
      Support Running Mocha Tests from the Console · 2af86592
      Solly Ross authored
      Previously, the only way to run the Mocha tests
      (in 'test.*.js') is to write a web page to wrap
      them (or use a provided one), and then load that
      file in a browser.
      
      This commit introduces a series of files to allow
      you to run the Mocha tests from the command line
      instead.
      
      Normally, Mocha tests can be run from
      the command line anyway.  However, since this
      project was designed to work in web browsers
      and not node, the code doesn't contain the
      proper `require` calls, nor does it contain the
      proper `module.exports` declarations.  Additionally,
      some of the code is dependent on having a browser
      environment.
      
      To overcome these issues, a headless browser environment
      is used.  The command file introduced in the commit,
      `run_from_console.js`, can use one of two environments:
      ZombieJS, a pure-javascript headless browser simulator, or
      SpookyJS/CasperJS/PhantomJS, an actually WebKit-based
      environment.
      
      Because the environment-dependent code is separated
      out in to different files ('run_from_console.zombie.js'
      and 'run_from_console.casper.js'), the program can be
      safely used if only one of the supported environments
      is installed.
      
      Additionally, the command will automatically generate
      HTML and inject the required tests if there is no
      pre-existing HTML file (although you can still use
      pre-existing HTML files if you want to).
      
      The required NPM modules for the base program are:
      
      - commander
      - ansi
      - mocha (must be installed locally for the HTML files to use)
      - chai (must be installed locally for the HTML files to use)
      - temp
      
      For Zombie, you need:
      
      - zombie
      - q
      
      For Casper, you need:
      
      - casperjs (must be installed locally in order to work properly)
      - phantomjs
      - phantom
      - spooky
      
      The command itself can be invoked as
      
         $ node run_from_console.js -t html_files
      
      or
      
         $ node run_from_console.js -t js_test_files -i js_required_files
      
      In both cases, the 'files' options should be a comma-separated list of
      files.  The first case runs pre-existing HTML files.  The second case
      generates HTML files to run the specified Mocha tests, and injects
      the requirements specified as well.
      
      Additionally, there are extra arguments that apply to both forms:
      '-a' can be used to print all test results, not just the failures,
      '-c' may be used to force color to be enabled (when outputting to
      a pipe, such as when `less -R` is in use), and '-e' is used to
      set the environment.  Use the '-h' or '--help' options to see
      a detailed description of all options, and their long-form versions.
      2af86592
  17. 29 Oct, 2013 3 commits