aboutsummaryrefslogtreecommitdiff
path: root/node_modules/react-dom/lib/reactComponentExpect.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/react-dom/lib/reactComponentExpect.js')
-rw-r--r--node_modules/react-dom/lib/reactComponentExpect.js216
1 files changed, 0 insertions, 216 deletions
diff --git a/node_modules/react-dom/lib/reactComponentExpect.js b/node_modules/react-dom/lib/reactComponentExpect.js
deleted file mode 100644
index af3ba91cf..000000000
--- a/node_modules/react-dom/lib/reactComponentExpect.js
+++ /dev/null
@@ -1,216 +0,0 @@
-/**
- * Copyright 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-'use strict';
-
-var _prodInvariant = require('./reactProdInvariant'),
- _assign = require('object-assign');
-
-var ReactInstanceMap = require('./ReactInstanceMap');
-var ReactTestUtils = require('./ReactTestUtils');
-
-var invariant = require('fbjs/lib/invariant');
-
-function reactComponentExpect(instance) {
- if (instance instanceof reactComponentExpectInternal) {
- return instance;
- }
-
- if (!(this instanceof reactComponentExpect)) {
- return new reactComponentExpect(instance);
- }
-
- expect(instance).not.toBeNull();
- expect(instance).not.toBeUndefined();
-
- !ReactTestUtils.isCompositeComponent(instance) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'reactComponentExpect(...): instance must be a composite component') : _prodInvariant('15') : void 0;
- var internalInstance = ReactInstanceMap.get(instance);
-
- expect(typeof internalInstance).toBe('object');
- expect(typeof internalInstance.constructor).toBe('function');
- expect(ReactTestUtils.isElement(internalInstance)).toBe(false);
-
- return new reactComponentExpectInternal(internalInstance);
-}
-
-function reactComponentExpectInternal(internalInstance) {
- this._instance = internalInstance;
-}
-
-_assign(reactComponentExpectInternal.prototype, {
- // Getters -------------------------------------------------------------------
-
- /**
- * @instance: Retrieves the backing instance.
- */
- instance: function () {
- return this._instance.getPublicInstance();
- },
-
- /**
- * There are two types of components in the world.
- * - A component created via React.createClass() - Has a single child
- * subComponent - the return value from the .render() function. This
- * function @subComponent expects that this._instance is component created
- * with React.createClass().
- * - A primitive DOM component - which has many renderedChildren, each of
- * which may have a name that is unique with respect to its siblings. This
- * method will fail if this._instance is a primitive component.
- *
- * TL;DR: An instance may have a subComponent (this._renderedComponent) or
- * renderedChildren, but never both. Neither will actually show up until you
- * render the component (simply instantiating is not enough).
- */
- expectRenderedChild: function () {
- this.toBeCompositeComponent();
- var child = this._instance._renderedComponent;
- // TODO: Hide ReactEmptyComponent instances here?
- return new reactComponentExpectInternal(child);
- },
-
- /**
- * The nth child of a DOMish component instance that is not falsy.
- */
- expectRenderedChildAt: function (childIndex) {
- // Currently only dom components have arrays of children, but that will
- // change soon.
- this.toBeDOMComponent();
- var renderedChildren = this._instance._renderedChildren || {};
- for (var name in renderedChildren) {
- if (!renderedChildren.hasOwnProperty(name)) {
- continue;
- }
- if (renderedChildren[name]) {
- if (renderedChildren[name]._mountIndex === childIndex) {
- return new reactComponentExpectInternal(renderedChildren[name]);
- }
- }
- }
- throw new Error('Child:' + childIndex + ' is not found');
- },
-
- toBeDOMComponentWithChildCount: function (count) {
- this.toBeDOMComponent();
- var renderedChildren = this._instance._renderedChildren;
- expect(renderedChildren).toBeTruthy();
- expect(Object.keys(renderedChildren).length).toBe(count);
- return this;
- },
-
- toBeDOMComponentWithNoChildren: function () {
- this.toBeDOMComponent();
- expect(this._instance._renderedChildren).toBeFalsy();
- return this;
- },
-
- // Matchers ------------------------------------------------------------------
-
- toBeComponentOfType: function (constructor) {
- expect(this._instance._currentElement.type === constructor).toBe(true);
- return this;
- },
-
- /**
- * A component that is created with React.createClass. Just duck typing
- * here.
- */
- toBeCompositeComponent: function () {
- expect(typeof this.instance() === 'object' && typeof this.instance().render === 'function').toBe(true);
- return this;
- },
-
- toBeCompositeComponentWithType: function (constructor) {
- this.toBeCompositeComponent();
- expect(this._instance._currentElement.type === constructor).toBe(true);
- return this;
- },
-
- toBeTextComponentWithValue: function (val) {
- var elementType = typeof this._instance._currentElement;
- expect(elementType === 'string' || elementType === 'number').toBe(true);
- expect(this._instance._stringText).toBe(val);
- return this;
- },
-
- toBeEmptyComponent: function () {
- var element = this._instance._currentElement;
- return element === null || element === false;
- },
-
- toBePresent: function () {
- expect(this.instance()).toBeTruthy();
- return this;
- },
-
- /**
- * A terminal type of component representing some virtual dom node. Just duck
- * typing here.
- */
- toBeDOMComponent: function () {
- expect(ReactTestUtils.isDOMComponent(this.instance())).toBe(true);
- return this;
- },
-
- /**
- * @deprecated
- * @see toBeComponentOfType
- */
- toBeDOMComponentWithTag: function (tag) {
- this.toBeDOMComponent();
- expect(this.instance().tagName).toBe(tag.toUpperCase());
- return this;
- },
-
- /**
- * Check that internal state values are equal to a state of expected values.
- */
- scalarStateEqual: function (stateNameToExpectedValue) {
- expect(this.instance()).toBeTruthy();
- for (var stateName in stateNameToExpectedValue) {
- if (!stateNameToExpectedValue.hasOwnProperty(stateName)) {
- continue;
- }
- expect(this.instance().state[stateName]).toEqual(stateNameToExpectedValue[stateName]);
- }
- return this;
- },
-
- /**
- * Check a set of props are equal to a set of expected values - only works
- * with scalars.
- */
- scalarPropsEqual: function (propNameToExpectedValue) {
- expect(this.instance()).toBeTruthy();
- for (var propName in propNameToExpectedValue) {
- if (!propNameToExpectedValue.hasOwnProperty(propName)) {
- continue;
- }
- expect(this.instance().props[propName]).toEqual(propNameToExpectedValue[propName]);
- }
- return this;
- },
-
- /**
- * Check a set of props are equal to a set of expected values - only works
- * with scalars.
- */
- scalarContextEqual: function (contextNameToExpectedValue) {
- expect(this.instance()).toBeTruthy();
- for (var contextName in contextNameToExpectedValue) {
- if (!contextNameToExpectedValue.hasOwnProperty(contextName)) {
- continue;
- }
- expect(this.instance().context[contextName]).toEqual(contextNameToExpectedValue[contextName]);
- }
- return this;
- }
-});
-
-module.exports = reactComponentExpect; \ No newline at end of file