diff options
author | 2021-03-19 17:07:45 -0400 | |
---|---|---|
committer | 2021-03-19 17:07:45 -0400 | |
commit | 17c3c98f07628b43b941b84831e8e1f9bcd7ca46 (patch) | |
tree | 2e2b3c7d6bd67ebaabe6636ae6867ad368ac6c3a /src/compiler/utils/nodes_match.ts | |
parent | 8ebc077cb0d9f50aae22d2651bd5ef13fe4641d3 (diff) | |
download | astro-17c3c98f07628b43b941b84831e8e1f9bcd7ca46.tar.gz astro-17c3c98f07628b43b941b84831e8e1f9bcd7ca46.tar.zst astro-17c3c98f07628b43b941b84831e8e1f9bcd7ca46.zip |
Initial tests set up (#10)
* Begin debugging
* Initial tests set up
This adds tests using uvu (we can switch if people want) and restructures things a bit so that it's easier to test.
Like in snowpack you set up a little project. In our tests you can say:
```js
const result = await runtime.load('/blog/hello-world')
```
And analyze the result. I included a `test-helpers.js` which has a function that will turn HTML into a cheerio instance, for inspecting the result HTML.
* Add CI
* Remove extra console logs
* Formatting
Diffstat (limited to 'src/compiler/utils/nodes_match.ts')
-rw-r--r-- | src/compiler/utils/nodes_match.ts | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/src/compiler/utils/nodes_match.ts b/src/compiler/utils/nodes_match.ts index 9c8e1fb48..563742635 100644 --- a/src/compiler/utils/nodes_match.ts +++ b/src/compiler/utils/nodes_match.ts @@ -1,34 +1,34 @@ // @ts-nocheck export function nodes_match(a, b) { - if (!!a !== !!b) return false; - if (Array.isArray(a) !== Array.isArray(b)) return false; + if (!!a !== !!b) return false; + if (Array.isArray(a) !== Array.isArray(b)) return false; - if (a && typeof a === 'object') { - if (Array.isArray(a)) { - if (a.length !== b.length) return false; - return a.every((child, i) => nodes_match(child, b[i])); - } + if (a && typeof a === 'object') { + if (Array.isArray(a)) { + if (a.length !== b.length) return false; + return a.every((child, i) => nodes_match(child, b[i])); + } - const a_keys = Object.keys(a).sort(); - const b_keys = Object.keys(b).sort(); + const a_keys = Object.keys(a).sort(); + const b_keys = Object.keys(b).sort(); - if (a_keys.length !== b_keys.length) return false; + if (a_keys.length !== b_keys.length) return false; - let i = a_keys.length; - while (i--) { - const key = a_keys[i]; - if (b_keys[i] !== key) return false; + let i = a_keys.length; + while (i--) { + const key = a_keys[i]; + if (b_keys[i] !== key) return false; - if (key === 'start' || key === 'end') continue; + if (key === 'start' || key === 'end') continue; - if (!nodes_match(a[key], b[key])) { - return false; - } - } + if (!nodes_match(a[key], b[key])) { + return false; + } + } - return true; - } + return true; + } - return a === b; + return a === b; } |