@stencil/vitest 1.1.17 → 1.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"html-serializer.d.ts","sourceRoot":"","sources":["../../src/testing/html-serializer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkCH,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,gBAAgB,GAAG,MAAM,EAC3D,OAAO,GAAE,gBAAqB,GAC7B,MAAM,CAWR;AAqHD;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkDjD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD"}
1
+ {"version":3,"file":"html-serializer.d.ts","sourceRoot":"","sources":["../../src/testing/html-serializer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkCH,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,gBAAgB,GAAG,MAAM,EAC3D,OAAO,GAAE,gBAAqB,GAC7B,MAAM,CAWR;AAuID;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkDjD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD"}
@@ -71,12 +71,18 @@ function serializeElementWithShadow(element, excludeStyles, serializeShadowRoot
71
71
  if (elem.attributes) {
72
72
  for (let i = 0; i < elem.attributes.length; i++) {
73
73
  const attr = elem.attributes[i];
74
+ // Handle namespaced attributes (e.g., xlink:href)
75
+ // Use prefix + localName if available, otherwise fall back to name
76
+ let attrName = attr.name;
77
+ if (attr.prefix && attr.localName) {
78
+ attrName = `${attr.prefix}:${attr.localName}`;
79
+ }
74
80
  // Boolean attributes (empty string value) should not have ="value"
75
81
  if (attr.value === '') {
76
- html += ` ${attr.name}`;
82
+ html += ` ${attrName}`;
77
83
  }
78
84
  else {
79
- html += ` ${attr.name}="${attr.value}"`;
85
+ html += ` ${attrName}="${attr.value}"`;
80
86
  }
81
87
  }
82
88
  }
@@ -88,7 +94,15 @@ function serializeElementWithShadow(element, excludeStyles, serializeShadowRoot
88
94
  const hasStencilPolyfill = serializeShadowRoot && '__childNodes' in stencilElem && stencilElem.__childNodes;
89
95
  if (hasShadowRoot) {
90
96
  // Use mock:shadow-root format to match mock-doc's output
91
- html += '<mock:shadow-root>';
97
+ // Include shadow root mode (open/closed) and other properties
98
+ const shadowRoot = elem.shadowRoot;
99
+ let shadowRootTag = '<mock:shadow-root';
100
+ // Add delegatesFocus if true
101
+ if (shadowRoot.delegatesFocus) {
102
+ shadowRootTag += ' shadowrootdelegatesfocus';
103
+ }
104
+ shadowRootTag += '>';
105
+ html += shadowRootTag;
92
106
  // Serialize shadow DOM children
93
107
  const shadowChildren = Array.from(elem.shadowRoot.childNodes);
94
108
  for (const child of shadowChildren) {
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "git",
5
5
  "url": "https://github.com/stenciljs/vitest"
6
6
  },
7
- "version": "1.1.17",
7
+ "version": "1.1.18",
8
8
  "description": "First-class testing utilities for Stencil design systems with Vitest",
9
9
  "license": "MIT",
10
10
  "type": "module",
@@ -97,7 +97,7 @@
97
97
  "dependencies": {
98
98
  "jiti": "^2.6.1",
99
99
  "local-pkg": "^1.1.2",
100
- "vitest-environment-stencil": "1.1.17"
100
+ "vitest-environment-stencil": "1.1.18"
101
101
  },
102
102
  "devDependencies": {
103
103
  "@eslint/js": "^9.39.2",