Socket
Socket
Sign inDemoInstall

@bigtest/interactor

Package Overview
Dependencies
22
Maintainers
1
Versions
809
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.30.0 to 0.31.0

6

CHANGELOG.md
# @bigtest/interactor
## 0.31.0
### Minor Changes
- 7089b975: Override filters appearing in lookup to the assertion filters (fix [#966](https://github.com/thefrontside/bigtest/issues/966))
## 0.30.0

@@ -4,0 +10,0 @@

20

dist/cjs/constructor.js

@@ -97,2 +97,20 @@ "use strict";

}
/**
* Removes any default values for a filter from the lookup if that filter is present in the
* assertion. Otherwise, it is not possible to make an assertion on a filter that might conflict
* see https://github.com/thefrontside/bigtest/issues/966
*/
function getLookupFilterForAssertion(filter, filters) {
let lookupFilter = new filter_1.Filter(filter.specification, Object.assign({}, filter.filters));
let specFilters = lookupFilter.specification.filters;
for (let key in specFilters) {
if (typeof specFilters[key] !== 'function'
&& 'default' in specFilters[key]
&& key in filters
&& !(key in lookupFilter.filters)) {
lookupFilter.filters[key] = filters[key];
}
}
return lookupFilter;
}
function unsafeSyncResolveParent(options) {

@@ -134,3 +152,3 @@ return options.ancestors.reduce(resolveUnique, globals_1.bigtestGlobals.document.documentElement);

return converge_1.converge(() => {
let element = resolver(options);
let element = resolver({ ...options, filter: getLookupFilterForAssertion(options.filter, filters) });
let match = new match_1.MatchFilter(element, filter);

@@ -137,0 +155,0 @@ if (!match.matches) {

@@ -90,2 +90,20 @@ /* eslint-disable @typescript-eslint/no-explicit-any */

}
/**
* Removes any default values for a filter from the lookup if that filter is present in the
* assertion. Otherwise, it is not possible to make an assertion on a filter that might conflict
* see https://github.com/thefrontside/bigtest/issues/966
*/
function getLookupFilterForAssertion(filter, filters) {
let lookupFilter = new Filter(filter.specification, Object.assign({}, filter.filters));
let specFilters = lookupFilter.specification.filters;
for (let key in specFilters) {
if (typeof specFilters[key] !== 'function'
&& 'default' in specFilters[key]
&& key in filters
&& !(key in lookupFilter.filters)) {
lookupFilter.filters[key] = filters[key];
}
}
return lookupFilter;
}
export function unsafeSyncResolveParent(options) {

@@ -125,3 +143,3 @@ return options.ancestors.reduce(resolveUnique, bigtestGlobals.document.documentElement);

return converge(() => {
let element = resolver(options);
let element = resolver({ ...options, filter: getLookupFilterForAssertion(options.filter, filters) });
let match = new MatchFilter(element, filter);

@@ -128,0 +146,0 @@ if (!match.matches) {

2

package.json
{
"name": "@bigtest/interactor",
"version": "0.30.0",
"version": "0.31.0",
"description": "Interactors for working with applications",

@@ -5,0 +5,0 @@ "main": "dist/cjs/index.js",

@@ -111,2 +111,21 @@ /* eslint-disable @typescript-eslint/no-explicit-any */

/**
* Removes any default values for a filter from the lookup if that filter is present in the
* assertion. Otherwise, it is not possible to make an assertion on a filter that might conflict
* see https://github.com/thefrontside/bigtest/issues/966
*/
function getLookupFilterForAssertion<E extends Element, F extends Filters<E>>(filter: Filter<E, F>, filters: FilterParams<E, F>): Filter<E, F> {
let lookupFilter = new Filter(filter.specification, Object.assign({}, filter.filters));
let specFilters = lookupFilter.specification.filters;
for (let key in specFilters) {
if (typeof specFilters[key] !== 'function'
&& 'default' in specFilters[key]
&& key in filters
&& !(key in lookupFilter.filters)) {
lookupFilter.filters[key] = filters[key];
}
}
return lookupFilter;
}
export function unsafeSyncResolveParent(options: InteractorOptions<any, any, any>): Element {

@@ -156,3 +175,3 @@ return options.ancestors.reduce(resolveUnique, bigtestGlobals.document.documentElement);

return converge(() => {
let element = resolver(options);
let element = resolver({...options, filter: getLookupFilterForAssertion(options.filter, filters) });
let match = new MatchFilter(element, filter);

@@ -159,0 +178,0 @@ if(!match.matches) {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc