1. 26 Nov, 2014 1 commit
  2. 24 Nov, 2014 1 commit
    • Solly Ross's avatar
      Fixed Erroneous HEXTILE test · 4865278d
      Solly Ross authored
      The HEXTILE test which tested for a background tile followed
      by an empty tile was only wide enough to actually test for one
      tile, thus not actually testing the functionality.  It now actually
      uses two tiles, thus actually testing the functionality.
      4865278d
  3. 23 Nov, 2014 2 commits
  4. 18 Nov, 2014 2 commits
    • Solly Ross's avatar
      Merge "pull-request/412" (ramondeklein/noVNC) · 1f84c999
      Solly Ross authored
      Closes #412
      1f84c999
    • Ramon de Klein's avatar
      Don't draw "blank" HEXTILE tiles with random data · 40ac6f0a
      Ramon de Klein authored
      Previously, if a HEXTILE tiles was received with a subencoding
      of 0x00, it would draw a rectangle using data from the render
      queue, which would result in random colored blocks when using
      the HEXTILE encoding.  This is the result of a miscopy during
      the refactoring.  It now has the correct functionality according
      to the RFB protocol specification, which is to draw a rectangle
      with the last set background color.
      
      Closes #411
      40ac6f0a
  5. 17 Nov, 2014 2 commits
    • Solly Ross's avatar
      Fix Karma sinon-chai version issues · c42ea225
      Solly Ross authored
      Previously, we were using the karma-sinon-chai package to
      provide sinon-chai to karma.  This used an older version of
      sinon-chai, and looks to be no longer maintained (it's been
      a month since sinon-chai was updated).  A new package,
      karma-sinon-chai-latest, is now used.  This package uses the
      latest version of sinon-chai and sinon, just like karma-chai
      uses the latest version of chai.
      c42ea225
    • Solly Ross's avatar
      Fix broken tests from changing default screen size · fda40d89
      Solly Ross authored
      Commit 795fca23 changed the default
      size from 640 to 240.  This broke a couple tests which depended on
      the default size being 640.  Those tests have now been fixed.
      fda40d89
  6. 13 Nov, 2014 1 commit
  7. 11 Nov, 2014 1 commit
  8. 06 Nov, 2014 1 commit
  9. 02 Nov, 2014 1 commit
    • Solly Ross's avatar
      Added in guidelines for contributing to noVNC · dbaf49f5
      Solly Ross authored
      In CONTRIBUTING.md, you can now find a set of guidelines for
      contributing to the noVNC project.  They detail coding style
      information, requirements for pull requests, and how to run
      the unit tests.
      dbaf49f5
  10. 29 Oct, 2014 1 commit
  11. 01 Oct, 2014 2 commits
  12. 30 Sep, 2014 2 commits
  13. 23 Sep, 2014 4 commits
    • Solly Ross's avatar
      Make Utils.js use Object.define to modify Array · f9fd0313
      Solly Ross authored
      Previously, we were modifying Array's prototype using
      simple assignment.  This can mess with enumeration/iteration.
      Thus, we now use Object.defineProperty with enumerable set to
      false.
      
      See #366
      f9fd0313
    • Solly Ross's avatar
      Correct Travis CI Badge URL · 58529d34
      Solly Ross authored
      The readme was using the URL for the 'refactor/cleanup'
      branch, which doesn't exist anymore.  It now uses
      the badge for the master branch as it should.
      58529d34
    • Solly Ross's avatar
      Add support for Relative Paths in the Test Runner · b11bb5c3
      Solly Ross authored
      This patch adds support for using relative paths
      with the '-r' or '--relative' methods.  This can
      be useful if you want to output HTML (with the
      '--output-html' option) and use it in a webpage.
      
      Additionally, the '-o' was removed from the documentation
      of '--output-html', since it hasn't worked for that in a
      while ('-o' means open in browser instead).
      b11bb5c3
    • Solly Ross's avatar
      Fix Race Condition in Display#clear on IE10 · 0b0b0433
      Solly Ross authored
      There was a race condition in Display#clear on IE10
      because we resize and then clear that causes the canvas
      to not actually end up cleared.  Clearing the current
      viewport first solves the issue.  It doesn't appear to
      affect other platforms, so it's inside a engine check
      (`Util.Engine.trident === 6`).  Once we stop supporting
      IE10, we should just remove this, because it's not the best
      to have Engine-specific code.
      0b0b0433
  14. 19 Sep, 2014 8 commits
    • Solly Ross's avatar
      Fixed broken mouse test in test.rfb.js · 3b4fd003
      Solly Ross authored
      Because we use the XOR (`^`) operator, the button mask must be
      set before a MouseUp event happens, otherwise we'll send a pointer
      event like it was a MouseDown event.  The button mask was not set
      in one of the tests, so the test was failing.
      3b4fd003
    • Solly Ross's avatar
      Fixed Cursor URI Support Detection · 53762c31
      Solly Ross authored
      There was a bug in cursor URI support detection due to the way
      set_defaults now works -- the code was checking for `null`, whereas
      when not set, options default to `undefined` unless otherwise
      specified.  The code now checks for either `null` or `undefined`.
      Tests have been added to ensure that this works properly.
      53762c31
    • Solly Ross's avatar
      Fixed presence detection bug in utils.set_defaults · cfc02e5e
      Solly Ross authored
      Previously, Utils.set_defaults was using `if(conf[keys[i]])`
      to check for the presence of a configuration key.  This would
      fail if `conf[keys[i]]` happened to be false.  Instead, we now
      use `if(keys[i] in conf)`, which simply checks for the presence
      of the key in the conf object.
      cfc02e5e
    • Solly Ross's avatar
      Fixed Typo Causing MouseUp to not Register · d02a99f0
      Solly Ross authored
      There was a typo in one of the instances of the _buttonMask field
      (it was written as _buttonMaks), causing MouseUp to never be sent.
      This has been rectified, and the unit tests for the mouse handler
      have been changed to check for explicitly sending mouseup and
      mousedown.
      
      Fixes #393
      d02a99f0
    • Solly Ross's avatar
      Fix Travis Sauce Tunnel Issues · f0e4548b
      Solly Ross authored
      Travis is failing because Sauce can't find the appropriate tunnelid.
      This should fix that but setting the tunnel id to be the Travis
      job number.
      f0e4548b
    • Solly's avatar
      Merge pull request #391 from mandre/fix_invalid_property · e4e9a9b9
      Solly authored
      Fix invalid updateState property on RFB preventing noVNC to load
      e4e9a9b9
    • Solly Ross's avatar
      Fixed assertion collision issues · 2c9623b5
      Solly Ross authored
      When run via karma, all the tests are loaded into the same page.
      This was causing a collision in the 'displayed' assertion dealing
      with using viewportLoc.
      
      The assertions are now in their own file, pulled in by tests that
      need them.  Additionally, several tests which only set fb_width
      and fb_height were correct to set viewportLoc as well.
      
      Closes #392
      
      Also-Authored-By: Martin André (github: mandre)
      2c9623b5
    • Solly Ross's avatar
      Added Sauce Auth Details for Travis CI · f8f95d60
      Solly Ross authored
      This will enable Travis CI to run tests on Sauce Labs
      (thanks to OpenSauce, their free program for Open
      Source Software)
      f8f95d60
  15. 17 Sep, 2014 2 commits
  16. 15 Sep, 2014 9 commits
    • Solly's avatar
      Merge pull request #368 from DirectXMan12/refactor/cleanup · 0ca7cf48
      Solly authored
      Cleanup and test all the things (plus ditching Crockford)!
      0ca7cf48
    • Solly Ross's avatar
      Add support for Travis CI and SauceLabs Testing · e6af0f60
      Solly Ross authored
      This adds support for Travis CI and SauceLabs
      testing.  Testing on SauceLabs in done via
      the Karma test runner.  Note that encrypted
      Sauce username and access key values need
      to be inserted into .travis.yml as global
      environment variables.  Additionally, the
      local test runner (which is still useful
      for debugging tests and code) was updated
      to reflect that the 'node_modules' folder
      now gets placed in the root directory.
      e6af0f60
    • Solly Ross's avatar
      Cleanup: UI code · bbbf42bb
      Solly Ross authored
      File: ui.js
      Tests Added: False
      
      Changes:
      - Fix JSHint errors
      - add some curly braces to improve clarity
      - move variable declarations to relevant locations instead of at the top
        of methods
      bbbf42bb
    • Solly Ross's avatar
      Cleanup: RFB Client · b1dee947
      Solly Ross authored
      File: rfb.js (also websock.js)
      Tests Added: True
      
      Changes:
      - De-Crockford-ified rfb.js
      - Added methods to websock.js to skip bytes in the receive queue
      b1dee947
    • Solly Ross's avatar
      Cleanup: Display Helper · 1e13775b
      Solly Ross authored
      File: display.js
      Tests Added: True (preliminary)
      
      Changes:
      - De-crockford-ified the file
      
      NOTE: the tests included for display.js cover basic functionality, but
      are by no means nearly as comprehensive as the ones presented for
      rfb.js.
      1e13775b
    • Solly Ross's avatar
      Cleanup: WebSocket Helper · 2cccf753
      Solly Ross authored
      File: websock.js
      Tests Added: True
      Changes:
      - Cleaned up JSHint errors
      - Converted to normal JS constructor pattern with "private" fields and
        methods now simply being prepended by underscores
      - Added a "bind" polyfill for use in PhantomJS 1.x in util.js
      - Added FakeWebSocket to fill in for actual WebSocket objects when
        testing
      - Made exception handler actually log exception name and message,
        to console, in addition to stack trace
      2cccf753
    • Solly Ross's avatar
      Cleanup: Webutil code · ee7d4c61
      Solly Ross authored
      File: webutil.js
      Tests Added: False
      Changes:
      - Fixed JSHint Errors (global "use strict", spaces)
      - added some newline characters when appropriate for readability
      - moved variable declarations to the places they were actually used
        for readability
      ee7d4c61
    • Solly Ross's avatar
      Cleanup: Keyboard code · 31f169e8
      Solly Ross authored
      File: keyboard.js
      Tests Added: False (already present)
      Changes:
      - Fixed JSHint Errors
      - Moved functions outside loops
      - Added proper include directives to tests
      31f169e8
    • Solly Ross's avatar
      Cleanup: Input code · d6e281ba
      Solly Ross authored
      File: input.js
      Tests Added: False (already present partially -- see below)
      Changes:
      - Fixed JSHint Errors
      - Converted to normal non-Crockford constructors
      
      NOTE: while there are tests for the actual key-detecting functionality,
            the tests do not cover the actual Keyboard and Mouse objects
            themselves.
      d6e281ba