Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • NativeCRDT
  • circle-recognition
  • e2e-benchmark
  • erasure-masks
  • master
  • path-attributes
  • xmpp-connection
  • AsPresented
8 results

Target

Select target project
  • hlgr/drawing-app
  • sweng-group-15/drawing-app
2 results
Select Git revision
  • NativeCRDT
  • circle-recognition
  • e2e-benchmark
  • erasure-masks
  • master
  • path-attributes
  • xmpp-connection
7 results
Show changes
Commits on Source (1)
import { Selector } from "testcafe"
const host = "127.0.0.1"
const port = process.env.PORT || 3000
const peerIndex = parseInt(process.env.PEER_INDEX)
const numPeers = parseInt(process.env.NUM_PEERS)
fixture`Peer ${peerIndex}`.page`${host}:${port}`
const syncTimeout = numPeers * 1000
const pollInterval = 500
test(`Strokes from all peers should be rendered for peer ${peerIndex}`, async (t) => {
const canvas = Selector("#canvas").with({ timeout: 1000 })
await t.drag(canvas, 10 * peerIndex, 10)
let elapsed = 0
let syncComplete = false
for (; elapsed < syncTimeout; elapsed += pollInterval) {
if (await canvas.childElementCount == numPeers) {
syncComplete = true
break
}
await new Promise((resolve) => setTimeout(resolve, pollInterval))
}
if (syncComplete) {
console.log(
`Peer ${peerIndex}: Sync completed in ${elapsed}ms +- ${pollInterval}ms.`,
)
} else {
console.log(
`Peer ${peerIndex}: Sync failed, ${await canvas.childElementCount} out of ${numPeers} strokes were rendered before the ${syncTimeout}ms timeout.`,
)
}
})