// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`arrow.js 1`] = `
====================================options=====================================
parsers: ["flow", "typescript"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
function f() {
  const appEntitys = getAppEntitys(loadObject).filter(
    entity => entity && entity.isInstallAvailable() && !entity.isQueue() && entity.isDisabled()
  )
}

function f() {
  const appEntitys = getAppEntitys(loadObject).map(
    entity => entity && entity.isInstallAvailable() && !entity.isQueue() && entity.isDisabled() && {
      id: entity.id
    }
  )
}

=====================================output=====================================
function f() {
  const appEntitys = getAppEntitys(loadObject).filter(
    entity =>
      entity &&
      entity.isInstallAvailable() &&
      !entity.isQueue() &&
      entity.isDisabled()
  );
}

function f() {
  const appEntitys = getAppEntitys(loadObject).map(
    entity =>
      entity &&
      entity.isInstallAvailable() &&
      !entity.isQueue() &&
      entity.isDisabled() && {
        id: entity.id
      }
  );
}

================================================================================
`;

exports[`bitwise-flags.js 1`] = `
====================================options=====================================
parsers: ["flow", "typescript"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
const FLAG_A = 1 << 0;
const FLAG_B = 1 << 1;
const FLAG_C = 1 << 2;

const all = FLAG_A | FLAG_B | FLAG_C;

=====================================output=====================================
const FLAG_A = 1 << 0;
const FLAG_B = 1 << 1;
const FLAG_C = 1 << 2;

const all = FLAG_A | FLAG_B | FLAG_C;

================================================================================
`;

exports[`comment.js 1`] = `
====================================options=====================================
parsers: ["flow", "typescript"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
a = (
  // Commment 1
  (Math.random() * (yRange * (1 - minVerticalFraction)))
  + (minVerticalFraction * yRange)
) - offset;

=====================================output=====================================
a =
  // Commment 1
  Math.random() * (yRange * (1 - minVerticalFraction)) +
  minVerticalFraction * yRange -
  offset;

================================================================================
`;

exports[`equality.js 1`] = `
====================================options=====================================
parsers: ["flow", "typescript"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
x == y == z;
x != y == z;
x == y != z;
x != y != z;

x === y === z;
x !== y === z;
x === y !== z;
x !== y !== z;

=====================================output=====================================
(x == y) == z;
(x != y) == z;
(x == y) != z;
(x != y) != z;

(x === y) === z;
(x !== y) === z;
(x === y) !== z;
(x !== y) !== z;

================================================================================
`;

exports[`exp.js 1`] = `
====================================options=====================================
parsers: ["flow", "typescript"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
a ** b ** c;
(a ** b) ** c;
a.b ** c;
(-a) ** b;
a ** -b;
-(a**b);
(a * b) ** c;
a ** (b * c);
(a % b) ** c;

=====================================output=====================================
a ** (b ** c);
(a ** b) ** c;
a.b ** c;
(-a) ** b;
a ** -b;
-(a ** b);
(a * b) ** c;
a ** (b * c);
(a % b) ** c;

================================================================================
`;

exports[`if.js 1`] = `
====================================options=====================================
parsers: ["flow", "typescript"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
if (this.hasPlugin("dynamicImports") && this.lookahead().type) {}

if (this.hasPlugin("dynamicImports") && this.lookahead().type === tt.parenLeft) {}

if (this.hasPlugin("dynamicImports") && this.lookahead().type === tt.parenLeft.right) {}

if (VeryVeryVeryVeryVeryVeryVeryVeryLong === VeryVeryVeryVeryVeryVeryVeryVeryLong) {
}

=====================================output=====================================
if (this.hasPlugin("dynamicImports") && this.lookahead().type) {
}

if (
  this.hasPlugin("dynamicImports") &&
  this.lookahead().type === tt.parenLeft
) {
}

if (
  this.hasPlugin("dynamicImports") &&
  this.lookahead().type === tt.parenLeft.right
) {
}

if (
  VeryVeryVeryVeryVeryVeryVeryVeryLong === VeryVeryVeryVeryVeryVeryVeryVeryLong
) {
}

================================================================================
`;

exports[`inline-jsx.js 1`] = `
====================================options=====================================
parsers: ["flow", "typescript"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
const user = renderedUser || <div><User name={this.state.user.name} age={this.state.user.age} /></div>;

const user = renderedUser || shouldRenderUser && <div><User name={this.state.user.name} age={this.state.user.age} /></div>;

const avatar = hasAvatar && <Gravatar user={author} size={size} />;

const avatar = (hasAvatar || showPlaceholder) && <Gravatar user={author} size={size} />;

=====================================output=====================================
const user = renderedUser || (
  <div>
    <User name={this.state.user.name} age={this.state.user.age} />
  </div>
);

const user =
  renderedUser ||
  (shouldRenderUser && (
    <div>
      <User name={this.state.user.name} age={this.state.user.age} />
    </div>
  ));

const avatar = hasAvatar && <Gravatar user={author} size={size} />;

const avatar = (hasAvatar || showPlaceholder) && (
  <Gravatar user={author} size={size} />
);

================================================================================
`;

exports[`inline-object-array.js 1`] = `
====================================options=====================================
parsers: ["flow", "typescript"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
prevState = prevState || {
  catalogs: [],
  loadState: LOADED,
  opened: false,
  searchQuery: '',
  selectedCatalog: null,
};

prevState = prevState ||
  defaultState || {
    catalogs: [],
    loadState: LOADED,
    opened: false,
    searchQuery: '',
    selectedCatalog: null,
  };

prevState = prevState ||
  defaultState && {
    catalogs: [],
    loadState: LOADED,
    opened: false,
    searchQuery: '',
    selectedCatalog: null,
  };

prevState = prevState || useDefault && defaultState || {
    catalogs: [],
    loadState: LOADED,
    opened: false,
    searchQuery: '',
    selectedCatalog: null,
  };

this.steps = steps || [
  {
    name: 'mock-module',
    path: '/nux/mock-module',
  },
];

this.steps = steps || checkStep && [
  {
    name: 'mock-module',
    path: '/nux/mock-module',
  },
];

this.steps = steps && checkStep || [
  {
    name: 'mock-module',
    path: '/nux/mock-module',
  },
];

const create = () => {
  const result = doSomething();
  return (
    shouldReturn &&
    result.ok && {
      status: "ok",
      createdAt: result.createdAt,
      updatedAt: result.updatedAt
    }
  );
}

const create = () => {
  const result = doSomething();
  return (
    shouldReturn && result.ok && result || {
      status: "ok",
      createdAt: result.createdAt,
      updatedAt: result.updatedAt
    }
  );
}

const obj = {
  state: shouldHaveState &&
    stateIsOK && {
      loadState: LOADED,
      opened: false
    },
  loadNext: stateIsOK && hasNext || {
      skipNext: true
    },
  loaded: true
}

=====================================output=====================================
prevState = prevState || {
  catalogs: [],
  loadState: LOADED,
  opened: false,
  searchQuery: "",
  selectedCatalog: null
};

prevState = prevState ||
  defaultState || {
    catalogs: [],
    loadState: LOADED,
    opened: false,
    searchQuery: "",
    selectedCatalog: null
  };

prevState =
  prevState ||
  (defaultState && {
    catalogs: [],
    loadState: LOADED,
    opened: false,
    searchQuery: "",
    selectedCatalog: null
  });

prevState = prevState ||
  (useDefault && defaultState) || {
    catalogs: [],
    loadState: LOADED,
    opened: false,
    searchQuery: "",
    selectedCatalog: null
  };

this.steps = steps || [
  {
    name: "mock-module",
    path: "/nux/mock-module"
  }
];

this.steps =
  steps ||
  (checkStep && [
    {
      name: "mock-module",
      path: "/nux/mock-module"
    }
  ]);

this.steps = (steps && checkStep) || [
  {
    name: "mock-module",
    path: "/nux/mock-module"
  }
];

const create = () => {
  const result = doSomething();
  return (
    shouldReturn &&
    result.ok && {
      status: "ok",
      createdAt: result.createdAt,
      updatedAt: result.updatedAt
    }
  );
};

const create = () => {
  const result = doSomething();
  return (
    (shouldReturn && result.ok && result) || {
      status: "ok",
      createdAt: result.createdAt,
      updatedAt: result.updatedAt
    }
  );
};

const obj = {
  state: shouldHaveState &&
    stateIsOK && {
      loadState: LOADED,
      opened: false
    },
  loadNext: (stateIsOK && hasNext) || {
    skipNext: true
  },
  loaded: true
};

================================================================================
`;

exports[`jsx_parent.js 1`] = `
====================================options=====================================
parsers: ["flow", "typescript"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
<div
  src={
    !isJellyfishEnabled &&
    diffUpdateMessageInput != null &&
    this.state.isUpdateMessageEmpty
  }
/>;

<div>
  {!isJellyfishEnabled &&
    diffUpdateMessageInput != null &&
    this.state.isUpdateMessageEmpty}
</div>;

<div
  style={
    !isJellyfishEnabled &&
    diffUpdateMessageInput && {
      fontSize: 14,
      color: '#fff'
    }
  }
/>;

<div>
  {!isJellyfishEnabled &&
    diffUpdateMessageInput != null && <div><span>Text</span></div>}
</div>;

<div>
  {!isJellyfishEnabled &&
    diffUpdateMessageInput != null && child || <div><span>Text</span></div>}
</div>;

=====================================output=====================================
<div
  src={
    !isJellyfishEnabled &&
    diffUpdateMessageInput != null &&
    this.state.isUpdateMessageEmpty
  }
/>;

<div>
  {!isJellyfishEnabled &&
    diffUpdateMessageInput != null &&
    this.state.isUpdateMessageEmpty}
</div>;

<div
  style={
    !isJellyfishEnabled &&
    diffUpdateMessageInput && {
      fontSize: 14,
      color: "#fff"
    }
  }
/>;

<div>
  {!isJellyfishEnabled && diffUpdateMessageInput != null && (
    <div>
      <span>Text</span>
    </div>
  )}
</div>;

<div>
  {(!isJellyfishEnabled && diffUpdateMessageInput != null && child) || (
    <div>
      <span>Text</span>
    </div>
  )}
</div>;

================================================================================
`;

exports[`math.js 1`] = `
====================================options=====================================
parsers: ["flow", "typescript"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
x + y / z;
x / y + z;

x * y % z;
x / y % z;
x % y * z;
x % y / z;

x % y % z;

x << y >> z;
x >>> y << z;
x >>> y >>> z;
x + y >> z;

x | y & z;
x & y | z;
x ^ y ^ z;
x & y & z;
x | y | z;
x & y >> z;
x << y | z;

=====================================output=====================================
x + y / z;
x / y + z;

(x * y) % z;
(x / y) % z;
(x % y) * z;
(x % y) / z;

(x % y) % z;

(x << y) >> z;
(x >>> y) << z;
(x >>> y) >>> z;
(x + y) >> z;

x | (y & z);
(x & y) | z;
x ^ y ^ z;
x & y & z;
x | y | z;
x & (y >> z);
(x << y) | z;

================================================================================
`;

exports[`return.js 1`] = `
====================================options=====================================
parsers: ["flow", "typescript"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
function foo() {
  return this.hasPlugin("dynamicImports") && this.lookahead().type === tt.parenLeft.right;
}

function foo() {
  return this.hasPlugin("dynamicImports") && this.lookahead().type === tt.parenLeft.right
    ? true
    : false;
}

function foo() {
  return this.calculate().compute().first.numberOfThings > this.calculate().compute().last.numberOfThings
    ? true
    : false;
}

=====================================output=====================================
function foo() {
  return (
    this.hasPlugin("dynamicImports") &&
    this.lookahead().type === tt.parenLeft.right
  );
}

function foo() {
  return this.hasPlugin("dynamicImports") &&
    this.lookahead().type === tt.parenLeft.right
    ? true
    : false;
}

function foo() {
  return this.calculate().compute().first.numberOfThings >
    this.calculate().compute().last.numberOfThings
    ? true
    : false;
}

================================================================================
`;

exports[`short-right.js 1`] = `
====================================options=====================================
parsers: ["flow", "typescript"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
this._cumulativeHeights &&
 Math.abs(
   this._cachedItemHeight(this._firstVisibleIndex + i) -
     this._provider.fastHeight(i + this._firstVisibleIndex),
 ) >
   1

foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo(
  aaaaaaaaaaaaaaaaaaa
) +
  a;

const isPartOfPackageJSON = dependenciesArray.indexOf(
  dependencyWithOutRelativePath.split('/')[0],
) !== -1;

defaultContent.filter(defaultLocale => {
  // ...
})[0] || null;

=====================================output=====================================
this._cumulativeHeights &&
  Math.abs(
    this._cachedItemHeight(this._firstVisibleIndex + i) -
      this._provider.fastHeight(i + this._firstVisibleIndex)
  ) > 1;

foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo(
  aaaaaaaaaaaaaaaaaaa
) + a;

const isPartOfPackageJSON =
  dependenciesArray.indexOf(dependencyWithOutRelativePath.split("/")[0]) !== -1;

defaultContent.filter(defaultLocale => {
  // ...
})[0] || null;

================================================================================
`;

exports[`test.js 1`] = `
====================================options=====================================
parsers: ["flow", "typescript"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
// It should always break the highest precedence operators first, and
// break them all at the same time.

const x = longVariable + longVariable + longVariable;
const x = longVariable + longVariable + longVariable + longVariable - longVariable + longVariable;
const x = longVariable + longVariable * longVariable + longVariable - longVariable + longVariable;
const x = longVariable + longVariable * longVariable * longVariable / longVariable + longVariable;

const x = longVariable && longVariable && longVariable && longVariable && longVariable && longVariable;
const x = longVariable && longVariable || longVariable && longVariable || longVariable && longVariable;
const x = firstItemWithAVeryLongNameThatKeepsGoing || firstItemWithAVeryLongNameThatKeepsGoing || {};
const x = firstItemWithAVeryLongNameThatKeepsGoing || firstItemWithAVeryLongNameThatKeepsGoing || [];
const x = call(firstItemWithAVeryLongNameThatKeepsGoing, firstItemWithAVeryLongNameThatKeepsGoing) || [];

const x = longVariable * longint && longVariable >> 0 && longVariable + longVariable;

const x = longVariable > longint && longVariable === 0 + longVariable * longVariable;

foo(obj.property * new Class() && obj instanceof Class && longVariable ? number + 5 : false);

=====================================output=====================================
// It should always break the highest precedence operators first, and
// break them all at the same time.

const x = longVariable + longVariable + longVariable;
const x =
  longVariable +
  longVariable +
  longVariable +
  longVariable -
  longVariable +
  longVariable;
const x =
  longVariable +
  longVariable * longVariable +
  longVariable -
  longVariable +
  longVariable;
const x =
  longVariable +
  (longVariable * longVariable * longVariable) / longVariable +
  longVariable;

const x =
  longVariable &&
  longVariable &&
  longVariable &&
  longVariable &&
  longVariable &&
  longVariable;
const x =
  (longVariable && longVariable) ||
  (longVariable && longVariable) ||
  (longVariable && longVariable);
const x =
  firstItemWithAVeryLongNameThatKeepsGoing ||
  firstItemWithAVeryLongNameThatKeepsGoing ||
  {};
const x =
  firstItemWithAVeryLongNameThatKeepsGoing ||
  firstItemWithAVeryLongNameThatKeepsGoing ||
  [];
const x =
  call(
    firstItemWithAVeryLongNameThatKeepsGoing,
    firstItemWithAVeryLongNameThatKeepsGoing
  ) || [];

const x =
  longVariable * longint && longVariable >> 0 && longVariable + longVariable;

const x =
  longVariable > longint && longVariable === 0 + longVariable * longVariable;

foo(
  obj.property * new Class() && obj instanceof Class && longVariable
    ? number + 5
    : false
);

================================================================================
`;

exports[`unary.js 1`] = `
====================================options=====================================
parsers: ["flow", "typescript"]
printWidth: 80
                                                                                | printWidth
=====================================input======================================
const anyTestFailures = !(
  aggregatedResults.numFailedTests === 0 &&
  aggregatedResults.numRuntimeErrorTestSuites === 0
);

=====================================output=====================================
const anyTestFailures = !(
  aggregatedResults.numFailedTests === 0 &&
  aggregatedResults.numRuntimeErrorTestSuites === 0
);

================================================================================
`;
