From 7a94ad4e8a071ebaf8adb329cb4939be07b8b269 Mon Sep 17 00:00:00 2001 From: Brian Vaughn Date: Mon, 17 Jun 2019 11:30:53 -0700 Subject: [PATCH] Added props/state/context inspection to KeyValue --- .../dev/app/InspectableElements/Hydration.js | 2 + src/__tests__/inspectedElementContext-test.js | 10 +- src/__tests__/legacy/inspectElement-test.js | 4 +- src/backend/renderer.js | 2 +- .../views/Components/ExpandCollapseToggle.js | 8 +- .../views/Components/InspectedElementTree.js | 6 +- src/devtools/views/Components/KeyValue.js | 47 ++++++-- .../views/Components/SelectedElement.js | 33 +++++- src/devtools/views/utils.js | 2 +- src/hydration.js | 101 ++++++++++-------- 10 files changed, 150 insertions(+), 65 deletions(-) diff --git a/shells/dev/app/InspectableElements/Hydration.js b/shells/dev/app/InspectableElements/Hydration.js index 04cdc50164..a51db3e2eb 100644 --- a/shells/dev/app/InspectableElements/Hydration.js +++ b/shells/dev/app/InspectableElements/Hydration.js @@ -13,6 +13,7 @@ const arrayOfArrays = [ [['a', 'b', 'c'], ['d', 'e', 'f'], ['h', 'i', 'j']], [['k', 'l', 'm'], ['n', 'o', 'p'], ['q', 'r', 's']], [['t', 'u', 'v'], ['w', 'x', 'y'], ['z']], + [], ]; const objectOfObjects = { @@ -31,6 +32,7 @@ const objectOfObjects = { i: 8, j: 9, }, + qux: {}, }; export default function Hydration() { diff --git a/src/__tests__/inspectedElementContext-test.js b/src/__tests__/inspectedElementContext-test.js index 64ddb50fb5..c8ffcaeb48 100644 --- a/src/__tests__/inspectedElementContext-test.js +++ b/src/__tests__/inspectedElementContext-test.js @@ -315,18 +315,24 @@ describe('InspectedElementContext', () => { typed_array, date, } = (inspectedElement: any).props; + expect(html_element[meta.inspectable]).toBe(false); expect(html_element[meta.name]).toBe('DIV'); expect(html_element[meta.type]).toBe('html_element'); + expect(fn[meta.inspectable]).toBe(false); expect(fn[meta.name]).toBe('exmapleFunction'); expect(fn[meta.type]).toBe('function'); + expect(symbol[meta.inspectable]).toBe(false); expect(symbol[meta.name]).toBe('Symbol(symbol)'); expect(symbol[meta.type]).toBe('symbol'); + expect(react_element[meta.inspectable]).toBe(false); expect(react_element[meta.name]).toBe('span'); expect(react_element[meta.type]).toBe('react_element'); - expect(array_buffer[meta.meta].length).toBe(3); + expect(array_buffer[meta.size]).toBe(3); + expect(array_buffer[meta.inspectable]).toBe(false); expect(array_buffer[meta.name]).toBe('ArrayBuffer'); expect(array_buffer[meta.type]).toBe('array_buffer'); - expect(typed_array[meta.meta].length).toBe(3); + expect(typed_array[meta.size]).toBe(3); + expect(typed_array[meta.inspectable]).toBe(false); expect(typed_array[meta.name]).toBe('Uint8Array'); expect(typed_array[meta.type]).toBe('typed_array'); expect(date[meta.type]).toBe('date'); diff --git a/src/__tests__/legacy/inspectElement-test.js b/src/__tests__/legacy/inspectElement-test.js index 7e8eb91bc9..49b15c6a44 100644 --- a/src/__tests__/legacy/inspectElement-test.js +++ b/src/__tests__/legacy/inspectElement-test.js @@ -132,10 +132,10 @@ describe('InspectedElementContext', () => { expect(symbol[meta.type]).toBe('symbol'); expect(react_element[meta.name]).toBe('span'); expect(react_element[meta.type]).toBe('react_element'); - expect(array_buffer[meta.meta].length).toBe(3); + expect(array_buffer[meta.size]).toBe(3); expect(array_buffer[meta.name]).toBe('ArrayBuffer'); expect(array_buffer[meta.type]).toBe('array_buffer'); - expect(typed_array[meta.meta].length).toBe(3); + expect(typed_array[meta.size]).toBe(3); expect(typed_array[meta.name]).toBe('Uint8Array'); expect(typed_array[meta.type]).toBe('typed_array'); expect(date[meta.type]).toBe('date'); diff --git a/src/backend/renderer.js b/src/backend/renderer.js index 75c76d7ae2..4cd29d69f6 100644 --- a/src/backend/renderer.js +++ b/src/backend/renderer.js @@ -2168,7 +2168,7 @@ export function attach( ((mostRecentlyInspectedElement: any): InspectedElement), path ), - mergeInspectedPaths, + currentlyInspectedPaths, path ), }; diff --git a/src/devtools/views/Components/ExpandCollapseToggle.js b/src/devtools/views/Components/ExpandCollapseToggle.js index b5425c8129..61fdca7f33 100644 --- a/src/devtools/views/Components/ExpandCollapseToggle.js +++ b/src/devtools/views/Components/ExpandCollapseToggle.js @@ -1,6 +1,6 @@ // @flow -import React, { useCallback } from 'react'; +import React from 'react'; import Button from '../Button'; import ButtonIcon from '../ButtonIcon'; @@ -15,14 +15,10 @@ export default function ExpandCollapseToggle({ isOpen, setIsOpen, }: ExpandCollapseToggleProps) { - const handleClick = useCallback(() => { - setIsOpen(prevIsOpen => !prevIsOpen); - }, [setIsOpen]); - return (