rewritten diff algorithm
This commit is contained in:
parent
cd74cd9d4e
commit
64bc900456
5 changed files with 310 additions and 44 deletions
37
tests/difftest.nim
Normal file
37
tests/difftest.nim
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
|
||||
include "../src/karax"
|
||||
import "../src/karaxdsl"
|
||||
|
||||
proc doDiff(a, b: VNode) =
|
||||
var patches: seq[Patch] = @[]
|
||||
echo diff(nil, vnodeToDom(a, kxi), b, a, patches, kxi)
|
||||
echo patches
|
||||
|
||||
proc testAppend() =
|
||||
let a = buildHtml(tdiv):
|
||||
ul:
|
||||
li: text "A"
|
||||
li: text "B"
|
||||
let b = buildHtml(tdiv):
|
||||
ul:
|
||||
li: text "A"
|
||||
li: text "B"
|
||||
li: text "C"
|
||||
doDiff(a, b)
|
||||
|
||||
proc testInsert() =
|
||||
let a = buildHtml(tdiv):
|
||||
ul:
|
||||
li: text "A"
|
||||
li: text "C"
|
||||
let b = buildHtml(tdiv):
|
||||
ul:
|
||||
li: text "A"
|
||||
li: text "B"
|
||||
li: text "C"
|
||||
doDiff(a, b)
|
||||
|
||||
kxi = KaraxInstance(rootId: cstring"ROOT", renderer: proc (): VNode = discard)
|
||||
|
||||
#testAppend()
|
||||
testInsert()
|
||||
Loading…
Add table
Add a link
Reference in a new issue