aboutsummaryrefslogtreecommitdiff
path: root/node_modules/jest-mock/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/jest-mock/README.md')
-rw-r--r--node_modules/jest-mock/README.md122
1 files changed, 122 insertions, 0 deletions
diff --git a/node_modules/jest-mock/README.md b/node_modules/jest-mock/README.md
new file mode 100644
index 000000000..2de10c3b4
--- /dev/null
+++ b/node_modules/jest-mock/README.md
@@ -0,0 +1,122 @@
+# jest-mock
+
+## API
+
+### `constructor(global)`
+
+Creates a new module mocker that generates mocks as if they were created in an
+environment with the given global object.
+
+### `generateFromMetadata(metadata)`
+
+Generates a mock based on the given metadata (Metadata for the mock in
+the schema returned by the getMetadata method of this module). Mocks treat
+functions specially, and all mock functions have additional members, described
+in the documentation for `fn` in this module.
+
+
+One important note: function prototypes are handled specially by this
+mocking framework. For functions with prototypes, when called as a
+constructor, the mock will install mocked function members on the instance.
+This allows different instances of the same constructor to have different
+values for its mocks member and its return values.
+
+### `getMetadata(component)`
+
+Inspects the argument and returns its schema in the following recursive format:
+
+```js
+{
+ type: ...
+ members : {}
+}
+```
+
+Where type is one of `array`, `object`, `function`, or `ref`, and members
+is an optional dictionary where the keys are member names and the values
+are metadata objects. Function prototypes are defined simply by defining
+metadata for the `member.prototype` of the function. The type of a function
+prototype should always be `object`. For instance, a simple class might be
+defined like this:
+
+```js
+{
+ type: 'function',
+ members: {
+ staticMethod: {type: 'function'},
+ prototype: {
+ type: 'object',
+ members: {
+ instanceMethod: {type: 'function'}
+ }
+ }
+ }
+}
+ ```
+
+Metadata may also contain references to other objects defined within the
+same metadata object. The metadata for the referent must be marked with
+`refID` key and an arbitrary value. The referrer must be marked with a
+`ref` key that has the same value as object with refID that it refers to.
+For instance, this metadata blob:
+
+```js
+{
+ type: 'object',
+ refID: 1,
+ members: {
+ self: {ref: 1}
+ }
+}
+```
+
+defines an object with a slot named `self` that refers back to the object.
+
+### `fn`
+
+Generates a stand-alone function with members that help drive unit tests or
+confirm expectations. Specifically, functions returned by this method have
+the following members:
+
+##### `.mock`
+
+An object with two members, `calls`, and `instances`, which are both
+lists. The items in the `calls` list are the arguments with which the
+function was called. The "instances" list stores the value of 'this' for
+each call to the function. This is useful for retrieving instances from a
+constructor.
+
+##### `.mockReturnValueOnce(value)`
+
+Pushes the given value onto a FIFO queue of return values for the
+function.
+
+##### `.mockReturnValue(value)`
+
+Sets the default return value for the function.
+
+##### `.mockImplementationOnce(function)`
+
+Pushes the given mock implementation onto a FIFO queue of mock
+implementations for the function.
+
+##### `.mockImplementation(function)`
+
+Sets the default mock implementation for the function.
+
+##### `.mockReturnThis()`
+
+Syntactic sugar for .mockImplementation(function() {return this;})
+
+
+
+In case both `mockImplementationOnce()/mockImplementation()` and
+`mockReturnValueOnce()/mockReturnValue()` are called. The priority of which to
+use is based on what is the last call:
+- if the last call is mockReturnValueOnce() or mockReturnValue(),
+ use the specific return value or default return value.
+ If specific return values are used up or no default return value is set,
+ fall back to try mockImplementation();
+- if the last call is mockImplementationOnce() or mockImplementation(),
+ run the specific implementation and return the result or run default
+ implementation and return the result.