Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/modules / ___dist / SSR / async-bootstrapper / __tests__ / asyncBootstrapper.js
Size: Mime:
"use strict";

var _react = _interopRequireWildcard(require("react"));

var _ = _interopRequireDefault(require("../"));

var _jsxFileName = "SSR/async-bootstrapper/__tests__/asyncBootstrapper.js";

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }

describe('asyncBootstrapper()', () => {
  let values = [];
  let actualContext;
  let DeprecatedAPI = class DeprecatedAPI extends _react.Component {
    asyncBootstrap() {
      values.push(this.props.id);
      return true;
    }

    render() {
      return _react.default.createElement("div", {
        __source: {
          fileName: _jsxFileName,
          lineNumber: 19
        },
        __self: this
      }, this.props.children);
    }

  };
  let NewAPI = class NewAPI extends _react.Component {
    bootstrap() {
      values.push(this.props.id);
      actualContext = this.context;
      return true;
    }

    render() {
      return _react.default.createElement("div", {
        __source: {
          fileName: _jsxFileName,
          lineNumber: 31
        },
        __self: this
      }, this.props.children);
    }

  };

  const app = Foo => _react.default.createElement(Foo, {
    id: 1,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 36
    },
    __self: void 0
  }, _react.default.createElement("div", {
    __source: {
      fileName: _jsxFileName,
      lineNumber: 37
    },
    __self: void 0
  }, _react.default.createElement("h1", {
    __source: {
      fileName: _jsxFileName,
      lineNumber: 38
    },
    __self: void 0
  }, "Test")), _react.default.createElement(Foo, {
    id: 2,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 40
    },
    __self: void 0
  }, _react.default.createElement(Foo, {
    id: 4,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 41
    },
    __self: void 0
  })), _react.default.createElement(Foo, {
    id: 3,
    __source: {
      fileName: _jsxFileName,
      lineNumber: 43
    },
    __self: void 0
  }));

  beforeEach(() => {
    values = [];
  });
  it('deprecated API', () => (0, _.default)(app(DeprecatedAPI)).then(() => expect(values).toEqual([1, 2, 4, 3])));
  it('new API', () => (0, _.default)(app(NewAPI), null, {
    bespokeContext: true
  }).then(() => {
    expect(values).toEqual([1, 2, 4, 3]);
    expect(actualContext).toEqual({
      bespokeContext: true,
      reactAsyncBootstrapperRunning: true
    });
  }));
});