diff --git a/packages/react-devtools-shared/src/__tests__/__snapshots__/inspectedElementContext-test.js.snap b/packages/react-devtools-shared/src/__tests__/__snapshots__/inspectedElementContext-test.js.snap
index 0c7b024dffb81..2ef217a451e61 100644
--- a/packages/react-devtools-shared/src/__tests__/__snapshots__/inspectedElementContext-test.js.snap
+++ b/packages/react-devtools-shared/src/__tests__/__snapshots__/inspectedElementContext-test.js.snap
@@ -1,5 +1,34 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
+exports[`InspectedElementContext display complex values of useDebugValue: DisplayedComplexValue 1`] = `
+{
+ "id": 2,
+ "owners": null,
+ "context": null,
+ "hooks": [
+ {
+ "id": null,
+ "isStateEditable": false,
+ "name": "DebuggableHook",
+ "value": {
+ "foo": 2
+ },
+ "subHooks": [
+ {
+ "id": 0,
+ "isStateEditable": true,
+ "name": "State",
+ "value": 1,
+ "subHooks": []
+ }
+ ]
+ }
+ ],
+ "props": {},
+ "state": null
+}
+`;
+
exports[`InspectedElementContext should dehydrate complex nested values when requested: 1: Initially inspect element 1`] = `
{
"id": 2,
diff --git a/packages/react-devtools-shared/src/__tests__/inspectedElementContext-test.js b/packages/react-devtools-shared/src/__tests__/inspectedElementContext-test.js
index 07ee71fc69de3..4e292ecdbe5a7 100644
--- a/packages/react-devtools-shared/src/__tests__/inspectedElementContext-test.js
+++ b/packages/react-devtools-shared/src/__tests__/inspectedElementContext-test.js
@@ -1571,4 +1571,54 @@ describe('InspectedElementContext', () => {
done();
});
+
+ it('display complex values of useDebugValue', async done => {
+ let getInspectedElementPath: GetInspectedElementPath = ((null: any): GetInspectedElementPath);
+ let inspectedElement = null;
+ function Suspender({target}) {
+ const context = React.useContext(InspectedElementContext);
+ getInspectedElementPath = context.getInspectedElementPath;
+ inspectedElement = context.getInspectedElement(target);
+ return null;
+ }
+
+ const container = document.createElement('div');
+
+ function useDebuggableHook() {
+ React.useDebugValue({foo: 2});
+ React.useState(1);
+ return 1;
+ }
+ function DisplayedComplexValue() {
+ useDebuggableHook();
+ return null;
+ }
+
+ await utils.actAsync(() =>
+ ReactDOM.render(