Skip to content

Commit

Permalink
Merge pull request #781 from qawolf/is-dynamic
Browse files Browse the repository at this point in the history
Make isDynamic more stringent on trailing characters
  • Loading branch information
flaurida committed Aug 14, 2020
2 parents f09fb3a + 219b920 commit fb9e654
Show file tree
Hide file tree
Showing 8 changed files with 14 additions and 18 deletions.
6 changes: 3 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -62,7 +62,7 @@
},
"devDependencies": {
"@ffmpeg-installer/ffmpeg": "^1.0.20",
"@qawolf/sandbox": "0.1.15",
"@qawolf/sandbox": "0.1.16",
"@types/debug": "^4.1.5",
"@types/fs-extra": "^9.0.1",
"@types/glob": "^7.1.3",
Expand Down
2 changes: 1 addition & 1 deletion packages/sandbox/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/sandbox/package.json
@@ -1,6 +1,6 @@
{
"name": "@qawolf/sandbox",
"version": "0.1.15",
"version": "0.1.16",
"files": [
"bin",
"build"
Expand Down
8 changes: 4 additions & 4 deletions packages/sandbox/src/pages/Buttons/HtmlButtons.js
Expand Up @@ -23,10 +23,10 @@ function HtmlButtons() {
<button id="whitespace-button">{' I have extra whitespace '}</button>
<br />
<br />
<button className="btn-a btn-1">Classes</button>
<button className="btn-a btn-2">Classes</button>
<button className="btn-b btn-1">Classes</button>
<button className="btn-b btn-2">Classes</button>
<button className="first-half type-one">Classes</button>
<button className="first-half type-two">Classes</button>
<button className="second-half type-one">Classes</button>
<button className="second-half type-two">Classes</button>
<br />
<br />
<button id="nested">
Expand Down
6 changes: 1 addition & 5 deletions src/web/isDynamic.ts
Expand Up @@ -37,12 +37,8 @@ const SCORE_THRESHOLD = 0.5;
export const getTokens = (value: string): string[] => {
const tokens = [];

// remove a numeric or alphabetic suffix
// ex: btn-1, btn_z -> btn
const symbol = value.replace(/[-_]+(\d+|\w)$/, '');

// split by space, dash, and camel case
symbol.split(/[ \-_]+|(?=[A-Z])/).forEach((token) => {
value.split(/[ \-_]+|(?=[A-Z])/).forEach((token) => {
if (!token) return; // ignore empty string

tokens.push(token.toLowerCase());
Expand Down
2 changes: 1 addition & 1 deletion test/web/isDynamic.test.ts
Expand Up @@ -9,6 +9,7 @@ describe('isDynamic', () => {
'gLFyf',
'intercom-123v9c3',
'StyledBox-sc-13pk1d4-0',
'StyledLayer-rmtehz-0',
'TSPr2b',
'u_0_b',
])('is dynamic: %s', (example) => {
Expand All @@ -19,7 +20,6 @@ describe('isDynamic', () => {
'app',
'b-content__page-input',
'btn',
'btn-b',
'btn-playr-primary',
'central-textlogo__image',
'col-sm-12',
Expand Down
4 changes: 2 additions & 2 deletions test/web/selector.test.ts
Expand Up @@ -100,7 +100,7 @@ describe('buildSelector', () => {
// selects the ancestor
[['#html-button-child', '[data-qa="html-button-with-children"]']],
[['.MuiButton-label', '[data-qa="material-button"]']],
['.btn-b.btn-2'],
['.second-half.type-two'],
])('builds expected selector %o', (selector) => expectSelector(selector));
});

Expand Down Expand Up @@ -224,7 +224,7 @@ describe('buildSelector', () => {
[['#button', '[data-test="click"] [data-qa="button"]']],
// unique selectors
[['#unique', '[data-qa="unique"]']],
[['#dog-0', '[data-qa="radio-group"] #dog-0']],
[['#dog-0', '[data-qa="radio-group"] [value="dog-0"]']],
])('builds expected selector %o', (selector) => expectSelector(selector));
});

Expand Down

0 comments on commit fb9e654

Please sign in to comment.