konacha 2.5.1 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.md +4 -0
- data/README.md +6 -0
- data/Rakefile +17 -9
- data/app/assets/javascripts/konacha/iframe.js +0 -4
- data/konacha.gemspec +1 -1
- data/vendor/assets/javascripts/chai.js +251 -64
- data/vendor/assets/javascripts/mocha.js +103 -105
- data/vendor/assets/stylesheets/mocha.css +15 -0
- metadata +3 -9
    
        data/History.md
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -224,6 +224,12 @@ Sprocket's built in support for JavaScript template (`.jst`) files. Add a `spec/ | |
| 224 224 | 
             
            directory, place template files there (using any JS template language supported by Sprockets),
         | 
| 225 225 | 
             
            require them in your spec or spec_helper, and render them into the `<body>`.
         | 
| 226 226 |  | 
| 227 | 
            +
            Note that if you want to use EJS as in the following example, you need to add that gem to your Gemfile:
         | 
| 228 | 
            +
             | 
| 229 | 
            +
            ```ruby
         | 
| 230 | 
            +
            gem "ejs"
         | 
| 231 | 
            +
            ```
         | 
| 232 | 
            +
             | 
| 227 233 | 
             
            For example, in `spec/javascripts/templates/hello.jst.ejs`:
         | 
| 228 234 |  | 
| 229 235 | 
             
            ```html
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -6,15 +6,23 @@ require "rspec/core/rake_task" | |
| 6 6 | 
             
            RSpec::Core::RakeTask.new :spec
         | 
| 7 7 |  | 
| 8 8 | 
             
            desc 'Build and copy Mocha and Chai assets from submodules into vendor/assets'
         | 
| 9 | 
            -
            task :assets  | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
               | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
               | 
| 17 | 
            -
             | 
| 9 | 
            +
            task :assets => ['assets:build', 'assets:copy']
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            namespace :assets do
         | 
| 12 | 
            +
              task :build do
         | 
| 13 | 
            +
                sh 'git submodule update --init' unless File.exist?('mocha/Makefile') || File.exist?('chai/Makefile')
         | 
| 14 | 
            +
                sh 'cd mocha && npm install && make clean && make'
         | 
| 15 | 
            +
                sh 'cd chai && npm install && make clean && make'
         | 
| 16 | 
            +
              end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
              task :copy do
         | 
| 19 | 
            +
                sh 'git submodule update --init' unless File.exist?('mocha/Makefile') || File.exist?('chai/Makefile')
         | 
| 20 | 
            +
                mkdir_p 'vendor/assets/javascripts'
         | 
| 21 | 
            +
                mkdir_p 'vendor/assets/stylesheets'
         | 
| 22 | 
            +
                cp 'mocha/mocha.js',  'vendor/assets/javascripts/'
         | 
| 23 | 
            +
                cp 'mocha/mocha.css', 'vendor/assets/stylesheets/'
         | 
| 24 | 
            +
                cp 'chai/chai.js',    'vendor/assets/javascripts/'
         | 
| 25 | 
            +
              end
         | 
| 18 26 | 
             
            end
         | 
| 19 27 |  | 
| 20 28 | 
             
            task :default => :spec
         | 
| @@ -25,10 +25,6 @@ mocha.ui = function (name) { | |
| 25 25 |  | 
| 26 26 | 
             
            mocha.ui('bdd');
         | 
| 27 27 |  | 
| 28 | 
            -
            // Disable leak detection by default. It doesn't seem to be reliable
         | 
| 29 | 
            -
            // with Konacha's iframe setup.
         | 
| 30 | 
            -
            mocha.ignoreLeaks();
         | 
| 31 | 
            -
             | 
| 32 28 | 
             
            mocha.suite.beforeAll(function () {
         | 
| 33 29 | 
             
              var contexts = parent.document.getElementsByClassName("test-context");
         | 
| 34 30 | 
             
              for (var i = 0; i < contexts.length; ++i) {
         | 
    
        data/konacha.gemspec
    CHANGED
    
    | @@ -17,7 +17,7 @@ the asset pipeline and engines.} | |
| 17 17 | 
             
              gem.test_files    = `git ls-files -- {test,spec,features}/*`.split("\n")
         | 
| 18 18 | 
             
              gem.name          = "konacha"
         | 
| 19 19 | 
             
              gem.require_paths = ["lib"]
         | 
| 20 | 
            -
              gem.version       = "2. | 
| 20 | 
            +
              gem.version       = "2.6.0"
         | 
| 21 21 | 
             
              gem.license       = "MIT"
         | 
| 22 22 |  | 
| 23 23 | 
             
              gem.add_dependency "railties", ">= 3.1", "< 5"
         | 
| @@ -38,7 +38,7 @@ | |
| 38 38 |  | 
| 39 39 | 
             
              require.relative = function (parent) {
         | 
| 40 40 | 
             
                return function(p){
         | 
| 41 | 
            -
                  if ('.' != p | 
| 41 | 
            +
                  if ('.' != p.charAt(0)) return require(p);
         | 
| 42 42 |  | 
| 43 43 | 
             
                  var path = parent.split('/')
         | 
| 44 44 | 
             
                    , segs = p.split('/');
         | 
| @@ -63,7 +63,7 @@ | |
| 63 63 | 
             
              require.register("chai.js", function(module, exports, require){
         | 
| 64 64 | 
             
                /*!
         | 
| 65 65 | 
             
                 * chai
         | 
| 66 | 
            -
                 * Copyright(c) 2011- | 
| 66 | 
            +
                 * Copyright(c) 2011-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 67 67 | 
             
                 * MIT Licensed
         | 
| 68 68 | 
             
                 */
         | 
| 69 69 |  | 
| @@ -74,7 +74,7 @@ | |
| 74 74 | 
             
                 * Chai version
         | 
| 75 75 | 
             
                 */
         | 
| 76 76 |  | 
| 77 | 
            -
                exports.version = '1. | 
| 77 | 
            +
                exports.version = '1.5.0';
         | 
| 78 78 |  | 
| 79 79 | 
             
                /*!
         | 
| 80 80 | 
             
                 * Primary `Assertion` prototype
         | 
| @@ -147,7 +147,7 @@ | |
| 147 147 | 
             
                /*!
         | 
| 148 148 | 
             
                 * chai
         | 
| 149 149 | 
             
                 * http://chaijs.com
         | 
| 150 | 
            -
                 * Copyright(c) 2011- | 
| 150 | 
            +
                 * Copyright(c) 2011-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 151 151 | 
             
                 * MIT Licensed
         | 
| 152 152 | 
             
                 */
         | 
| 153 153 |  | 
| @@ -194,6 +194,20 @@ | |
| 194 194 |  | 
| 195 195 | 
             
                Assertion.includeStack = false;
         | 
| 196 196 |  | 
| 197 | 
            +
                /*!
         | 
| 198 | 
            +
                 * ### Assertion.showDiff
         | 
| 199 | 
            +
                 *
         | 
| 200 | 
            +
                 * User configurable property, influences whether or not
         | 
| 201 | 
            +
                 * the `showDiff` flag should be included in the thrown
         | 
| 202 | 
            +
                 * AssertionErrors. `false` will always be `false`; `true`
         | 
| 203 | 
            +
                 * will be true when the assertion has requested a diff
         | 
| 204 | 
            +
                 * be shown.
         | 
| 205 | 
            +
                 *
         | 
| 206 | 
            +
                 * @api public
         | 
| 207 | 
            +
                 */
         | 
| 208 | 
            +
             | 
| 209 | 
            +
                Assertion.showDiff = true;
         | 
| 210 | 
            +
             | 
| 197 211 | 
             
                Assertion.addProperty = function (name, fn) {
         | 
| 198 212 | 
             
                  util.addProperty(this.prototype, name, fn);
         | 
| 199 213 | 
             
                };
         | 
| @@ -231,6 +245,7 @@ | |
| 231 245 | 
             
                Assertion.prototype.assert = function (expr, msg, negateMsg, expected, _actual, showDiff) {
         | 
| 232 246 | 
             
                  var ok = util.test(this, arguments);
         | 
| 233 247 | 
             
                  if (true !== showDiff) showDiff = false;
         | 
| 248 | 
            +
                  if (true !== Assertion.showDiff) showDiff = false;
         | 
| 234 249 |  | 
| 235 250 | 
             
                  if (!ok) {
         | 
| 236 251 | 
             
                    var msg = util.getMessage(this, arguments)
         | 
| @@ -268,7 +283,7 @@ | |
| 268 283 | 
             
                /*!
         | 
| 269 284 | 
             
                 * chai
         | 
| 270 285 | 
             
                 * http://chaijs.com
         | 
| 271 | 
            -
                 * Copyright(c) 2011- | 
| 286 | 
            +
                 * Copyright(c) 2011-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 272 287 | 
             
                 * MIT Licensed
         | 
| 273 288 | 
             
                 */
         | 
| 274 289 |  | 
| @@ -352,7 +367,7 @@ | |
| 352 367 | 
             
                   *
         | 
| 353 368 | 
             
                   * The `a` and `an` assertions are aliases that can be
         | 
| 354 369 | 
             
                   * used either as language chains or to assert a value's
         | 
| 355 | 
            -
                   * type | 
| 370 | 
            +
                   * type.
         | 
| 356 371 | 
             
                   *
         | 
| 357 372 | 
             
                   *     // typeof
         | 
| 358 373 | 
             
                   *     expect('test').to.be.a('string');
         | 
| @@ -370,15 +385,14 @@ | |
| 370 385 | 
             
                   * @api public
         | 
| 371 386 | 
             
                   */
         | 
| 372 387 |  | 
| 373 | 
            -
                  function an(type, msg) {
         | 
| 388 | 
            +
                  function an (type, msg) {
         | 
| 374 389 | 
             
                    if (msg) flag(this, 'message', msg);
         | 
| 390 | 
            +
                    type = type.toLowerCase();
         | 
| 375 391 | 
             
                    var obj = flag(this, 'object')
         | 
| 376 | 
            -
                      ,  | 
| 377 | 
            -
                      , klass = klassStart + type.slice(1)
         | 
| 378 | 
            -
                      , article = ~[ 'A', 'E', 'I', 'O', 'U' ].indexOf(klassStart) ? 'an ' : 'a ';
         | 
| 392 | 
            +
                      , article = ~[ 'a', 'e', 'i', 'o', 'u' ].indexOf(type.charAt(0)) ? 'an ' : 'a ';
         | 
| 379 393 |  | 
| 380 394 | 
             
                    this.assert(
         | 
| 381 | 
            -
                         | 
| 395 | 
            +
                        type === _.type(obj)
         | 
| 382 396 | 
             
                      , 'expected #{this} to be ' + article + type
         | 
| 383 397 | 
             
                      , 'expected #{this} not to be ' + article + type
         | 
| 384 398 | 
             
                    );
         | 
| @@ -663,12 +677,13 @@ | |
| 663 677 | 
             
                   *     expect([ 1, 2, 3 ]).to.eql([ 1, 2, 3 ]);
         | 
| 664 678 | 
             
                   *
         | 
| 665 679 | 
             
                   * @name eql
         | 
| 680 | 
            +
                   * @alias eqls
         | 
| 666 681 | 
             
                   * @param {Mixed} value
         | 
| 667 682 | 
             
                   * @param {String} message _optional_
         | 
| 668 683 | 
             
                   * @api public
         | 
| 669 684 | 
             
                   */
         | 
| 670 685 |  | 
| 671 | 
            -
                   | 
| 686 | 
            +
                  function assertEql(obj, msg) {
         | 
| 672 687 | 
             
                    if (msg) flag(this, 'message', msg);
         | 
| 673 688 | 
             
                    this.assert(
         | 
| 674 689 | 
             
                        _.eql(obj, flag(this, 'object'))
         | 
| @@ -678,7 +693,10 @@ | |
| 678 693 | 
             
                      , this._obj
         | 
| 679 694 | 
             
                      , true
         | 
| 680 695 | 
             
                    );
         | 
| 681 | 
            -
                  } | 
| 696 | 
            +
                  }
         | 
| 697 | 
            +
             | 
| 698 | 
            +
                  Assertion.addMethod('eql', assertEql);
         | 
| 699 | 
            +
                  Assertion.addMethod('eqls', assertEql);
         | 
| 682 700 |  | 
| 683 701 | 
             
                  /**
         | 
| 684 702 | 
             
                   * ### .above(value)
         | 
| @@ -760,7 +778,7 @@ | |
| 760 778 | 
             
                      this.assert(
         | 
| 761 779 | 
             
                          len >= n
         | 
| 762 780 | 
             
                        , 'expected #{this} to have a length at least #{exp} but got #{act}'
         | 
| 763 | 
            -
                        , 'expected #{this} to  | 
| 781 | 
            +
                        , 'expected #{this} to have a length below #{exp}'
         | 
| 764 782 | 
             
                        , n
         | 
| 765 783 | 
             
                        , len
         | 
| 766 784 | 
             
                      );
         | 
| @@ -856,7 +874,7 @@ | |
| 856 874 | 
             
                      this.assert(
         | 
| 857 875 | 
             
                          len <= n
         | 
| 858 876 | 
             
                        , 'expected #{this} to have a length at most #{exp} but got #{act}'
         | 
| 859 | 
            -
                        , 'expected #{this} to  | 
| 877 | 
            +
                        , 'expected #{this} to have a length above #{exp}'
         | 
| 860 878 | 
             
                        , n
         | 
| 861 879 | 
             
                        , len
         | 
| 862 880 | 
             
                      );
         | 
| @@ -1301,35 +1319,50 @@ | |
| 1301 1319 | 
             
                      if (desiredError) {
         | 
| 1302 1320 | 
             
                        this.assert(
         | 
| 1303 1321 | 
             
                            err === desiredError
         | 
| 1304 | 
            -
                          , 'expected #{this} to throw  | 
| 1305 | 
            -
                          , 'expected #{this} to not throw ' | 
| 1322 | 
            +
                          , 'expected #{this} to throw #{exp} but #{act} was thrown'
         | 
| 1323 | 
            +
                          , 'expected #{this} to not throw #{exp}'
         | 
| 1324 | 
            +
                          , desiredError
         | 
| 1325 | 
            +
                          , err
         | 
| 1306 1326 | 
             
                        );
         | 
| 1327 | 
            +
             | 
| 1307 1328 | 
             
                        return this;
         | 
| 1308 1329 | 
             
                      }
         | 
| 1309 1330 | 
             
                      // next, check constructor
         | 
| 1310 1331 | 
             
                      if (constructor) {
         | 
| 1311 1332 | 
             
                        this.assert(
         | 
| 1312 1333 | 
             
                            err instanceof constructor
         | 
| 1313 | 
            -
                          , 'expected #{this} to throw  | 
| 1314 | 
            -
                          , 'expected #{this} to not throw  | 
| 1334 | 
            +
                          , 'expected #{this} to throw #{exp} but #{act} was thrown'
         | 
| 1335 | 
            +
                          , 'expected #{this} to not throw #{exp} but #{act} was thrown'
         | 
| 1336 | 
            +
                          , name
         | 
| 1337 | 
            +
                          , err
         | 
| 1338 | 
            +
                        );
         | 
| 1339 | 
            +
             | 
| 1315 1340 | 
             
                        if (!errMsg) return this;
         | 
| 1316 1341 | 
             
                      }
         | 
| 1317 1342 | 
             
                      // next, check message
         | 
| 1318 | 
            -
                       | 
| 1343 | 
            +
                      var message = 'object' === _.type(err) && "message" in err
         | 
| 1344 | 
            +
                        ? err.message
         | 
| 1345 | 
            +
                        : '' + err;
         | 
| 1346 | 
            +
             | 
| 1347 | 
            +
                      if ((message != null) && errMsg && errMsg instanceof RegExp) {
         | 
| 1319 1348 | 
             
                        this.assert(
         | 
| 1320 | 
            -
                            errMsg.exec( | 
| 1321 | 
            -
                          , 'expected #{this} to throw error matching  | 
| 1322 | 
            -
                          , 'expected #{this} to throw error not matching ' | 
| 1349 | 
            +
                            errMsg.exec(message)
         | 
| 1350 | 
            +
                          , 'expected #{this} to throw error matching #{exp} but got #{act}'
         | 
| 1351 | 
            +
                          , 'expected #{this} to throw error not matching #{exp}'
         | 
| 1352 | 
            +
                          , errMsg
         | 
| 1353 | 
            +
                          , message
         | 
| 1323 1354 | 
             
                        );
         | 
| 1355 | 
            +
             | 
| 1324 1356 | 
             
                        return this;
         | 
| 1325 | 
            -
                      } else if ( | 
| 1357 | 
            +
                      } else if ((message != null) && errMsg && 'string' === typeof errMsg) {
         | 
| 1326 1358 | 
             
                        this.assert(
         | 
| 1327 | 
            -
                            ~ | 
| 1359 | 
            +
                            ~message.indexOf(errMsg)
         | 
| 1328 1360 | 
             
                          , 'expected #{this} to throw error including #{exp} but got #{act}'
         | 
| 1329 1361 | 
             
                          , 'expected #{this} to throw error not including #{act}'
         | 
| 1330 1362 | 
             
                          , errMsg
         | 
| 1331 | 
            -
                          ,  | 
| 1363 | 
            +
                          , message
         | 
| 1332 1364 | 
             
                        );
         | 
| 1365 | 
            +
             | 
| 1333 1366 | 
             
                        return this;
         | 
| 1334 1367 | 
             
                      } else {
         | 
| 1335 1368 | 
             
                        thrown = true;
         | 
| @@ -1337,16 +1370,23 @@ | |
| 1337 1370 | 
             
                      }
         | 
| 1338 1371 | 
             
                    }
         | 
| 1339 1372 |  | 
| 1340 | 
            -
                    var expectedThrown = name ? name : desiredError ? _.inspect(desiredError) : 'an error';
         | 
| 1341 1373 | 
             
                    var actuallyGot = ''
         | 
| 1374 | 
            +
                      , expectedThrown = name !== null
         | 
| 1375 | 
            +
                        ? name
         | 
| 1376 | 
            +
                        : desiredError
         | 
| 1377 | 
            +
                          ? '#{exp}' //_.inspect(desiredError)
         | 
| 1378 | 
            +
                          : 'an error';
         | 
| 1379 | 
            +
             | 
| 1342 1380 | 
             
                    if (thrown) {
         | 
| 1343 | 
            -
                      actuallyGot = ' but  | 
| 1381 | 
            +
                      actuallyGot = ' but #{act} was thrown'
         | 
| 1344 1382 | 
             
                    }
         | 
| 1345 1383 |  | 
| 1346 1384 | 
             
                    this.assert(
         | 
| 1347 1385 | 
             
                        thrown === true
         | 
| 1348 1386 | 
             
                      , 'expected #{this} to throw ' + expectedThrown + actuallyGot
         | 
| 1349 1387 | 
             
                      , 'expected #{this} to not throw ' + expectedThrown + actuallyGot
         | 
| 1388 | 
            +
                      , desiredError
         | 
| 1389 | 
            +
                      , thrownError
         | 
| 1350 1390 | 
             
                    );
         | 
| 1351 1391 | 
             
                  };
         | 
| 1352 1392 |  | 
| @@ -1379,7 +1419,7 @@ | |
| 1379 1419 | 
             
                    if (msg) flag(this, 'message', msg);
         | 
| 1380 1420 | 
             
                    var obj = flag(this, 'object')
         | 
| 1381 1421 | 
             
                      , itself = flag(this, 'itself')
         | 
| 1382 | 
            -
                      , context = ('function' ===  | 
| 1422 | 
            +
                      , context = ('function' === _.type(obj) && !itself)
         | 
| 1383 1423 | 
             
                        ? obj.prototype[method]
         | 
| 1384 1424 | 
             
                        : obj[method];
         | 
| 1385 1425 |  | 
| @@ -1428,8 +1468,8 @@ | |
| 1428 1468 | 
             
                    var obj = flag(this, 'object');
         | 
| 1429 1469 | 
             
                    this.assert(
         | 
| 1430 1470 | 
             
                        matcher(obj)
         | 
| 1431 | 
            -
                      , 'expected #{this} to satisfy ' + _. | 
| 1432 | 
            -
                      , 'expected #{this} to not satisfy' + _. | 
| 1471 | 
            +
                      , 'expected #{this} to satisfy ' + _.objDisplay(matcher)
         | 
| 1472 | 
            +
                      , 'expected #{this} to not satisfy' + _.objDisplay(matcher)
         | 
| 1433 1473 | 
             
                      , this.negate ? false : true
         | 
| 1434 1474 | 
             
                      , matcher(obj)
         | 
| 1435 1475 | 
             
                    );
         | 
| @@ -1466,7 +1506,7 @@ | |
| 1466 1506 | 
             
              require.register("chai/error.js", function(module, exports, require){
         | 
| 1467 1507 | 
             
                /*!
         | 
| 1468 1508 | 
             
                 * chai
         | 
| 1469 | 
            -
                 * Copyright(c) 2011- | 
| 1509 | 
            +
                 * Copyright(c) 2011-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 1470 1510 | 
             
                 * MIT Licensed
         | 
| 1471 1511 | 
             
                 */
         | 
| 1472 1512 |  | 
| @@ -1530,7 +1570,7 @@ | |
| 1530 1570 | 
             
              require.register("chai/interface/assert.js", function(module, exports, require){
         | 
| 1531 1571 | 
             
                /*!
         | 
| 1532 1572 | 
             
                 * chai
         | 
| 1533 | 
            -
                 * Copyright(c) 2011- | 
| 1573 | 
            +
                 * Copyright(c) 2011-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 1534 1574 | 
             
                 * MIT Licensed
         | 
| 1535 1575 | 
             
                 */
         | 
| 1536 1576 |  | 
| @@ -2520,7 +2560,7 @@ | |
| 2520 2560 | 
             
              require.register("chai/interface/expect.js", function(module, exports, require){
         | 
| 2521 2561 | 
             
                /*!
         | 
| 2522 2562 | 
             
                 * chai
         | 
| 2523 | 
            -
                 * Copyright(c) 2011- | 
| 2563 | 
            +
                 * Copyright(c) 2011-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 2524 2564 | 
             
                 * MIT Licensed
         | 
| 2525 2565 | 
             
                 */
         | 
| 2526 2566 |  | 
| @@ -2536,7 +2576,7 @@ | |
| 2536 2576 | 
             
              require.register("chai/interface/should.js", function(module, exports, require){
         | 
| 2537 2577 | 
             
                /*!
         | 
| 2538 2578 | 
             
                 * chai
         | 
| 2539 | 
            -
                 * Copyright(c) 2011- | 
| 2579 | 
            +
                 * Copyright(c) 2011-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 2540 2580 | 
             
                 * MIT Licensed
         | 
| 2541 2581 | 
             
                 */
         | 
| 2542 2582 |  | 
| @@ -2616,7 +2656,7 @@ | |
| 2616 2656 | 
             
              require.register("chai/utils/addChainableMethod.js", function(module, exports, require){
         | 
| 2617 2657 | 
             
                /*!
         | 
| 2618 2658 | 
             
                 * Chai - addChainingMethod utility
         | 
| 2619 | 
            -
                 * Copyright(c) 2012 Jake Luer <jake@alogicalparadox.com>
         | 
| 2659 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 2620 2660 | 
             
                 * MIT Licensed
         | 
| 2621 2661 | 
             
                 */
         | 
| 2622 2662 |  | 
| @@ -2626,6 +2666,18 @@ | |
| 2626 2666 |  | 
| 2627 2667 | 
             
                var transferFlags = require('./transferFlags');
         | 
| 2628 2668 |  | 
| 2669 | 
            +
                /*!
         | 
| 2670 | 
            +
                 * Module variables
         | 
| 2671 | 
            +
                 */
         | 
| 2672 | 
            +
             | 
| 2673 | 
            +
                // Check whether `__proto__` is supported
         | 
| 2674 | 
            +
                var hasProtoSupport = '__proto__' in Object;
         | 
| 2675 | 
            +
             | 
| 2676 | 
            +
                // Without `__proto__` support, this module will need to add properties to a function.
         | 
| 2677 | 
            +
                // However, some Function.prototype methods cannot be overwritten,
         | 
| 2678 | 
            +
                // and there seems no easy cross-platform way to detect them (@see chaijs/chai/issues/69).
         | 
| 2679 | 
            +
                var excludeNames = /^(?:length|name|arguments|caller)$/;
         | 
| 2680 | 
            +
             | 
| 2629 2681 | 
             
                /**
         | 
| 2630 2682 | 
             
                 * ### addChainableMethod (ctx, name, method, chainingBehavior)
         | 
| 2631 2683 | 
             
                 *
         | 
| @@ -2667,16 +2719,20 @@ | |
| 2667 2719 | 
             
                          return result === undefined ? this : result;
         | 
| 2668 2720 | 
             
                        };
         | 
| 2669 2721 |  | 
| 2670 | 
            -
                        //  | 
| 2671 | 
            -
                         | 
| 2672 | 
            -
             | 
| 2673 | 
            -
             | 
| 2674 | 
            -
             | 
| 2675 | 
            -
             | 
| 2676 | 
            -
                           | 
| 2677 | 
            -
                           | 
| 2678 | 
            -
             | 
| 2679 | 
            -
             | 
| 2722 | 
            +
                        // Use `__proto__` if available
         | 
| 2723 | 
            +
                        if (hasProtoSupport) {
         | 
| 2724 | 
            +
                          assert.__proto__ = this;
         | 
| 2725 | 
            +
                        }
         | 
| 2726 | 
            +
                        // Otherwise, redefine all properties (slow!)
         | 
| 2727 | 
            +
                        else {
         | 
| 2728 | 
            +
                          var asserterNames = Object.getOwnPropertyNames(ctx);
         | 
| 2729 | 
            +
                          asserterNames.forEach(function (asserterName) {
         | 
| 2730 | 
            +
                            if (!excludeNames.test(asserterName)) {
         | 
| 2731 | 
            +
                              var pd = Object.getOwnPropertyDescriptor(ctx, asserterName);
         | 
| 2732 | 
            +
                              Object.defineProperty(assert, asserterName, pd);
         | 
| 2733 | 
            +
                            }
         | 
| 2734 | 
            +
                          });
         | 
| 2735 | 
            +
                        }
         | 
| 2680 2736 |  | 
| 2681 2737 | 
             
                        transferFlags(this, assert);
         | 
| 2682 2738 | 
             
                        return assert;
         | 
| @@ -2690,7 +2746,7 @@ | |
| 2690 2746 | 
             
              require.register("chai/utils/addMethod.js", function(module, exports, require){
         | 
| 2691 2747 | 
             
                /*!
         | 
| 2692 2748 | 
             
                 * Chai - addMethod utility
         | 
| 2693 | 
            -
                 * Copyright(c) 2012 Jake Luer <jake@alogicalparadox.com>
         | 
| 2749 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 2694 2750 | 
             
                 * MIT Licensed
         | 
| 2695 2751 | 
             
                 */
         | 
| 2696 2752 |  | 
| @@ -2731,7 +2787,7 @@ | |
| 2731 2787 | 
             
              require.register("chai/utils/addProperty.js", function(module, exports, require){
         | 
| 2732 2788 | 
             
                /*!
         | 
| 2733 2789 | 
             
                 * Chai - addProperty utility
         | 
| 2734 | 
            -
                 * Copyright(c) 2012 Jake Luer <jake@alogicalparadox.com>
         | 
| 2790 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 2735 2791 | 
             
                 * MIT Licensed
         | 
| 2736 2792 | 
             
                 */
         | 
| 2737 2793 |  | 
| @@ -2778,6 +2834,8 @@ | |
| 2778 2834 |  | 
| 2779 2835 | 
             
                module.exports = _deepEqual;
         | 
| 2780 2836 |  | 
| 2837 | 
            +
                var getEnumerableProperties = require('./getEnumerableProperties');
         | 
| 2838 | 
            +
             | 
| 2781 2839 | 
             
                // for the browser
         | 
| 2782 2840 | 
             
                var Buffer;
         | 
| 2783 2841 | 
             
                try {
         | 
| @@ -2862,8 +2920,8 @@ | |
| 2862 2920 | 
             
                    return _deepEqual(a, b, memos);
         | 
| 2863 2921 | 
             
                  }
         | 
| 2864 2922 | 
             
                  try {
         | 
| 2865 | 
            -
                    var ka =  | 
| 2866 | 
            -
                        kb =  | 
| 2923 | 
            +
                    var ka = getEnumerableProperties(a),
         | 
| 2924 | 
            +
                        kb = getEnumerableProperties(b),
         | 
| 2867 2925 | 
             
                        key;
         | 
| 2868 2926 | 
             
                  } catch (e) {//happens when one is a string literal and the other isn't
         | 
| 2869 2927 | 
             
                    return false;
         | 
| @@ -2901,7 +2959,7 @@ | |
| 2901 2959 | 
             
              require.register("chai/utils/flag.js", function(module, exports, require){
         | 
| 2902 2960 | 
             
                /*!
         | 
| 2903 2961 | 
             
                 * Chai - flag utility
         | 
| 2904 | 
            -
                 * Copyright(c) 2012 Jake Luer <jake@alogicalparadox.com>
         | 
| 2962 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 2905 2963 | 
             
                 * MIT Licensed
         | 
| 2906 2964 | 
             
                 */
         | 
| 2907 2965 |  | 
| @@ -2937,7 +2995,7 @@ | |
| 2937 2995 | 
             
              require.register("chai/utils/getActual.js", function(module, exports, require){
         | 
| 2938 2996 | 
             
                /*!
         | 
| 2939 2997 | 
             
                 * Chai - getActual utility
         | 
| 2940 | 
            -
                 * Copyright(c) 2012 Jake Luer <jake@alogicalparadox.com>
         | 
| 2998 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 2941 2999 | 
             
                 * MIT Licensed
         | 
| 2942 3000 | 
             
                 */
         | 
| 2943 3001 |  | 
| @@ -2957,10 +3015,39 @@ | |
| 2957 3015 |  | 
| 2958 3016 | 
             
              }); // module: chai/utils/getActual.js
         | 
| 2959 3017 |  | 
| 3018 | 
            +
              require.register("chai/utils/getEnumerableProperties.js", function(module, exports, require){
         | 
| 3019 | 
            +
                /*!
         | 
| 3020 | 
            +
                 * Chai - getEnumerableProperties utility
         | 
| 3021 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 3022 | 
            +
                 * MIT Licensed
         | 
| 3023 | 
            +
                 */
         | 
| 3024 | 
            +
             | 
| 3025 | 
            +
                /**
         | 
| 3026 | 
            +
                 * ### .getEnumerableProperties(object)
         | 
| 3027 | 
            +
                 *
         | 
| 3028 | 
            +
                 * This allows the retrieval of enumerable property names of an object,
         | 
| 3029 | 
            +
                 * inherited or not.
         | 
| 3030 | 
            +
                 *
         | 
| 3031 | 
            +
                 * @param {Object} object
         | 
| 3032 | 
            +
                 * @returns {Array}
         | 
| 3033 | 
            +
                 * @name getEnumerableProperties
         | 
| 3034 | 
            +
                 * @api public
         | 
| 3035 | 
            +
                 */
         | 
| 3036 | 
            +
             | 
| 3037 | 
            +
                module.exports = function getEnumerableProperties(object) {
         | 
| 3038 | 
            +
                  var result = [];
         | 
| 3039 | 
            +
                  for (var name in object) {
         | 
| 3040 | 
            +
                    result.push(name);
         | 
| 3041 | 
            +
                  }
         | 
| 3042 | 
            +
                  return result;
         | 
| 3043 | 
            +
                };
         | 
| 3044 | 
            +
             | 
| 3045 | 
            +
              }); // module: chai/utils/getEnumerableProperties.js
         | 
| 3046 | 
            +
             | 
| 2960 3047 | 
             
              require.register("chai/utils/getMessage.js", function(module, exports, require){
         | 
| 2961 3048 | 
             
                /*!
         | 
| 2962 3049 | 
             
                 * Chai - message composition utility
         | 
| 2963 | 
            -
                 * Copyright(c) 2012 Jake Luer <jake@alogicalparadox.com>
         | 
| 3050 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 2964 3051 | 
             
                 * MIT Licensed
         | 
| 2965 3052 | 
             
                 */
         | 
| 2966 3053 |  | 
| @@ -3013,7 +3100,7 @@ | |
| 3013 3100 | 
             
              require.register("chai/utils/getName.js", function(module, exports, require){
         | 
| 3014 3101 | 
             
                /*!
         | 
| 3015 3102 | 
             
                 * Chai - getName utility
         | 
| 3016 | 
            -
                 * Copyright(c) 2012 Jake Luer <jake@alogicalparadox.com>
         | 
| 3103 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 3017 3104 | 
             
                 * MIT Licensed
         | 
| 3018 3105 | 
             
                 */
         | 
| 3019 3106 |  | 
| @@ -3037,7 +3124,7 @@ | |
| 3037 3124 | 
             
              require.register("chai/utils/getPathValue.js", function(module, exports, require){
         | 
| 3038 3125 | 
             
                /*!
         | 
| 3039 3126 | 
             
                 * Chai - getPathValue utility
         | 
| 3040 | 
            -
                 * Copyright(c) 2012 Jake Luer <jake@alogicalparadox.com>
         | 
| 3127 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 3041 3128 | 
             
                 * @see https://github.com/logicalparadox/filtr
         | 
| 3042 3129 | 
             
                 * MIT Licensed
         | 
| 3043 3130 | 
             
                 */
         | 
| @@ -3140,6 +3227,45 @@ | |
| 3140 3227 |  | 
| 3141 3228 | 
             
              }); // module: chai/utils/getPathValue.js
         | 
| 3142 3229 |  | 
| 3230 | 
            +
              require.register("chai/utils/getProperties.js", function(module, exports, require){
         | 
| 3231 | 
            +
                /*!
         | 
| 3232 | 
            +
                 * Chai - getProperties utility
         | 
| 3233 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 3234 | 
            +
                 * MIT Licensed
         | 
| 3235 | 
            +
                 */
         | 
| 3236 | 
            +
             | 
| 3237 | 
            +
                /**
         | 
| 3238 | 
            +
                 * ### .getProperties(object)
         | 
| 3239 | 
            +
                 *
         | 
| 3240 | 
            +
                 * This allows the retrieval of property names of an object, enumerable or not,
         | 
| 3241 | 
            +
                 * inherited or not.
         | 
| 3242 | 
            +
                 *
         | 
| 3243 | 
            +
                 * @param {Object} object
         | 
| 3244 | 
            +
                 * @returns {Array}
         | 
| 3245 | 
            +
                 * @name getProperties
         | 
| 3246 | 
            +
                 * @api public
         | 
| 3247 | 
            +
                 */
         | 
| 3248 | 
            +
             | 
| 3249 | 
            +
                module.exports = function getProperties(object) {
         | 
| 3250 | 
            +
                  var result = Object.getOwnPropertyNames(subject);
         | 
| 3251 | 
            +
             | 
| 3252 | 
            +
                  function addProperty(property) {
         | 
| 3253 | 
            +
                    if (result.indexOf(property) === -1) {
         | 
| 3254 | 
            +
                      result.push(property);
         | 
| 3255 | 
            +
                    }
         | 
| 3256 | 
            +
                  }
         | 
| 3257 | 
            +
             | 
| 3258 | 
            +
                  var proto = Object.getPrototypeOf(subject);
         | 
| 3259 | 
            +
                  while (proto !== null) {
         | 
| 3260 | 
            +
                    Object.getOwnPropertyNames(proto).forEach(addProperty);
         | 
| 3261 | 
            +
                    proto = Object.getPrototypeOf(proto);
         | 
| 3262 | 
            +
                  }
         | 
| 3263 | 
            +
             | 
| 3264 | 
            +
                  return result;
         | 
| 3265 | 
            +
                };
         | 
| 3266 | 
            +
             | 
| 3267 | 
            +
              }); // module: chai/utils/getProperties.js
         | 
| 3268 | 
            +
             | 
| 3143 3269 | 
             
              require.register("chai/utils/index.js", function(module, exports, require){
         | 
| 3144 3270 | 
             
                /*!
         | 
| 3145 3271 | 
             
                 * chai
         | 
| @@ -3159,6 +3285,12 @@ | |
| 3159 3285 |  | 
| 3160 3286 | 
             
                exports.test = require('./test');
         | 
| 3161 3287 |  | 
| 3288 | 
            +
                /*!
         | 
| 3289 | 
            +
                 * type utility
         | 
| 3290 | 
            +
                 */
         | 
| 3291 | 
            +
             | 
| 3292 | 
            +
                exports.type = require('./type');
         | 
| 3293 | 
            +
             | 
| 3162 3294 | 
             
                /*!
         | 
| 3163 3295 | 
             
                 * message utility
         | 
| 3164 3296 | 
             
                 */
         | 
| @@ -3251,6 +3383,8 @@ | |
| 3251 3383 | 
             
                // https://github.com/joyent/node/blob/f8c335d0caf47f16d31413f89aa28eda3878e3aa/lib/util.js
         | 
| 3252 3384 |  | 
| 3253 3385 | 
             
                var getName = require('./getName');
         | 
| 3386 | 
            +
                var getProperties = require('./getProperties');
         | 
| 3387 | 
            +
                var getEnumerableProperties = require('./getEnumerableProperties');
         | 
| 3254 3388 |  | 
| 3255 3389 | 
             
                module.exports = inspect;
         | 
| 3256 3390 |  | 
| @@ -3291,7 +3425,7 @@ | |
| 3291 3425 | 
             
                    return html;
         | 
| 3292 3426 | 
             
                  }
         | 
| 3293 3427 | 
             
                };
         | 
| 3294 | 
            -
             | 
| 3428 | 
            +
             | 
| 3295 3429 | 
             
                // Returns true if object is a DOM element.
         | 
| 3296 3430 | 
             
                var isDOMElement = function (object) {
         | 
| 3297 3431 | 
             
                  if (typeof HTMLElement === 'object') {
         | 
| @@ -3327,8 +3461,8 @@ | |
| 3327 3461 | 
             
                  }
         | 
| 3328 3462 |  | 
| 3329 3463 | 
             
                  // Look up the keys of the object.
         | 
| 3330 | 
            -
                  var visibleKeys =  | 
| 3331 | 
            -
                  var keys = ctx.showHidden ?  | 
| 3464 | 
            +
                  var visibleKeys = getEnumerableProperties(value);
         | 
| 3465 | 
            +
                  var keys = ctx.showHidden ? getProperties(value) : visibleKeys;
         | 
| 3332 3466 |  | 
| 3333 3467 | 
             
                  // Some type of object without properties can be shortcutted.
         | 
| 3334 3468 | 
             
                  // In IE, errors have a single `stack` property, or if they are vanilla `Error`,
         | 
| @@ -3567,7 +3701,7 @@ | |
| 3567 3701 | 
             
              require.register("chai/utils/objDisplay.js", function(module, exports, require){
         | 
| 3568 3702 | 
             
                /*!
         | 
| 3569 3703 | 
             
                 * Chai - flag utility
         | 
| 3570 | 
            -
                 * Copyright(c) 2012 Jake Luer <jake@alogicalparadox.com>
         | 
| 3704 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 3571 3705 | 
             
                 * MIT Licensed
         | 
| 3572 3706 | 
             
                 */
         | 
| 3573 3707 |  | 
| @@ -3594,7 +3728,11 @@ | |
| 3594 3728 | 
             
                    , type = Object.prototype.toString.call(obj);
         | 
| 3595 3729 |  | 
| 3596 3730 | 
             
                  if (str.length >= 40) {
         | 
| 3597 | 
            -
                    if (type === '[object  | 
| 3731 | 
            +
                    if (type === '[object Function]') {
         | 
| 3732 | 
            +
                      return !obj.name || obj.name === ''
         | 
| 3733 | 
            +
                        ? '[Function]'
         | 
| 3734 | 
            +
                        : '[Function: ' + obj.name + ']';
         | 
| 3735 | 
            +
                    } else if (type === '[object Array]') {
         | 
| 3598 3736 | 
             
                      return '[ Array(' + obj.length + ') ]';
         | 
| 3599 3737 | 
             
                    } else if (type === '[object Object]') {
         | 
| 3600 3738 | 
             
                      var keys = Object.keys(obj)
         | 
| @@ -3615,7 +3753,7 @@ | |
| 3615 3753 | 
             
              require.register("chai/utils/overwriteMethod.js", function(module, exports, require){
         | 
| 3616 3754 | 
             
                /*!
         | 
| 3617 3755 | 
             
                 * Chai - overwriteMethod utility
         | 
| 3618 | 
            -
                 * Copyright(c) 2012 Jake Luer <jake@alogicalparadox.com>
         | 
| 3756 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 3619 3757 | 
             
                 * MIT Licensed
         | 
| 3620 3758 | 
             
                 */
         | 
| 3621 3759 |  | 
| @@ -3670,7 +3808,7 @@ | |
| 3670 3808 | 
             
              require.register("chai/utils/overwriteProperty.js", function(module, exports, require){
         | 
| 3671 3809 | 
             
                /*!
         | 
| 3672 3810 | 
             
                 * Chai - overwriteProperty utility
         | 
| 3673 | 
            -
                 * Copyright(c) 2012 Jake Luer <jake@alogicalparadox.com>
         | 
| 3811 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 3674 3812 | 
             
                 * MIT Licensed
         | 
| 3675 3813 | 
             
                 */
         | 
| 3676 3814 |  | 
| @@ -3728,7 +3866,7 @@ | |
| 3728 3866 | 
             
              require.register("chai/utils/test.js", function(module, exports, require){
         | 
| 3729 3867 | 
             
                /*!
         | 
| 3730 3868 | 
             
                 * Chai - test utility
         | 
| 3731 | 
            -
                 * Copyright(c) 2012 Jake Luer <jake@alogicalparadox.com>
         | 
| 3869 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 3732 3870 | 
             
                 * MIT Licensed
         | 
| 3733 3871 | 
             
                 */
         | 
| 3734 3872 |  | 
| @@ -3758,7 +3896,7 @@ | |
| 3758 3896 | 
             
              require.register("chai/utils/transferFlags.js", function(module, exports, require){
         | 
| 3759 3897 | 
             
                /*!
         | 
| 3760 3898 | 
             
                 * Chai - transferFlags utility
         | 
| 3761 | 
            -
                 * Copyright(c) 2012 Jake Luer <jake@alogicalparadox.com>
         | 
| 3899 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 3762 3900 | 
             
                 * MIT Licensed
         | 
| 3763 3901 | 
             
                 */
         | 
| 3764 3902 |  | 
| @@ -3803,6 +3941,55 @@ | |
| 3803 3941 |  | 
| 3804 3942 | 
             
              }); // module: chai/utils/transferFlags.js
         | 
| 3805 3943 |  | 
| 3944 | 
            +
              require.register("chai/utils/type.js", function(module, exports, require){
         | 
| 3945 | 
            +
                /*!
         | 
| 3946 | 
            +
                 * Chai - type utility
         | 
| 3947 | 
            +
                 * Copyright(c) 2012-2013 Jake Luer <jake@alogicalparadox.com>
         | 
| 3948 | 
            +
                 * MIT Licensed
         | 
| 3949 | 
            +
                 */
         | 
| 3950 | 
            +
             | 
| 3951 | 
            +
                /*!
         | 
| 3952 | 
            +
                 * Detectable javascript natives
         | 
| 3953 | 
            +
                 */
         | 
| 3954 | 
            +
             | 
| 3955 | 
            +
                var natives = {
         | 
| 3956 | 
            +
                    '[object Arguments]': 'arguments'
         | 
| 3957 | 
            +
                  , '[object Array]': 'array'
         | 
| 3958 | 
            +
                  , '[object Date]': 'date'
         | 
| 3959 | 
            +
                  , '[object Function]': 'function'
         | 
| 3960 | 
            +
                  , '[object Number]': 'number'
         | 
| 3961 | 
            +
                  , '[object RegExp]': 'regexp'
         | 
| 3962 | 
            +
                  , '[object String]': 'string'
         | 
| 3963 | 
            +
                };
         | 
| 3964 | 
            +
             | 
| 3965 | 
            +
                /**
         | 
| 3966 | 
            +
                 * ### type(object)
         | 
| 3967 | 
            +
                 *
         | 
| 3968 | 
            +
                 * Better implementation of `typeof` detection that can
         | 
| 3969 | 
            +
                 * be used cross-browser. Handles the inconsistencies of
         | 
| 3970 | 
            +
                 * Array, `null`, and `undefined` detection.
         | 
| 3971 | 
            +
                 *
         | 
| 3972 | 
            +
                 *     utils.type({}) // 'object'
         | 
| 3973 | 
            +
                 *     utils.type(null) // `null'
         | 
| 3974 | 
            +
                 *     utils.type(undefined) // `undefined`
         | 
| 3975 | 
            +
                 *     utils.type([]) // `array`
         | 
| 3976 | 
            +
                 *
         | 
| 3977 | 
            +
                 * @param {Mixed} object to detect type of
         | 
| 3978 | 
            +
                 * @name type
         | 
| 3979 | 
            +
                 * @api private
         | 
| 3980 | 
            +
                 */
         | 
| 3981 | 
            +
             | 
| 3982 | 
            +
                module.exports = function (obj) {
         | 
| 3983 | 
            +
                  var str = Object.prototype.toString.call(obj);
         | 
| 3984 | 
            +
                  if (natives[str]) return natives[str];
         | 
| 3985 | 
            +
                  if (obj === null) return 'null';
         | 
| 3986 | 
            +
                  if (obj === undefined) return 'undefined';
         | 
| 3987 | 
            +
                  if (obj === Object(obj)) return 'object';
         | 
| 3988 | 
            +
                  return typeof obj;
         | 
| 3989 | 
            +
                };
         | 
| 3990 | 
            +
             | 
| 3991 | 
            +
              }); // module: chai/utils/type.js
         | 
| 3992 | 
            +
             | 
| 3806 3993 | 
             
              require.alias("./chai.js", "chai");
         | 
| 3807 3994 |  | 
| 3808 3995 | 
             
              return require('chai');
         | 
| @@ -1,6 +1,5 @@ | |
| 1 1 | 
             
            ;(function(){
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 4 3 | 
             
            // CommonJS require()
         | 
| 5 4 |  | 
| 6 5 | 
             
            function require(p){
         | 
| @@ -32,11 +31,11 @@ require.register = function (path, fn){ | |
| 32 31 | 
             
            require.relative = function (parent) {
         | 
| 33 32 | 
             
                return function(p){
         | 
| 34 33 | 
             
                  if ('.' != p.charAt(0)) return require(p);
         | 
| 35 | 
            -
             | 
| 34 | 
            +
             | 
| 36 35 | 
             
                  var path = parent.split('/')
         | 
| 37 36 | 
             
                    , segs = p.split('/');
         | 
| 38 37 | 
             
                  path.pop();
         | 
| 39 | 
            -
             | 
| 38 | 
            +
             | 
| 40 39 | 
             
                  for (var i = 0; i < segs.length; i++) {
         | 
| 41 40 | 
             
                    var seg = segs[i];
         | 
| 42 41 | 
             
                    if ('..' == seg) path.pop();
         | 
| @@ -52,9 +51,9 @@ require.register("browser/debug.js", function(module, exports, require){ | |
| 52 51 |  | 
| 53 52 | 
             
            module.exports = function(type){
         | 
| 54 53 | 
             
              return function(){
         | 
| 55 | 
            -
                
         | 
| 56 54 | 
             
              }
         | 
| 57 55 | 
             
            };
         | 
| 56 | 
            +
             | 
| 58 57 | 
             
            }); // module: browser/debug.js
         | 
| 59 58 |  | 
| 60 59 | 
             
            require.register("browser/diff.js", function(module, exports, require){
         | 
| @@ -805,7 +804,6 @@ Hook.prototype.error = function(err){ | |
| 805 804 | 
             
              this._error = err;
         | 
| 806 805 | 
             
            };
         | 
| 807 806 |  | 
| 808 | 
            -
             | 
| 809 807 | 
             
            }); // module: hook.js
         | 
| 810 808 |  | 
| 811 809 | 
             
            require.register("interfaces/bdd.js", function(module, exports, require){
         | 
| @@ -819,7 +817,7 @@ var Suite = require('../suite') | |
| 819 817 |  | 
| 820 818 | 
             
            /**
         | 
| 821 819 | 
             
             * BDD-style interface:
         | 
| 822 | 
            -
             * | 
| 820 | 
            +
             *
         | 
| 823 821 | 
             
             *      describe('Array', function(){
         | 
| 824 822 | 
             
             *        describe('#indexOf()', function(){
         | 
| 825 823 | 
             
             *          it('should return -1 when not present', function(){
         | 
| @@ -831,7 +829,7 @@ var Suite = require('../suite') | |
| 831 829 | 
             
             *          });
         | 
| 832 830 | 
             
             *        });
         | 
| 833 831 | 
             
             *      });
         | 
| 834 | 
            -
             * | 
| 832 | 
            +
             *
         | 
| 835 833 | 
             
             */
         | 
| 836 834 |  | 
| 837 835 | 
             
            module.exports = function(suite){
         | 
| @@ -876,7 +874,7 @@ module.exports = function(suite){ | |
| 876 874 | 
             
                 * and callback `fn` containing nested suites
         | 
| 877 875 | 
             
                 * and/or tests.
         | 
| 878 876 | 
             
                 */
         | 
| 879 | 
            -
             | 
| 877 | 
            +
             | 
| 880 878 | 
             
                context.describe = context.context = function(title, fn){
         | 
| 881 879 | 
             
                  var suite = Suite.create(suites[0], title);
         | 
| 882 880 | 
             
                  suites.unshift(suite);
         | 
| @@ -956,19 +954,19 @@ var Suite = require('../suite') | |
| 956 954 |  | 
| 957 955 | 
             
            /**
         | 
| 958 956 | 
             
             * TDD-style interface:
         | 
| 959 | 
            -
             * | 
| 957 | 
            +
             *
         | 
| 960 958 | 
             
             *     exports.Array = {
         | 
| 961 959 | 
             
             *       '#indexOf()': {
         | 
| 962 960 | 
             
             *         'should return -1 when the value is not present': function(){
         | 
| 963 | 
            -
             * | 
| 961 | 
            +
             *
         | 
| 964 962 | 
             
             *         },
         | 
| 965 963 | 
             
             *
         | 
| 966 964 | 
             
             *         'should return the correct index when the value is present': function(){
         | 
| 967 | 
            -
             * | 
| 965 | 
            +
             *
         | 
| 968 966 | 
             
             *         }
         | 
| 969 967 | 
             
             *       }
         | 
| 970 968 | 
             
             *     };
         | 
| 971 | 
            -
             * | 
| 969 | 
            +
             *
         | 
| 972 970 | 
             
             */
         | 
| 973 971 |  | 
| 974 972 | 
             
            module.exports = function(suite){
         | 
| @@ -1006,6 +1004,7 @@ module.exports = function(suite){ | |
| 1006 1004 | 
             
                }
         | 
| 1007 1005 | 
             
              }
         | 
| 1008 1006 | 
             
            };
         | 
| 1007 | 
            +
             | 
| 1009 1008 | 
             
            }); // module: interfaces/exports.js
         | 
| 1010 1009 |  | 
| 1011 1010 | 
             
            require.register("interfaces/index.js", function(module, exports, require){
         | 
| @@ -1028,27 +1027,27 @@ var Suite = require('../suite') | |
| 1028 1027 |  | 
| 1029 1028 | 
             
            /**
         | 
| 1030 1029 | 
             
             * QUnit-style interface:
         | 
| 1031 | 
            -
             * | 
| 1030 | 
            +
             *
         | 
| 1032 1031 | 
             
             *     suite('Array');
         | 
| 1033 | 
            -
             * | 
| 1032 | 
            +
             *
         | 
| 1034 1033 | 
             
             *     test('#length', function(){
         | 
| 1035 1034 | 
             
             *       var arr = [1,2,3];
         | 
| 1036 1035 | 
             
             *       ok(arr.length == 3);
         | 
| 1037 1036 | 
             
             *     });
         | 
| 1038 | 
            -
             * | 
| 1037 | 
            +
             *
         | 
| 1039 1038 | 
             
             *     test('#indexOf()', function(){
         | 
| 1040 1039 | 
             
             *       var arr = [1,2,3];
         | 
| 1041 1040 | 
             
             *       ok(arr.indexOf(1) == 0);
         | 
| 1042 1041 | 
             
             *       ok(arr.indexOf(2) == 1);
         | 
| 1043 1042 | 
             
             *       ok(arr.indexOf(3) == 2);
         | 
| 1044 1043 | 
             
             *     });
         | 
| 1045 | 
            -
             * | 
| 1044 | 
            +
             *
         | 
| 1046 1045 | 
             
             *     suite('String');
         | 
| 1047 | 
            -
             * | 
| 1046 | 
            +
             *
         | 
| 1048 1047 | 
             
             *     test('#length', function(){
         | 
| 1049 1048 | 
             
             *       ok('foo'.length == 3);
         | 
| 1050 1049 | 
             
             *     });
         | 
| 1051 | 
            -
             * | 
| 1050 | 
            +
             *
         | 
| 1052 1051 | 
             
             */
         | 
| 1053 1052 |  | 
| 1054 1053 | 
             
            module.exports = function(suite){
         | 
| @@ -1091,7 +1090,7 @@ module.exports = function(suite){ | |
| 1091 1090 | 
             
                /**
         | 
| 1092 1091 | 
             
                 * Describe a "suite" with the given `title`.
         | 
| 1093 1092 | 
             
                 */
         | 
| 1094 | 
            -
             | 
| 1093 | 
            +
             | 
| 1095 1094 | 
             
                context.suite = function(title){
         | 
| 1096 1095 | 
             
                  if (suites.length > 1) suites.shift();
         | 
| 1097 1096 | 
             
                  var suite = Suite.create(suites[0], title);
         | 
| @@ -1129,7 +1128,7 @@ var Suite = require('../suite') | |
| 1129 1128 | 
             
             *          suiteSetup(function(){
         | 
| 1130 1129 | 
             
             *
         | 
| 1131 1130 | 
             
             *          });
         | 
| 1132 | 
            -
             * | 
| 1131 | 
            +
             *
         | 
| 1133 1132 | 
             
             *          test('should return -1 when not present', function(){
         | 
| 1134 1133 | 
             
             *
         | 
| 1135 1134 | 
             
             *          });
         | 
| @@ -1549,7 +1548,7 @@ Mocha.prototype.run = function(fn){ | |
| 1549 1548 | 
             
              var options = this.options;
         | 
| 1550 1549 | 
             
              var runner = new exports.Runner(suite);
         | 
| 1551 1550 | 
             
              var reporter = new this._reporter(runner);
         | 
| 1552 | 
            -
              runner.ignoreLeaks = options.ignoreLeaks;
         | 
| 1551 | 
            +
              runner.ignoreLeaks = false !== options.ignoreLeaks;
         | 
| 1553 1552 | 
             
              runner.asyncOnly = options.asyncOnly;
         | 
| 1554 1553 | 
             
              if (options.grep) runner.grep(options.grep, options.invert);
         | 
| 1555 1554 | 
             
              if (options.globals) runner.globals(options.globals);
         | 
| @@ -1710,7 +1709,7 @@ exports.colors = { | |
| 1710 1709 | 
             
            /**
         | 
| 1711 1710 | 
             
             * Default symbol map.
         | 
| 1712 1711 | 
             
             */
         | 
| 1713 | 
            -
             | 
| 1712 | 
            +
             | 
| 1714 1713 | 
             
            exports.symbols = {
         | 
| 1715 1714 | 
             
              ok: '✓',
         | 
| 1716 1715 | 
             
              err: '✖',
         | 
| @@ -2334,8 +2333,6 @@ function HTML(runner, root) { | |
| 2334 2333 | 
             
              });
         | 
| 2335 2334 |  | 
| 2336 2335 | 
             
              runner.on('test end', function(test){
         | 
| 2337 | 
            -
                window.scrollTo(0, document.body.scrollHeight);
         | 
| 2338 | 
            -
             | 
| 2339 2336 | 
             
                // TODO: add to stats
         | 
| 2340 2337 | 
             
                var percent = stats.tests / this.total * 100 | 0;
         | 
| 2341 2338 | 
             
                if (progress) progress.update(percent).draw(ctx);
         | 
| @@ -3080,7 +3077,7 @@ exports = module.exports = Min; | |
| 3080 3077 |  | 
| 3081 3078 | 
             
            function Min(runner) {
         | 
| 3082 3079 | 
             
              Base.call(this, runner);
         | 
| 3083 | 
            -
             | 
| 3080 | 
            +
             | 
| 3084 3081 | 
             
              runner.on('start', function(){
         | 
| 3085 3082 | 
             
                // clear screen
         | 
| 3086 3083 | 
             
                process.stdout.write('\u001b[2J');
         | 
| @@ -3100,10 +3097,10 @@ F.prototype = Base.prototype; | |
| 3100 3097 | 
             
            Min.prototype = new F;
         | 
| 3101 3098 | 
             
            Min.prototype.constructor = Min;
         | 
| 3102 3099 |  | 
| 3100 | 
            +
             | 
| 3103 3101 | 
             
            }); // module: reporters/min.js
         | 
| 3104 3102 |  | 
| 3105 3103 | 
             
            require.register("reporters/nyan.js", function(module, exports, require){
         | 
| 3106 | 
            -
             | 
| 3107 3104 | 
             
            /**
         | 
| 3108 3105 | 
             
             * Module dependencies.
         | 
| 3109 3106 | 
             
             */
         | 
| @@ -3249,44 +3246,39 @@ NyanCat.prototype.drawRainbow = function(){ | |
| 3249 3246 | 
             
            NyanCat.prototype.drawNyanCat = function(status) {
         | 
| 3250 3247 | 
             
              var self = this;
         | 
| 3251 3248 | 
             
              var startWidth = this.scoreboardWidth + this.trajectories[0].length;
         | 
| 3252 | 
            -
             | 
| 3253 | 
            -
               | 
| 3254 | 
            -
             | 
| 3255 | 
            -
             | 
| 3256 | 
            -
             | 
| 3257 | 
            -
             | 
| 3258 | 
            -
             | 
| 3259 | 
            -
             | 
| 3260 | 
            -
             | 
| 3261 | 
            -
             | 
| 3262 | 
            -
             | 
| 3263 | 
            -
             | 
| 3264 | 
            -
             | 
| 3265 | 
            -
             | 
| 3266 | 
            -
             | 
| 3267 | 
            -
             | 
| 3268 | 
            -
             | 
| 3269 | 
            -
             | 
| 3270 | 
            -
             | 
| 3271 | 
            -
             | 
| 3272 | 
            -
             | 
| 3273 | 
            -
             | 
| 3274 | 
            -
             | 
| 3275 | 
            -
             | 
| 3276 | 
            -
             | 
| 3277 | 
            -
             | 
| 3278 | 
            -
             | 
| 3279 | 
            -
             | 
| 3280 | 
            -
             | 
| 3281 | 
            -
             | 
| 3282 | 
            -
             | 
| 3283 | 
            -
             | 
| 3284 | 
            -
             | 
| 3285 | 
            -
                    write(padding + '""  "" ');
         | 
| 3286 | 
            -
                    write('\n');
         | 
| 3287 | 
            -
                    break;
         | 
| 3288 | 
            -
                }
         | 
| 3289 | 
            -
              });
         | 
| 3249 | 
            +
              var color = '\u001b[' + startWidth + 'C';
         | 
| 3250 | 
            +
              var padding = '';
         | 
| 3251 | 
            +
              
         | 
| 3252 | 
            +
              write(color);
         | 
| 3253 | 
            +
              write('_,------,');
         | 
| 3254 | 
            +
              write('\n');
         | 
| 3255 | 
            +
              
         | 
| 3256 | 
            +
              write(color);
         | 
| 3257 | 
            +
              padding = self.tick ? '  ' : '   ';
         | 
| 3258 | 
            +
              write('_|' + padding + '/\\_/\\ ');
         | 
| 3259 | 
            +
              write('\n');
         | 
| 3260 | 
            +
              
         | 
| 3261 | 
            +
              write(color);
         | 
| 3262 | 
            +
              padding = self.tick ? '_' : '__';
         | 
| 3263 | 
            +
              var tail = self.tick ? '~' : '^';
         | 
| 3264 | 
            +
              var face;
         | 
| 3265 | 
            +
              switch (status) {
         | 
| 3266 | 
            +
                case 'pass':
         | 
| 3267 | 
            +
                  face = '( ^ .^)';
         | 
| 3268 | 
            +
                  break;
         | 
| 3269 | 
            +
                case 'fail':
         | 
| 3270 | 
            +
                  face = '( o .o)';
         | 
| 3271 | 
            +
                  break;
         | 
| 3272 | 
            +
                default:
         | 
| 3273 | 
            +
                  face = '( - .-)';
         | 
| 3274 | 
            +
              }
         | 
| 3275 | 
            +
              write(tail + '|' + padding + face + ' ');
         | 
| 3276 | 
            +
              write('\n');
         | 
| 3277 | 
            +
              
         | 
| 3278 | 
            +
              write(color);
         | 
| 3279 | 
            +
              padding = self.tick ? ' ' : '  ';
         | 
| 3280 | 
            +
              write(padding + '""  "" ');
         | 
| 3281 | 
            +
              write('\n');
         | 
| 3290 3282 |  | 
| 3291 3283 | 
             
              this.cursorUp(this.numberOfLines);
         | 
| 3292 3284 | 
             
            };
         | 
| @@ -3746,7 +3738,7 @@ function XUnit(runner) { | |
| 3746 3738 | 
             
              runner.on('pass', function(test){
         | 
| 3747 3739 | 
             
                tests.push(test);
         | 
| 3748 3740 | 
             
              });
         | 
| 3749 | 
            -
             | 
| 3741 | 
            +
             | 
| 3750 3742 | 
             
              runner.on('fail', function(test){
         | 
| 3751 3743 | 
             
                tests.push(test);
         | 
| 3752 3744 | 
             
              });
         | 
| @@ -3763,7 +3755,7 @@ function XUnit(runner) { | |
| 3763 3755 | 
             
                }, false));
         | 
| 3764 3756 |  | 
| 3765 3757 | 
             
                tests.forEach(test);
         | 
| 3766 | 
            -
                console.log('</testsuite>'); | 
| 3758 | 
            +
                console.log('</testsuite>');
         | 
| 3767 3759 | 
             
              });
         | 
| 3768 3760 | 
             
            }
         | 
| 3769 3761 |  | 
| @@ -4065,8 +4057,7 @@ var EventEmitter = require('browser/events').EventEmitter | |
| 4065 4057 | 
             
              , Test = require('./test')
         | 
| 4066 4058 | 
             
              , utils = require('./utils')
         | 
| 4067 4059 | 
             
              , filter = utils.filter
         | 
| 4068 | 
            -
              , keys = utils.keys
         | 
| 4069 | 
            -
              , noop = function(){};
         | 
| 4060 | 
            +
              , keys = utils.keys;
         | 
| 4070 4061 |  | 
| 4071 4062 | 
             
            /**
         | 
| 4072 4063 | 
             
             * Non-enumerable globals.
         | 
| @@ -4118,6 +4109,15 @@ function Runner(suite) { | |
| 4118 4109 | 
             
              this.globals(this.globalProps().concat(['errno']));
         | 
| 4119 4110 | 
             
            }
         | 
| 4120 4111 |  | 
| 4112 | 
            +
            /**
         | 
| 4113 | 
            +
             * Wrapper for setImmediate, process.nextTick, or browser polyfill.
         | 
| 4114 | 
            +
             *
         | 
| 4115 | 
            +
             * @param {Function} fn
         | 
| 4116 | 
            +
             * @api private
         | 
| 4117 | 
            +
             */
         | 
| 4118 | 
            +
             | 
| 4119 | 
            +
            Runner.immediately = global.setImmediate || process.nextTick;
         | 
| 4120 | 
            +
             | 
| 4121 4121 | 
             
            /**
         | 
| 4122 4122 | 
             
             * Inherit from `EventEmitter.prototype`.
         | 
| 4123 4123 | 
             
             */
         | 
| @@ -4246,7 +4246,7 @@ Runner.prototype.fail = function(test, err){ | |
| 4246 4246 | 
             
              if ('string' == typeof err) {
         | 
| 4247 4247 | 
             
                err = new Error('the string "' + err + '" was thrown, throw an Error :)');
         | 
| 4248 4248 | 
             
              }
         | 
| 4249 | 
            -
             | 
| 4249 | 
            +
             | 
| 4250 4250 | 
             
              this.emit('fail', test, err);
         | 
| 4251 4251 | 
             
            };
         | 
| 4252 4252 |  | 
| @@ -4303,7 +4303,7 @@ Runner.prototype.hook = function(name, fn){ | |
| 4303 4303 | 
             
                });
         | 
| 4304 4304 | 
             
              }
         | 
| 4305 4305 |  | 
| 4306 | 
            -
               | 
| 4306 | 
            +
              Runner.immediately(function(){
         | 
| 4307 4307 | 
             
                next(0);
         | 
| 4308 4308 | 
             
              });
         | 
| 4309 4309 | 
             
            };
         | 
| @@ -4546,14 +4546,16 @@ Runner.prototype.run = function(fn){ | |
| 4546 4546 | 
             
              var self = this
         | 
| 4547 4547 | 
             
                , fn = fn || function(){};
         | 
| 4548 4548 |  | 
| 4549 | 
            +
              function uncaught(err){
         | 
| 4550 | 
            +
                self.uncaught(err);
         | 
| 4551 | 
            +
              }
         | 
| 4552 | 
            +
             | 
| 4549 4553 | 
             
              debug('start');
         | 
| 4550 4554 |  | 
| 4551 4555 | 
             
              // callback
         | 
| 4552 4556 | 
             
              this.on('end', function(){
         | 
| 4553 4557 | 
             
                debug('end');
         | 
| 4554 | 
            -
                process.removeListener('uncaughtException',  | 
| 4555 | 
            -
                  self.uncaught(err);
         | 
| 4556 | 
            -
                });
         | 
| 4558 | 
            +
                process.removeListener('uncaughtException', uncaught);
         | 
| 4557 4559 | 
             
                fn(self.failures);
         | 
| 4558 4560 | 
             
              });
         | 
| 4559 4561 |  | 
| @@ -4565,9 +4567,7 @@ Runner.prototype.run = function(fn){ | |
| 4565 4567 | 
             
              });
         | 
| 4566 4568 |  | 
| 4567 4569 | 
             
              // uncaught exception
         | 
| 4568 | 
            -
              process.on('uncaughtException',  | 
| 4569 | 
            -
                self.uncaught(err);
         | 
| 4570 | 
            -
              });
         | 
| 4570 | 
            +
              process.on('uncaughtException', uncaught);
         | 
| 4571 4571 |  | 
| 4572 4572 | 
             
              return this;
         | 
| 4573 4573 | 
             
            };
         | 
| @@ -5005,7 +5005,7 @@ exports.indexOf = function(arr, obj, start){ | |
| 5005 5005 |  | 
| 5006 5006 | 
             
            /**
         | 
| 5007 5007 | 
             
             * Array#reduce (<=IE8)
         | 
| 5008 | 
            -
             * | 
| 5008 | 
            +
             *
         | 
| 5009 5009 | 
             
             * @param {Array} array
         | 
| 5010 5010 | 
             
             * @param {Function} fn
         | 
| 5011 5011 | 
             
             * @param {Object} initial value
         | 
| @@ -5238,34 +5238,6 @@ process.exit = function(status){}; | |
| 5238 5238 | 
             
            process.stdout = {};
         | 
| 5239 5239 | 
             
            global = window;
         | 
| 5240 5240 |  | 
| 5241 | 
            -
            /**
         | 
| 5242 | 
            -
             * next tick implementation.
         | 
| 5243 | 
            -
             */
         | 
| 5244 | 
            -
             | 
| 5245 | 
            -
            process.nextTick = (function(){
         | 
| 5246 | 
            -
              // postMessage behaves badly on IE8
         | 
| 5247 | 
            -
              if (window.ActiveXObject || !window.postMessage) {
         | 
| 5248 | 
            -
                return function(fn){ fn() };
         | 
| 5249 | 
            -
              }
         | 
| 5250 | 
            -
             | 
| 5251 | 
            -
              // based on setZeroTimeout by David Baron
         | 
| 5252 | 
            -
              // - http://dbaron.org/log/20100309-faster-timeouts
         | 
| 5253 | 
            -
              var timeouts = []
         | 
| 5254 | 
            -
                , name = 'mocha-zero-timeout'
         | 
| 5255 | 
            -
             | 
| 5256 | 
            -
              window.addEventListener('message', function(e){
         | 
| 5257 | 
            -
                if (e.source == window && e.data == name) {
         | 
| 5258 | 
            -
                  if (e.stopPropagation) e.stopPropagation();
         | 
| 5259 | 
            -
                  if (timeouts.length) timeouts.shift()();
         | 
| 5260 | 
            -
                }
         | 
| 5261 | 
            -
              }, true);
         | 
| 5262 | 
            -
             | 
| 5263 | 
            -
              return function(fn){
         | 
| 5264 | 
            -
                timeouts.push(fn);
         | 
| 5265 | 
            -
                window.postMessage(name, '*');
         | 
| 5266 | 
            -
              }
         | 
| 5267 | 
            -
            })();
         | 
| 5268 | 
            -
             | 
| 5269 5241 | 
             
            /**
         | 
| 5270 5242 | 
             
             * Remove uncaughtException listener.
         | 
| 5271 5243 | 
             
             */
         | 
| @@ -5298,6 +5270,32 @@ process.on = function(e, fn){ | |
| 5298 5270 | 
             
              var Mocha = window.Mocha = require('mocha'),
         | 
| 5299 5271 | 
             
                  mocha = window.mocha = new Mocha({ reporter: 'html' });
         | 
| 5300 5272 |  | 
| 5273 | 
            +
              var immediateQueue = []
         | 
| 5274 | 
            +
                , immediateTimeout;
         | 
| 5275 | 
            +
             | 
| 5276 | 
            +
              function timeslice() {
         | 
| 5277 | 
            +
                var immediateStart = new Date().getTime();
         | 
| 5278 | 
            +
                while (immediateQueue.length && (new Date().getTime() - immediateStart) < 100) {
         | 
| 5279 | 
            +
                  immediateQueue.shift()();
         | 
| 5280 | 
            +
                }
         | 
| 5281 | 
            +
                if (immediateQueue.length) {
         | 
| 5282 | 
            +
                  immediateTimeout = setTimeout(timeslice, 0);
         | 
| 5283 | 
            +
                } else {
         | 
| 5284 | 
            +
                  immediateTimeout = null;
         | 
| 5285 | 
            +
                }
         | 
| 5286 | 
            +
              }
         | 
| 5287 | 
            +
             | 
| 5288 | 
            +
              /**
         | 
| 5289 | 
            +
               * High-performance override of Runner.immediately.
         | 
| 5290 | 
            +
               */
         | 
| 5291 | 
            +
             | 
| 5292 | 
            +
              Mocha.Runner.immediately = function(callback) {
         | 
| 5293 | 
            +
                immediateQueue.push(callback);
         | 
| 5294 | 
            +
                if (!immediateTimeout) {
         | 
| 5295 | 
            +
                  immediateTimeout = setTimeout(timeslice, 0);
         | 
| 5296 | 
            +
                }
         | 
| 5297 | 
            +
              };
         | 
| 5298 | 
            +
             | 
| 5301 5299 | 
             
              /**
         | 
| 5302 5300 | 
             
               * Override ui to ensure that the ui functions are initialized.
         | 
| 5303 5301 | 
             
               * Normally this would happen in Mocha.prototype.loadFiles.
         | 
| @@ -224,8 +224,23 @@ body { | |
| 224 224 | 
             
              padding-top: 11px;
         | 
| 225 225 | 
             
            }
         | 
| 226 226 |  | 
| 227 | 
            +
            #mocha-stats canvas {
         | 
| 228 | 
            +
              width: 40px;
         | 
| 229 | 
            +
              height: 40px;
         | 
| 230 | 
            +
            }
         | 
| 231 | 
            +
             | 
| 227 232 | 
             
            code .comment { color: #ddd }
         | 
| 228 233 | 
             
            code .init { color: #2F6FAD }
         | 
| 229 234 | 
             
            code .string { color: #5890AD }
         | 
| 230 235 | 
             
            code .keyword { color: #8A6343 }
         | 
| 231 236 | 
             
            code .number { color: #2F6FAD }
         | 
| 237 | 
            +
             | 
| 238 | 
            +
            @media screen and (max-device-width: 480px) {
         | 
| 239 | 
            +
              body {
         | 
| 240 | 
            +
                padding: 60px 0px;
         | 
| 241 | 
            +
              }
         | 
| 242 | 
            +
             | 
| 243 | 
            +
              #stats {
         | 
| 244 | 
            +
                position: absolute;
         | 
| 245 | 
            +
              }
         | 
| 246 | 
            +
            }
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: konacha
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2. | 
| 4 | 
            +
              version: 2.6.0
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2013-03 | 
| 12 | 
            +
            date: 2013-04-03 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: railties
         | 
| @@ -326,21 +326,15 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 326 326 | 
             
              - - ! '>='
         | 
| 327 327 | 
             
                - !ruby/object:Gem::Version
         | 
| 328 328 | 
             
                  version: '0'
         | 
| 329 | 
            -
                  segments:
         | 
| 330 | 
            -
                  - 0
         | 
| 331 | 
            -
                  hash: -79528298761712315
         | 
| 332 329 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 333 330 | 
             
              none: false
         | 
| 334 331 | 
             
              requirements:
         | 
| 335 332 | 
             
              - - ! '>='
         | 
| 336 333 | 
             
                - !ruby/object:Gem::Version
         | 
| 337 334 | 
             
                  version: '0'
         | 
| 338 | 
            -
                  segments:
         | 
| 339 | 
            -
                  - 0
         | 
| 340 | 
            -
                  hash: -79528298761712315
         | 
| 341 335 | 
             
            requirements: []
         | 
| 342 336 | 
             
            rubyforge_project: 
         | 
| 343 | 
            -
            rubygems_version: 1.8. | 
| 337 | 
            +
            rubygems_version: 1.8.23
         | 
| 344 338 | 
             
            signing_key: 
         | 
| 345 339 | 
             
            specification_version: 3
         | 
| 346 340 | 
             
            summary: Unit-test your Rails JavaScript with the mocha test framework and chai assertion
         |