Changeset 218862 in webkit


Ignore:
Timestamp:
Jun 27, 2017 9:23:48 PM (7 years ago)
Author:
Joseph Pecoraro
Message:

Web Inspector: Cleanup RemoteObject tests
https://bugs.webkit.org/show_bug.cgi?id=173885

Reviewed by Matt Baker.

  • inspector/model/remote-object-dom.html: Added.
  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:

Split out DOM results (which differ across ports and features).

  • inspector/model/resources/remote-object-utilities.js:

(TestPage.registerInitializer.window.runSteps):
This should have been a continue not a return.

  • platform/mac/inspector/model/remote-object-dom-expected.txt: Added.
  • platform/mac/inspector/model/remote-object-expected.txt: Removed.

Platform expectations are now limited to just the DOM test.

Location:
trunk/LayoutTests
Files:
2 added
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r218861 r218862  
     12017-06-27  Joseph Pecoraro  <pecoraro@apple.com>
     2
     3        Web Inspector: Cleanup RemoteObject tests
     4        https://bugs.webkit.org/show_bug.cgi?id=173885
     5
     6        Reviewed by Matt Baker.
     7
     8        * inspector/model/remote-object-dom.html: Added.
     9        * inspector/model/remote-object-expected.txt:
     10        * inspector/model/remote-object.html:
     11        Split out DOM results (which differ across ports and features).
     12
     13        * inspector/model/resources/remote-object-utilities.js:
     14        (TestPage.registerInitializer.window.runSteps):
     15        This should have been a continue not a return.
     16
     17        * platform/mac/inspector/model/remote-object-dom-expected.txt: Added.
     18        * platform/mac/inspector/model/remote-object-expected.txt: Removed.
     19        Platform expectations are now limited to just the DOM test.
     20
    1212017-06-27  Caio Lima  <ticaiolima@gmail.com>
    222
  • trunk/LayoutTests/inspector/model/remote-object-expected.txt

    r218836 r218862  
     1CONSOLE MESSAGE: line 1: Unhandled Promise Rejection: undefined
     2CONSOLE MESSAGE: line 1: Unhandled Promise Rejection: result
    13
    24-----------------------------------------------------
     
    2527
    2628-----------------------------------------------------
    27 EXPRESSION: Symbol('test')
     29EXPRESSION: Symbol("test")
    2830{
    2931  "_type": "symbol",
     
    169171
    170172-----------------------------------------------------
    171 EXPRESSION: 'string'
     173EXPRESSION: `template`
     174{
     175  "_type": "string",
     176  "_description": "template",
     177  "_value": "template"
     178}
     179
     180-----------------------------------------------------
     181EXPRESSION: "string"
    172182{
    173183  "_type": "string",
     
    177187
    178188-----------------------------------------------------
    179 EXPRESSION: 'Unicode…'
     189EXPRESSION: "Unicode…"
    180190{
    181191  "_type": "string",
     
    185195
    186196-----------------------------------------------------
    187 EXPRESSION: 'I wish I had something to put here.'
     197EXPRESSION: "I wish I had something to put here."
    188198{
    189199  "_type": "string",
     
    241251
    242252-----------------------------------------------------
    243 EXPRESSION: Object.getOwnPropertyDescriptor({ get getter() { return 1 } }, 'getter').get
     253EXPRESSION: Object.getOwnPropertyDescriptor({ get getter() { return 1 } }, "getter").get
    244254{
    245255  "_type": "function",
     
    249259
    250260-----------------------------------------------------
    251 EXPRESSION: Object.getOwnPropertyDescriptor({ set setter(v) { console.log(v); } }, 'setter').set
     261EXPRESSION: Object.getOwnPropertyDescriptor({ set setter(v) { console.log(v); } }, "setter").set
    252262{
    253263  "_type": "function",
     
    353363
    354364-----------------------------------------------------
    355 EXPRESSION: new RegExp('')
     365EXPRESSION: new RegExp("")
    356366{
    357367  "_type": "object",
     
    377387
    378388-----------------------------------------------------
    379 EXPRESSION: new RegExp('test', 'i')
     389EXPRESSION: new RegExp("test", "i")
    380390{
    381391  "_type": "object",
     
    546556
    547557-----------------------------------------------------
    548 EXPRESSION: [true, 1, 1.234, 'string', /regex/]
     558EXPRESSION: [true, 1, 1.234, "string", /regex/]
    549559{
    550560  "_type": "object",
     
    988998
    989999-----------------------------------------------------
    990 EXPRESSION: a = null; (function() { a = arguments; })(1, '2', /3/); a
     1000EXPRESSION: a = null; (function() { a = arguments; })(1, "2", /3/); a
    9911001{
    9921002  "_type": "object",
     
    10361046    "_subtype": "array",
    10371047    "_description": "Int32Array",
    1038     "_lossless": true,
     1048    "_lossless": false,
    10391049    "_overflow": false,
    10401050    "_size": 4,
     
    11481158    "_subtype": "array",
    11491159    "_description": "Int32Array",
    1150     "_lossless": true,
     1160    "_lossless": false,
    11511161    "_overflow": false,
    11521162    "_size": 4,
     
    13191329
    13201330-----------------------------------------------------
    1321 EXPRESSION: ({a: 1, b: "string", c: /regex/, d: Symbol('sym')})
     1331EXPRESSION: ({a: 1, b: "string", c: /regex/, d: Symbol("sym")})
    13221332{
    13231333  "_type": "object",
     
    14271437    "_type": "object",
    14281438    "_description": "Foo",
    1429     "_lossless": true,
     1439    "_lossless": false,
    14301440    "_overflow": false,
    14311441    "_properties": [],
     
    14431453    "_type": "object",
    14441454    "_description": "Foo2",
    1445     "_lossless": true,
     1455    "_lossless": false,
    14461456    "_overflow": false,
    14471457    "_properties": [],
     
    14591469    "_type": "object",
    14601470    "_description": "Foo3",
    1461     "_lossless": true,
     1471    "_lossless": false,
    14621472    "_overflow": false,
    14631473    "_properties": [],
     
    15061516    "_type": "object",
    15071517    "_description": "Bar2",
    1508     "_lossless": true,
     1518    "_lossless": false,
    15091519    "_overflow": false,
    15101520    "_properties": [
     
    15201530
    15211531-----------------------------------------------------
    1522 EXPRESSION: window.loadEvent
    1523 {
    1524   "_type": "object",
    1525   "_objectId": "<filtered>",
    1526   "_description": "Event",
    1527   "_preview": {
    1528     "_type": "object",
    1529     "_description": "Event",
    1530     "_lossless": false,
    1531     "_overflow": true,
    1532     "_properties": [
    1533       {
    1534         "_name": "clipboardData",
    1535         "_type": "undefined",
    1536         "_value": "undefined"
    1537       },
    1538       {
    1539         "_name": "type",
    1540         "_type": "string",
    1541         "_value": "load"
    1542       },
    1543       {
    1544         "_name": "target",
    1545         "_type": "object",
    1546         "_subtype": "node",
    1547         "_value": "#document"
    1548       },
    1549       {
    1550         "_name": "currentTarget",
    1551         "_type": "object",
    1552         "_value": "Window"
    1553       },
    1554       {
    1555         "_name": "eventPhase",
    1556         "_type": "number",
    1557         "_value": "2"
    1558       }
    1559     ],
    1560     "_entries": null
    1561   }
    1562 }
    1563 
    1564 -----------------------------------------------------
    15651532EXPRESSION: new ArrayBuffer(16)
    15661533{
     
    15711538    "_type": "object",
    15721539    "_description": "ArrayBuffer",
    1573     "_lossless": true,
     1540    "_lossless": false,
    15741541    "_overflow": false,
    15751542    "_properties": [
     
    16171584
    16181585-----------------------------------------------------
    1619 EXPRESSION: obj = {}; obj['prop'] = 1; obj[Symbol()] = 2; obj[Symbol('sym')] = 3; obj[Symbol('sym')] = 4; obj[Symbol.iterator] = Symbol(); obj
     1586EXPRESSION: obj = {}; obj["prop"] = 1; obj[Symbol()] = 2; obj[Symbol("sym")] = 3; obj[Symbol("sym")] = 4; obj[Symbol.iterator] = Symbol(); obj
    16201587{
    16211588  "_type": "object",
     
    16591626
    16601627-----------------------------------------------------
    1661 EXPRESSION: document.body
    1662 {
    1663   "_type": "object",
    1664   "_subtype": "node",
    1665   "_objectId": "<filtered>",
    1666   "_description": "body",
    1667   "_preview": {
    1668     "_type": "object",
    1669     "_subtype": "node",
    1670     "_description": "body",
    1671     "_lossless": false,
    1672     "_overflow": true,
    1673     "_properties": [
    1674       {
    1675         "_name": "aLink",
    1676         "_type": "string",
    1677         "_value": ""
    1678       },
    1679       {
    1680         "_name": "background",
    1681         "_type": "string",
    1682         "_value": ""
    1683       },
    1684       {
    1685         "_name": "bgColor",
    1686         "_type": "string",
    1687         "_value": ""
    1688       },
    1689       {
    1690         "_name": "link",
    1691         "_type": "string",
    1692         "_value": ""
    1693       },
    1694       {
    1695         "_name": "text",
    1696         "_type": "string",
    1697         "_value": ""
    1698       }
    1699     ],
    1700     "_entries": null
    1701   }
    1702 }
    1703 
    1704 -----------------------------------------------------
    1705 EXPRESSION: div = document.createElement('div'); div.className = 'foo bar'; div
    1706 {
    1707   "_type": "object",
    1708   "_subtype": "node",
    1709   "_objectId": "<filtered>",
    1710   "_description": "div.foo.bar",
    1711   "_preview": {
    1712     "_type": "object",
    1713     "_subtype": "node",
    1714     "_description": "div.foo.bar",
    1715     "_lossless": false,
    1716     "_overflow": true,
    1717     "_properties": [
    1718       {
    1719         "_name": "align",
    1720         "_type": "string",
    1721         "_value": ""
    1722       },
    1723       {
    1724         "_name": "title",
    1725         "_type": "string",
    1726         "_value": ""
    1727       },
    1728       {
    1729         "_name": "lang",
    1730         "_type": "string",
    1731         "_value": ""
    1732       },
    1733       {
    1734         "_name": "translate",
    1735         "_type": "boolean",
    1736         "_value": "true"
    1737       },
    1738       {
    1739         "_name": "dir",
    1740         "_type": "string",
    1741         "_value": ""
    1742       }
    1743     ],
    1744     "_entries": null
    1745   }
    1746 }
    1747 
    1748 -----------------------------------------------------
    1749 EXPRESSION: span = document.createElement('span'); span.id = 'foo'; span
    1750 {
    1751   "_type": "object",
    1752   "_subtype": "node",
    1753   "_objectId": "<filtered>",
    1754   "_description": "span#foo",
    1755   "_preview": {
    1756     "_type": "object",
    1757     "_subtype": "node",
    1758     "_description": "span#foo",
    1759     "_lossless": false,
    1760     "_overflow": true,
    1761     "_properties": [
    1762       {
    1763         "_name": "title",
    1764         "_type": "string",
    1765         "_value": ""
    1766       },
    1767       {
    1768         "_name": "lang",
    1769         "_type": "string",
    1770         "_value": ""
    1771       },
    1772       {
    1773         "_name": "translate",
    1774         "_type": "boolean",
    1775         "_value": "true"
    1776       },
    1777       {
    1778         "_name": "dir",
    1779         "_type": "string",
    1780         "_value": ""
    1781       },
    1782       {
    1783         "_name": "tabIndex",
    1784         "_type": "number",
    1785         "_value": "-1"
    1786       }
    1787     ],
    1788     "_entries": null
    1789   }
    1790 }
    1791 
    1792 -----------------------------------------------------
    1793 EXPRESSION: input = document.createElement('input'); input.type = 'password'; input
    1794 {
    1795   "_type": "object",
    1796   "_subtype": "node",
    1797   "_objectId": "<filtered>",
    1798   "_description": "input",
    1799   "_preview": {
    1800     "_type": "object",
    1801     "_subtype": "node",
    1802     "_description": "input",
    1803     "_lossless": false,
    1804     "_overflow": true,
    1805     "_properties": [
    1806       {
    1807         "_name": "selectionStart",
    1808         "_type": "number",
    1809         "_value": "0"
    1810       },
    1811       {
    1812         "_name": "selectionEnd",
    1813         "_type": "number",
    1814         "_value": "0"
    1815       },
    1816       {
    1817         "_name": "selectionDirection",
    1818         "_type": "string",
    1819         "_value": "none"
    1820       },
    1821       {
    1822         "_name": "accept",
    1823         "_type": "string",
    1824         "_value": ""
    1825       },
    1826       {
    1827         "_name": "alt",
    1828         "_type": "string",
    1829         "_value": ""
    1830       }
    1831     ],
    1832     "_entries": null
    1833   }
    1834 }
    1835 
    1836 -----------------------------------------------------
    1837 EXPRESSION: text = document.createTextNode('text content'); text
    1838 {
    1839   "_type": "object",
    1840   "_subtype": "node",
    1841   "_objectId": "<filtered>",
    1842   "_description": "#text",
    1843   "_preview": {
    1844     "_type": "object",
    1845     "_subtype": "node",
    1846     "_description": "#text",
    1847     "_lossless": false,
    1848     "_overflow": true,
    1849     "_properties": [
    1850       {
    1851         "_name": "wholeText",
    1852         "_type": "string",
    1853         "_value": "text content"
    1854       },
    1855       {
    1856         "_name": "splitText",
    1857         "_type": "function",
    1858         "_value": ""
    1859       },
    1860       {
    1861         "_name": "replaceWholeText",
    1862         "_type": "function",
    1863         "_value": ""
    1864       },
    1865       {
    1866         "_name": "data",
    1867         "_type": "string",
    1868         "_value": "text content"
    1869       },
    1870       {
    1871         "_name": "length",
    1872         "_type": "number",
    1873         "_value": "12"
    1874       }
    1875     ],
    1876     "_entries": null
    1877   }
    1878 }
    1879 
    1880 -----------------------------------------------------
    1881 EXPRESSION: comment = document.createComment('comment content'); comment
    1882 {
    1883   "_type": "object",
    1884   "_subtype": "node",
    1885   "_objectId": "<filtered>",
    1886   "_description": "#comment",
    1887   "_preview": {
    1888     "_type": "object",
    1889     "_subtype": "node",
    1890     "_description": "#comment",
    1891     "_lossless": false,
    1892     "_overflow": true,
    1893     "_properties": [
    1894       {
    1895         "_name": "data",
    1896         "_type": "string",
    1897         "_value": "comment content"
    1898       },
    1899       {
    1900         "_name": "length",
    1901         "_type": "number",
    1902         "_value": "15"
    1903       },
    1904       {
    1905         "_name": "previousElementSibling",
    1906         "_type": "object",
    1907         "_subtype": "null",
    1908         "_value": "null"
    1909       },
    1910       {
    1911         "_name": "nextElementSibling",
    1912         "_type": "object",
    1913         "_subtype": "null",
    1914         "_value": "null"
    1915       },
    1916       {
    1917         "_name": "substringData",
    1918         "_type": "function",
    1919         "_value": ""
    1920       }
    1921     ],
    1922     "_entries": null
    1923   }
    1924 }
    1925 
    1926 -----------------------------------------------------
    1927 EXPRESSION: svgElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect'); svgElement.classList.add('test'); svgElement
    1928 {
    1929   "_type": "object",
    1930   "_subtype": "node",
    1931   "_objectId": "<filtered>",
    1932   "_description": "rect.test",
    1933   "_preview": {
    1934     "_type": "object",
    1935     "_subtype": "node",
    1936     "_description": "rect.test",
    1937     "_lossless": false,
    1938     "_overflow": true,
    1939     "_properties": [
    1940       {
    1941         "_name": "x",
    1942         "_type": "object",
    1943         "_value": "SVGAnimatedLength"
    1944       },
    1945       {
    1946         "_name": "y",
    1947         "_type": "object",
    1948         "_value": "SVGAnimatedLength"
    1949       },
    1950       {
    1951         "_name": "width",
    1952         "_type": "object",
    1953         "_value": "SVGAnimatedLength"
    1954       },
    1955       {
    1956         "_name": "height",
    1957         "_type": "object",
    1958         "_value": "SVGAnimatedLength"
    1959       },
    1960       {
    1961         "_name": "rx",
    1962         "_type": "object",
    1963         "_value": "SVGAnimatedLength"
    1964       }
    1965     ],
    1966     "_entries": null
    1967   }
    1968 }
    1969 
    1970 -----------------------------------------------------
    1971 EXPRESSION: [document.body, div, span, input, text, comment, svgElement]
    1972 {
    1973   "_type": "object",
    1974   "_subtype": "array",
    1975   "_objectId": "<filtered>",
    1976   "_description": "Array",
    1977   "_size": 7,
    1978   "_preview": {
    1979     "_type": "object",
    1980     "_subtype": "array",
    1981     "_description": "Array",
    1982     "_lossless": false,
    1983     "_overflow": false,
    1984     "_size": 7,
    1985     "_properties": [
    1986       {
    1987         "_name": "0",
    1988         "_type": "object",
    1989         "_subtype": "node",
    1990         "_value": "<body>"
    1991       },
    1992       {
    1993         "_name": "1",
    1994         "_type": "object",
    1995         "_subtype": "node",
    1996         "_value": "<div class=\"foo bar\">"
    1997       },
    1998       {
    1999         "_name": "2",
    2000         "_type": "object",
    2001         "_subtype": "node",
    2002         "_value": "<span id=\"foo\">"
    2003       },
    2004       {
    2005         "_name": "3",
    2006         "_type": "object",
    2007         "_subtype": "node",
    2008         "_value": "<input type=\"password\">"
    2009       },
    2010       {
    2011         "_name": "4",
    2012         "_type": "object",
    2013         "_subtype": "node",
    2014         "_value": "#text \"text content\""
    2015       },
    2016       {
    2017         "_name": "5",
    2018         "_type": "object",
    2019         "_subtype": "node",
    2020         "_value": "<!--comment content-->"
    2021       },
    2022       {
    2023         "_name": "6",
    2024         "_type": "object",
    2025         "_subtype": "node",
    2026         "_value": "<rect class=\"test\">"
    2027       }
    2028     ],
    2029     "_entries": null
    2030   }
    2031 }
    2032 
    2033 -----------------------------------------------------
    2034 EXPRESSION: document.head.children
    2035 {
    2036   "_type": "object",
    2037   "_subtype": "array",
    2038   "_objectId": "<filtered>",
    2039   "_description": "HTMLCollection",
    2040   "_size": 3,
    2041   "_preview": {
    2042     "_type": "object",
    2043     "_subtype": "array",
    2044     "_description": "HTMLCollection",
    2045     "_lossless": false,
    2046     "_overflow": false,
    2047     "_size": 3,
    2048     "_properties": [
    2049       {
    2050         "_name": "0",
    2051         "_type": "object",
    2052         "_subtype": "node",
    2053         "_value": "<meta>"
    2054       },
    2055       {
    2056         "_name": "1",
    2057         "_type": "object",
    2058         "_subtype": "node",
    2059         "_value": "<script>"
    2060       },
    2061       {
    2062         "_name": "2",
    2063         "_type": "object",
    2064         "_subtype": "node",
    2065         "_value": "<script>"
    2066       }
    2067     ],
    2068     "_entries": null
    2069   }
    2070 }
    2071 
    2072 -----------------------------------------------------
    2073 EXPRESSION: document.getElementsByClassName('my-test')
    2074 {
    2075   "_type": "object",
    2076   "_subtype": "array",
    2077   "_objectId": "<filtered>",
    2078   "_description": "HTMLCollection",
    2079   "_size": 3,
    2080   "_preview": {
    2081     "_type": "object",
    2082     "_subtype": "array",
    2083     "_description": "HTMLCollection",
    2084     "_lossless": false,
    2085     "_overflow": false,
    2086     "_size": 3,
    2087     "_properties": [
    2088       {
    2089         "_name": "0",
    2090         "_type": "object",
    2091         "_subtype": "node",
    2092         "_value": "<p class=\"my-test\">"
    2093       },
    2094       {
    2095         "_name": "1",
    2096         "_type": "object",
    2097         "_subtype": "node",
    2098         "_value": "<p class=\"my-test\">"
    2099       },
    2100       {
    2101         "_name": "2",
    2102         "_type": "object",
    2103         "_subtype": "node",
    2104         "_value": "<p class=\"my-test\">"
    2105       }
    2106     ],
    2107     "_entries": null
    2108   }
    2109 }
    2110 
    2111 -----------------------------------------------------
    2112 EXPRESSION: document.querySelectorAll('.my-test')
    2113 {
    2114   "_type": "object",
    2115   "_subtype": "array",
    2116   "_objectId": "<filtered>",
    2117   "_description": "NodeList",
    2118   "_size": 3,
    2119   "_preview": {
    2120     "_type": "object",
    2121     "_subtype": "array",
    2122     "_description": "NodeList",
    2123     "_lossless": false,
    2124     "_overflow": false,
    2125     "_size": 3,
    2126     "_properties": [
    2127       {
    2128         "_name": "0",
    2129         "_type": "object",
    2130         "_subtype": "node",
    2131         "_value": "<p class=\"my-test\">"
    2132       },
    2133       {
    2134         "_name": "1",
    2135         "_type": "object",
    2136         "_subtype": "node",
    2137         "_value": "<p class=\"my-test\">"
    2138       },
    2139       {
    2140         "_name": "2",
    2141         "_type": "object",
    2142         "_subtype": "node",
    2143         "_value": "<p class=\"my-test\">"
    2144       }
    2145     ],
    2146     "_entries": null
    2147   }
    2148 }
    2149 
    2150 -----------------------------------------------------
    21511628EXPRESSION: error = null; try { [].x.x; } catch (e) { error = e; }; error
    21521629{
     
    21591636    "_subtype": "error",
    21601637    "_description": "TypeError: undefined is not an object (evaluating '[].x.x')",
    2161     "_lossless": true,
     1638    "_lossless": false,
    21621639    "_overflow": false,
    21631640    "_properties": [
     
    21701647        "_name": "line",
    21711648        "_type": "number",
    2172         "_value": "1"
     1649        "_value": "3"
    21731650      },
    21741651      {
     
    21801657        "_name": "stack",
    21811658        "_type": "string",
    2182         "_value": "eval code\neval@[native code]\n_evaluateOn\n_evaluateAndWrap\nevaluate"
    2183       }
    2184     ],
    2185     "_entries": null
    2186   }
    2187 }
    2188 
    2189 -----------------------------------------------------
    2190 EXPRESSION: error = null; try { eval('if()'); } catch (e) { error = e; }; error
     1659        "_value": "global code\nevaluateWithScopeExtension@[native code]\n_evaluateOn\n_evaluateAndWrap\nevaluate"
     1660      }
     1661    ],
     1662    "_entries": null
     1663  }
     1664}
     1665
     1666-----------------------------------------------------
     1667EXPRESSION: error = null; try { eval("if()"); } catch (e) { error = e; }; error
    21911668{
    21921669  "_type": "object",
     
    21981675    "_subtype": "error",
    21991676    "_description": "SyntaxError: Unexpected token ')'",
    2200     "_lossless": true,
     1677    "_lossless": false,
    22011678    "_overflow": false,
    22021679    "_properties": [
     
    22091686        "_name": "line",
    22101687        "_type": "number",
    2211         "_value": "1"
     1688        "_value": "3"
    22121689      },
    22131690      {
     
    22191696        "_name": "stack",
    22201697        "_type": "string",
    2221         "_value": "eval@[native code]\neval code\neval@[native code]\n_evaluateOn\n_evaluateAndWrap\nevaluate"
    2222       }
    2223     ],
    2224     "_entries": null
    2225   }
    2226 }
    2227 
    2228 -----------------------------------------------------
    2229 EXPRESSION: error = null; try { document.createTextNode('').splitText(100); } catch (e) { error = e; }; error
     1698        "_value": "eval@[native code]\nglobal code\nevaluateWithScopeEx…ative code]\n_evaluateOn\n_evaluateAndWrap\nevaluate"
     1699      }
     1700    ],
     1701    "_entries": null
     1702  }
     1703}
     1704
     1705-----------------------------------------------------
     1706EXPRESSION: error = null; try { document.createTextNode("").splitText(100); } catch (e) { error = e; }; error
    22301707{
    22311708  "_type": "object",
     
    22531730        "_name": "message",
    22541731        "_type": "string",
    2255         "_value": "IndexSizeError: DOM Exception 1"
     1732        "_value": "The index is not in the allowed range."
    22561733      },
    22571734      {
    22581735        "_name": "line",
    22591736        "_type": "number",
    2260         "_value": "1"
     1737        "_value": "3"
    22611738      },
    22621739      {
     
    22911768
    22921769-----------------------------------------------------
    2293 EXPRESSION: map = new Map; map.set(1, 2); map.set('key', 'value'); map
     1770EXPRESSION: map = new Map; map.set(1, 2); map.set("key", "value"); map
    22941771{
    22951772  "_type": "object",
     
    23981875          "_type": "object",
    23991876          "_subtype": "node",
    2400           "_description": "body",
     1877          "_description": "<body>",
    24011878          "_lossless": false,
    24021879          "_overflow": true,
     
    26892166
    26902167-----------------------------------------------------
    2691 EXPRESSION: set = new Set; set.add(1); set.add(2); set.add('key'); set
     2168EXPRESSION: set = new Set; set.add(1); set.add(2); set.add("key"); set
    26922169{
    26932170  "_type": "object",
     
    27762253          "_type": "object",
    27772254          "_subtype": "node",
    2778           "_description": "body",
     2255          "_description": "<body>",
    27792256          "_lossless": false,
    27802257          "_overflow": true,
     
    29782455
    29792456-----------------------------------------------------
    2980 EXPRESSION: 'a'[Symbol.iterator]()
     2457EXPRESSION: "a"[Symbol.iterator]()
    29812458{
    29822459  "_type": "object",
     
    30142491
    30152492-----------------------------------------------------
    3016 EXPRESSION: 'long string'[Symbol.iterator]()
     2493EXPRESSION: "long string"[Symbol.iterator]()
    30172494{
    30182495  "_type": "object",
     
    31892666
    31902667-----------------------------------------------------
    3191 EXPRESSION: [1, 'two', 3, 'four', 5, 'size'][Symbol.iterator]()
     2668EXPRESSION: [1, "two", 3, "four", 5, "size"][Symbol.iterator]()
    31922669{
    31932670  "_type": "object",
     
    32722749
    32732750-----------------------------------------------------
    3274 EXPRESSION: [1, 'two', 3, 'four', 5, 'size'].keys()
     2751EXPRESSION: [1, "two", 3, "four", 5, "size"].keys()
    32752752{
    32762753  "_type": "object",
     
    33552832
    33562833-----------------------------------------------------
    3357 EXPRESSION: [1, 'two', 3, 'four', 5, 'size'].entries()
     2834EXPRESSION: [1, "two", 3, "four", 5, "size"].entries()
    33582835{
    33592836  "_type": "object",
     
    35032980
    35042981-----------------------------------------------------
    3505 EXPRESSION: map = new Map; map.set(1, 2); map.set('key', 'value'); map.values()
     2982EXPRESSION: map = new Map; map.set(1, 2); map.set("key", "value"); map.values()
    35062983{
    35072984  "_type": "object",
     
    38503327
    38513328-----------------------------------------------------
    3852 EXPRESSION: x = undefined; (function() { x = arguments; })(1, 'two'); x[Symbol.iterator]()
     3329EXPRESSION: x = undefined; (function() { x = arguments; })(1, "two"); x[Symbol.iterator]()
    38533330{
    38543331  "_type": "object",
     
    39233400
    39243401-----------------------------------------------------
    3925 EXPRESSION: iter = [1, 2][Symbol.iterator](); iter['return'] = function(){}; iter
     3402EXPRESSION: iter = [1, 2][Symbol.iterator](); iter["return"] = function(){}; iter
    39263403{
    39273404  "_type": "object",
     
    40043481    "_type": "object",
    40053482    "_description": "Promise",
    4006     "_lossless": true,
     3483    "_lossless": false,
    40073484    "_overflow": false,
    40083485    "_properties": [
     
    40273504    "_type": "object",
    40283505    "_description": "Promise",
    4029     "_lossless": true,
     3506    "_lossless": false,
    40303507    "_overflow": false,
    40313508    "_properties": [
     
    40483525
    40493526-----------------------------------------------------
    4050 EXPRESSION: Promise.reject('result')
     3527EXPRESSION: Promise.reject("result")
    40513528{
    40523529  "_type": "object",
     
    40563533    "_type": "object",
    40573534    "_description": "Promise",
    4058     "_lossless": true,
     3535    "_lossless": false,
    40593536    "_overflow": false,
    40603537    "_properties": [
     
    40853562    "_type": "object",
    40863563    "_description": "Promise",
    4087     "_lossless": true,
     3564    "_lossless": false,
    40883565    "_overflow": false,
    40893566    "_properties": [
     
    41143591    "_type": "object",
    41153592    "_description": "Promise",
    4116     "_lossless": true,
     3593    "_lossless": false,
    41173594    "_overflow": false,
    41183595    "_properties": [
     
    42173694    "_description": "Person"
    42183695  },
    4219   "_functionDescription": "function Person(name){}"
     3696  "_functionDescription": "class Person { constructor(name){} get fullName(){} methodName(p1, p2){} }"
    42203697}
    42213698
     
    42263703  "_objectId": "<filtered>",
    42273704  "_description": "function methodName(p1, p2){}"
     3705}
     3706
     3707-----------------------------------------------------
     3708EXPRESSION: new Person
     3709{
     3710  "_type": "object",
     3711  "_objectId": "<filtered>",
     3712  "_description": "Person",
     3713  "_preview": {
     3714    "_type": "object",
     3715    "_description": "Person",
     3716    "_lossless": false,
     3717    "_overflow": false,
     3718    "_properties": [],
     3719    "_entries": null
     3720  }
    42283721}
    42293722
     
    42403733    "_description": "B"
    42413734  },
    4242   "_functionDescription": "function B() { super(...arguments); }"
     3735  "_functionDescription": "class B extends Alpha { methodB(){} }"
    42433736}
    42443737
  • trunk/LayoutTests/inspector/model/remote-object.html

    r218836 r218862  
    1212
    1313        // Null / undefined
    14         {expression: "null"},
    15         {expression: "undefined"},
     14        {expression: `null`},
     15        {expression: `undefined`},
    1616
    1717        // Symbol
    18         {expression: "Symbol()"},
    19         {expression: "Symbol('test')"},
     18        {expression: `Symbol()`},
     19        {expression: `Symbol("test")`},
    2020
    2121    // Primatives:
    2222
    2323        // Boolean
    24         {expression: "true"},
    25         {expression: "false"},
     24        {expression: `true`},
     25        {expression: `false`},
    2626
    2727        // Number
    28         {expression: "0"},
    29         {expression: "-0"},
    30         {expression: "1"},
    31         {expression: "-1"},
    32         {expression: "1.234"},
    33         {expression: "-1.234"},
    34         {expression: "1e3"},
    35         {expression: "Number.MAX_VALUE"},
    36         {expression: "Number.MIN_VALUE"},
    37         {expression: "NaN"},
    38         {expression: "Infinity"},
    39         {expression: "-Infinity"},
     28        {expression: `0`},
     29        {expression: `-0`},
     30        {expression: `1`},
     31        {expression: `-1`},
     32        {expression: `1.234`},
     33        {expression: `-1.234`},
     34        {expression: `1e3`},
     35        {expression: `Number.MAX_VALUE`},
     36        {expression: `Number.MIN_VALUE`},
     37        {expression: `NaN`},
     38        {expression: `Infinity`},
     39        {expression: `-Infinity`},
    4040
    4141        // Strings
    42         {expression: "''"},
    43         {expression: "'\"'"}, // a single quote
    44         {expression: "\"'\""}, // a double quote
    45         {expression: "'string'"},
    46         {expression: "'Unicode…'"},
    47         {expression: "'I wish I had something to put here.'"},
     42        {expression: `''`},
     43        {expression: `'"'`}, // a single quoted string
     44        {expression: `"'"`}, // a double quoted string
     45        {expression: "`template`"}, // a template string
     46        {expression: `"string"`},
     47        {expression: `"Unicode…"`},
     48        {expression: `"I wish I had something to put here."`},
    4849
    4950        // Function
    50         {expression: "(function(){})"},
    51         {expression: "function foo(){}; foo"},
    52         {expression: "function myFunction(a, b) { console.log(a, b); }; myFunction"},
    53         {expression: "function myTarget(a, b) { console.log(a, b); }; myTarget.bind(null)"}, // bound function
    54         {expression: "Array.prototype.push"}, // native (ECMAScript)
    55         {expression: "window.setTimeout"}, // native (DOM)
    56         {expression: "Object.getOwnPropertyDescriptor({ get getter() { return 1 } }, 'getter').get"}, // getter
    57         {expression: "Object.getOwnPropertyDescriptor({ set setter(v) { console.log(v); } }, 'setter').set"}, // setter
     51        {expression: `(function(){})`},
     52        {expression: `function foo(){}; foo`},
     53        {expression: `function myFunction(a, b) { console.log(a, b); }; myFunction`},
     54        {expression: `function myTarget(a, b) { console.log(a, b); }; myTarget.bind(null)`}, // bound function
     55        {expression: `Array.prototype.push`}, // native (ECMAScript)
     56        {expression: `window.setTimeout`}, // native (DOM)
     57        {expression: `Object.getOwnPropertyDescriptor({ get getter() { return 1 } }, "getter").get`}, // getter
     58        {expression: `Object.getOwnPropertyDescriptor({ set setter(v) { console.log(v); } }, "setter").set`}, // setter
    5859
    5960    // Objects:
    6061
    6162        // Date
    62         {expression: "new Date(99)", browserOnly: true},
    63         {expression: "new Date(1421903245871)", browserOnly: true},
     63        {expression: `new Date(99)`, browserOnly: true},
     64        {expression: `new Date(1421903245871)`, browserOnly: true},
    6465
    6566        // Regexp
    66         {expression: "/ /"},
    67         {expression: "/(?:)/"},
    68         {expression: "/^r(e)g[e]{1,}x+/"},
    69         {expression: "/^r(e)g[e]{1,}x+/ig"},
    70         {expression: "new RegExp('')"},
    71         {expression: "new RegExp('test', 'i')"},
     67        {expression: `/ /`},
     68        {expression: `/(?:)/`},
     69        {expression: `/^r(e)g[e]{1,}x+/`},
     70        {expression: `/^r(e)g[e]{1,}x+/ig`},
     71        {expression: `new RegExp("")`},
     72        {expression: `new RegExp("test", "i")`},
    7273
    7374        // Array
    74         {expression: "[]"},
    75         {expression: "[0, -0, 1, 2]"},
    76         {expression: "[[1],[2],[3]]"},
    77         {expression: "[true, 1, 1.234, 'string', /regex/]"},
    78         {expression: "[[null]]"},
    79         {expression: "[[undefined]]"},
    80         {expression: "[{a:1}, {b:2}, {c:2}]"},
    81         {expression: "[[{a:1}, {b:2}, {c:2}]]"},
    82         {expression: "arr = []; arr[0] = arr; arr"}, // cyclic
    83         {expression: "arr = []; arr.length = 100; arr"}, // 100 empty elements
    84         {expression: "arr = []; arr.length = 100; arr.fill(1)"}, // 100 full elements
    85         {expression: "arr = []; arr.length = 100; arr[10] = 1; arr"}, // sparse
     75        {expression: `[]`},
     76        {expression: `[0, -0, 1, 2]`},
     77        {expression: `[[1],[2],[3]]`},
     78        {expression: `[true, 1, 1.234, "string", /regex/]`},
     79        {expression: `[[null]]`},
     80        {expression: `[[undefined]]`},
     81        {expression: `[{a:1}, {b:2}, {c:2}]`},
     82        {expression: `[[{a:1}, {b:2}, {c:2}]]`},
     83        {expression: `arr = []; arr[0] = arr; arr`}, // cyclic
     84        {expression: `arr = []; arr.length = 100; arr`}, // 100 empty elements
     85        {expression: `arr = []; arr.length = 100; arr.fill(1)`}, // 100 full elements
     86        {expression: `arr = []; arr.length = 100; arr[10] = 1; arr`}, // sparse
    8687
    8788        // Array-like (Arguments, TypedArrays)
    88         {expression: "a = null; (function() { a = arguments; })(1, '2', /3/); a"},
    89         {expression: "new Int32Array(new ArrayBuffer(16))"},
    90         {expression: "new Uint8ClampedArray(12)"},
    91         {expression: "var intArray = new Int32Array(new ArrayBuffer(16)); for (var i = 0; i < intArray.length; ++i) intArray[i] = i; intArray"},
    92         {expression: "var buffer = new ArrayBuffer(10000000); var int8View = new Int8Array(buffer); int8View"}, // 10000000 elements.
     89        {expression: `a = null; (function() { a = arguments; })(1, "2", /3/); a`},
     90        {expression: `new Int32Array(new ArrayBuffer(16))`},
     91        {expression: `new Uint8ClampedArray(12)`},
     92        {expression: `var intArray = new Int32Array(new ArrayBuffer(16)); for (var i = 0; i < intArray.length; ++i) intArray[i] = i; intArray`},
     93        {expression: `var buffer = new ArrayBuffer(10000000); var int8View = new Int8Array(buffer); int8View`}, // 10000000 elements.
    9394
    9495        // Object
    95         {expression: "({})"},
    96         {expression: "({a: 1})"},
    97         {expression: "({a: 1, b: 0, c: -0})"},
    98         {expression: "({a: 1, b: \"string\", c: /regex/, d: Symbol('sym')})"},
    99         {expression: "o = {a:1}; o.b = o; o"}, // cyclic
    100         {expression: "({a:function a(){}, b:function b(){}, get getter(){}, set setter(v){}})"},
    101         {expression: "function Foo() {}; new Foo"},
    102         {expression: "var Foo2 = function() {}; new Foo2"},
    103         {expression: "var namespace = {}; namespace.Foo3 = function() {}; new namespace.Foo3"},
    104         {expression: "function Bar() { this._x = 5 }; Bar.prototype = {constructor: Bar, get x() {return this._x;}}; new Bar"},
    105         {expression: "function Bar2() { this._x = 5 }; Bar.prototype = {get x() {return this._x;}}; new Bar2"},
    106         {expression: "window.loadEvent"}, // window.loadEvent is set inside of <body onload="..."> below.
    107         {expression: "new ArrayBuffer(16)"},
    108         {expression: "new DataView(new ArrayBuffer(16))"},
    109         {expression: "obj = {}; obj['prop'] = 1; obj[Symbol()] = 2; obj[Symbol('sym')] = 3; obj[Symbol('sym')] = 4; obj[Symbol.iterator] = Symbol(); obj"}, // Symbol properties
    110 
    111         // Node
    112         {expression: "document.body"},
    113         {expression: "div = document.createElement('div'); div.className = 'foo bar'; div"},
    114         {expression: "span = document.createElement('span'); span.id = 'foo'; span"},
    115         {expression: "input = document.createElement('input'); input.type = 'password'; input"},
    116         {expression: "text = document.createTextNode('text content'); text"},
    117         {expression: "comment = document.createComment('comment content'); comment"},
    118         {expression: "svgElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect'); svgElement.classList.add('test'); svgElement"},
    119         {expression: "[document.body, div, span, input, text, comment, svgElement]"},
    120 
    121         // Node Collections (NodeLists / Collections)
    122         {expression: "document.all", browserOnly: true}, // HTMLAllCollection
    123         {expression: "document.head.children"}, // HTMLCollection
    124         {expression: "document.getElementsByClassName('my-test')"}, // NodeList
    125         {expression: "document.querySelectorAll('.my-test')"}, // Non-Live NodeList
     96        {expression: `({})`},
     97        {expression: `({a: 1})`},
     98        {expression: `({a: 1, b: 0, c: -0})`},
     99        {expression: `({a: 1, b: \"string\", c: /regex/, d: Symbol("sym")})`},
     100        {expression: `o = {a:1}; o.b = o; o`}, // cyclic
     101        {expression: `({a:function a(){}, b:function b(){}, get getter(){}, set setter(v){}})`},
     102        {expression: `function Foo() {}; new Foo`},
     103        {expression: `var Foo2 = function() {}; new Foo2`},
     104        {expression: `var namespace = {}; namespace.Foo3 = function() {}; new namespace.Foo3`},
     105        {expression: `function Bar() { this._x = 5 }; Bar.prototype = {constructor: Bar, get x() {return this._x;}}; new Bar`},
     106        {expression: `function Bar2() { this._x = 5 }; Bar.prototype = {get x() {return this._x;}}; new Bar2`},
     107        {expression: `new ArrayBuffer(16)`},
     108        {expression: `new DataView(new ArrayBuffer(16))`},
     109        {expression: `obj = {}; obj["prop"] = 1; obj[Symbol()] = 2; obj[Symbol("sym")] = 3; obj[Symbol("sym")] = 4; obj[Symbol.iterator] = Symbol(); obj`}, // Symbol properties
    126110
    127111        // Error
    128         {expression: "error = null; try { [].x.x; } catch (e) { error = e; }; error"},
    129         {expression: "error = null; try { eval('if()'); } catch (e) { error = e; }; error"},
    130         {expression: "error = null; try { document.createTextNode('').splitText(100); } catch (e) { error = e; }; error"},
     112        {expression: `error = null; try { [].x.x; } catch (e) { error = e; }; error`},
     113        {expression: `error = null; try { eval("if()"); } catch (e) { error = e; }; error`},
     114        {expression: `error = null; try { document.createTextNode("").splitText(100); } catch (e) { error = e; }; error`},
    131115
    132116        // Map / WeakMap
    133         {expression: "new Map"},
    134         {expression: "map = new Map; map.set(1, 2); map.set('key', 'value'); map"},
    135         {expression: "map = new Map; map.set({a:1}, {b:2}); map.set(document.body, [1,2]); map"},
    136         {expression: "map = new Map; for (var i = 0; i <= 100; i++) map.set(i, i); map"},
    137         {expression: "map = new Map; map.set(map, map); map"},
    138         {expression: "map = new WeakMap; strongKey = {id:1}; map.set(strongKey, [1,2]); map"},
     117        {expression: `new Map`},
     118        {expression: `map = new Map; map.set(1, 2); map.set("key", "value"); map`},
     119        {expression: `map = new Map; map.set({a:1}, {b:2}); map.set(document.body, [1,2]); map`},
     120        {expression: `map = new Map; for (var i = 0; i <= 100; i++) map.set(i, i); map`},
     121        {expression: `map = new Map; map.set(map, map); map`},
     122        {expression: `map = new WeakMap; strongKey = {id:1}; map.set(strongKey, [1,2]); map`},
    139123
    140124        // Set / WeakSet
    141         {expression: "new Set"},
    142         {expression: "set = new Set; set.add(1); set.add(2); set.add('key'); set"},
    143         {expression: "set = new Set; set.add({a:1}); set.add(document.body); set.add([1,2]); set"},
    144         {expression: "set = new Set; for (var i = 0; i <= 100; i++) set.add(i); set"},
    145         {expression: "set = new Set; set.add(set); set"},
    146         {expression: "set = new WeakSet; strongKey = {id:1}; set.add(strongKey); set"},
     125        {expression: `new Set`},
     126        {expression: `set = new Set; set.add(1); set.add(2); set.add("key"); set`},
     127        {expression: `set = new Set; set.add({a:1}); set.add(document.body); set.add([1,2]); set`},
     128        {expression: `set = new Set; for (var i = 0; i <= 100; i++) set.add(i); set`},
     129        {expression: `set = new Set; set.add(set); set`},
     130        {expression: `set = new WeakSet; strongKey = {id:1}; set.add(strongKey); set`},
    147131
    148132        // Iterators
    149         {expression: "'a'[Symbol.iterator]()"},
    150         {expression: "'long string'[Symbol.iterator]()"},
    151         {expression: "[][Symbol.iterator]()"},
    152         {expression: "[1][Symbol.iterator]()"},
    153         {expression: "[1, 'two', 3, 'four', 5, 'size'][Symbol.iterator]()"},
    154         {expression: "[1, 'two', 3, 'four', 5, 'size'].keys()"},
    155         {expression: "[1, 'two', 3, 'four', 5, 'size'].entries()"},
    156         {expression: "map = new Map; map.set(1, 2); map.set('key', 'value'); map.values()"},
    157         {expression: "map.keys()"},
    158         {expression: "map.entries()"},
    159         {expression: "set = new Set; for (var i = 0; i <= 100; i++) set.add(i); set.values()"},
    160         {expression: "map.entries()"},
    161         {expression: "x = undefined; (function() { x = arguments; })(1, 'two'); x[Symbol.iterator]()"},
    162         {expression: "iter = [1, 2][Symbol.iterator](); iter['return'] = function(){}; iter"},
     133        {expression: `"a"[Symbol.iterator]()`},
     134        {expression: `"long string"[Symbol.iterator]()`},
     135        {expression: `[][Symbol.iterator]()`},
     136        {expression: `[1][Symbol.iterator]()`},
     137        {expression: `[1, "two", 3, "four", 5, "size"][Symbol.iterator]()`},
     138        {expression: `[1, "two", 3, "four", 5, "size"].keys()`},
     139        {expression: `[1, "two", 3, "four", 5, "size"].entries()`},
     140        {expression: `map = new Map; map.set(1, 2); map.set("key", "value"); map.values()`},
     141        {expression: `map.keys()`},
     142        {expression: `map.entries()`},
     143        {expression: `set = new Set; for (var i = 0; i <= 100; i++) set.add(i); set.values()`},
     144        {expression: `map.entries()`},
     145        {expression: `x = undefined; (function() { x = arguments; })(1, "two"); x[Symbol.iterator]()`},
     146        {expression: `iter = [1, 2][Symbol.iterator](); iter["return"] = function(){}; iter`},
    163147
    164148        // Promise
    165         {expression: "new Promise(function(){})"},
    166         {expression: "Promise.reject()"},
    167         {expression: "Promise.reject('result')"},
    168         {expression: "Promise.resolve()"},
    169         {expression: "Promise.resolve({result:1})"},
     149        {expression: `new Promise(function(){})`},
     150        {expression: `Promise.reject()`},
     151        {expression: `Promise.reject("result")`},
     152        {expression: `Promise.resolve()`},
     153        {expression: `Promise.resolve({result:1})`},
    170154
    171155        // Proxy
    172         {expression: "new Proxy({x:1, y:1}, {handler: true})"},
    173         {expression: "new Proxy(new Proxy({foo:1, bar:1}, {}), {})"},
     156        {expression: `new Proxy({x:1, y:1}, {handler: true})`},
     157        {expression: `new Proxy(new Proxy({foo:1, bar:1}, {}), {})`},
    174158
    175159    // Classes
    176160
    177         {expression: "Person = class Person { constructor(name){} get fullName(){} methodName(p1, p2){} }; Person"}, // Constructor => class type
    178         {expression: "Person.prototype.methodName"}, // Method => just a function type
    179         {expression: "new Person"}, // Instance, not lossless, it's prototype may have interesting methods to show
    180         {expression: "Alpha = class A { methodA(){} }; Beta = class B extends Alpha { methodB(){} }; Beta"},
    181         {expression: "[Beta]"},
     161        {expression: `Person = class Person { constructor(name){} get fullName(){} methodName(p1, p2){} }; Person`}, // Constructor => class type
     162        {expression: `Person.prototype.methodName`}, // Method => just a function type
     163        {expression: `new Person`}, // Instance, not lossless, it's prototype may have interesting methods to show
     164        {expression: `Alpha = class A { methodA(){} }; Beta = class B extends Alpha { methodB(){} }; Beta`},
     165        {expression: `[Beta]`},
    182166
    183167    // Improveable:
    184168
    185169        // Sealed / Frozen objects.
    186         {expression: "Object.seal({})"},
    187         {expression: "Object.freeze({})"},
     170        {expression: `Object.seal({})`},
     171        {expression: `Object.freeze({})`},
    188172    ];
    189173
     
    197181</script>
    198182</head>
    199 <body onload="window.loadEvent = event; runTest(); runInBrowserTest();">
    200     <p class="my-test"></p><p class="my-test"></p><p class="my-test"></p>
    201 </body>
     183<body onload="runTest(); runInBrowserTest();"></body>
    202184</html>
  • trunk/LayoutTests/inspector/model/resources/remote-object-utilities.js

    r218836 r218862  
    3535            if (browserOnly) {
    3636                checkComplete();
    37                 return;
     37                continue;
    3838            }
    3939
Note: See TracChangeset for help on using the changeset viewer.