Code coverage report for lib/piece/pawn/eptarget.js

Statements: 96.3% (26 / 27)      Branches: 85.71% (12 / 14)      Functions: 83.33% (5 / 6)      Lines: 96.3% (26 / 27)      Ignored: none     

All files » lib/piece/pawn/ » eptarget.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 47 48 49 50 51 52 53  1   1       1 1 1     1 968 801   167 25 25     25 25       142   167   1 1         44     790     134 93   41 41 41 17   24    
"use strict";
Object.defineProperties(exports, {
  EnPassantTarget: {get: function() {
      return EnPassantTarget;
    }},
  __esModule: {value: true}
});
var PAWN = require('../../brands').PAWN;
var Point = require('../../point').Point;
var $__2 = require('../../util'),
    squareCoords = $__2.squareCoords,
    squareName = $__2.squareName;
var EnPassantTarget = function EnPassantTarget(fenEncoding) {
  if (fenEncoding instanceof $EnPassantTarget) {
    return fenEncoding;
  }
  if (fenEncoding != null) {
    try {
      throw undefined;
    } catch (coords) {
      {
        coords = squareCoords(fenEncoding);
        $traceurRuntime.superCall(this, $EnPassantTarget.prototype, "constructor", [coords.x, coords.y]);
      }
    }
  } else {
    $traceurRuntime.superCall(this, $EnPassantTarget.prototype, "constructor", [-1, -1]);
  }
  this.fenEncoding = fenEncoding;
};
var $EnPassantTarget = EnPassantTarget;
($traceurRuntime.createClass)(EnPassantTarget, {
  offset: function() {
    return new Point(0, this.y === 3 ? -1 : 1);
  },
  equal: function(squareNameP) {
    return this.fenEncoding && $traceurRuntime.superCall(this, $EnPassantTarget.prototype, "equal", [squareCoords(squareNameP)]);
  },
  toString: function() {
    return this.fenEncoding || '-';
  }
}, {analyze: function(position, piece, targetSquare) {
    if (piece.brand !== PAWN) {
      return null;
    }
    var target = squareCoords(targetSquare);
    var thrust = $traceurRuntime.assertObject(target.difference(position.pieceCoords(piece))).y;
    if (Math.abs(thrust) === 2) {
      return squareName(target.sum(new Point(0, -piece.reach)));
    }
    return null;
  }}, Point);