Code coverage report for lib/promotion.js

Statements: 100% (17 / 17)      Branches: 100% (4 / 4)      Functions: 100% (3 / 3)      Lines: 100% (17 / 17)      Ignored: none     

All files » lib/ » promotion.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46  1   1       1       1 1   4662 4662         32937   32937 32937     32937 32937 3           4659     32937   7821   25116        
"use strict";
Object.defineProperties(exports, {
  Promotion: {get: function() {
      return Promotion;
    }},
  __esModule: {value: true}
});
var $__0 = require('./brands'),
    WHITE = $__0.WHITE,
    BLACK = $__0.BLACK,
    PAWN = $__0.PAWN;
var oppositeColor = require('./util').oppositeColor;
var Promotion = {
  square: function(position) {
    var color = oppositeColor(position.activeColor);
    for (var $__2 = position.query({
      brand: PAWN,
      color: color
    })[$traceurRuntime.toProperty(Symbol.iterator)](),
        $__3; !($__3 = $__2.next()).done; ) {
      var pawn = $__3.value;
      {
        try {
          throw undefined;
        } catch (square) {
          {
            square = position.pieceCoords(pawn);
            if (square.y === Promotion.rank(color)) {
              return square;
            }
          }
        }
      }
    }
    return null;
  },
  rank: function(color) {
    switch (color) {
      case WHITE:
        return 0;
      case BLACK:
        return 7;
    }
  }
};