makes tests green

This commit is contained in:
Andreas Rumpf
2016-01-15 14:44:54 +01:00
parent 46f1f41cc9
commit 0d4e52c648
10 changed files with 36 additions and 32 deletions

View File

@@ -57,7 +57,7 @@ proc addHandler*(handler: var EventHandler, fn: proc(e: EventArgs) {.closure.})
proc removeHandler*(handler: var EventHandler, fn: proc(e: EventArgs) {.closure.}) =
## Removes the callback from the specified event handler.
for i in countup(0, len(handler.handlers) -1):
for i in countup(0, len(handler.handlers)-1):
if fn == handler.handlers[i]:
handler.handlers.del(i)
break

View File

@@ -143,7 +143,7 @@ proc main() =
# Create long-lived array, filling half of it
echo(" Creating a long-lived array of " & $kArraySize & " doubles")
newSeq(myarray, kArraySize)
for i in 0..kArraySize div 2 -1:
for i in 0..kArraySize div 2 - 1:
myarray[i] = 1.0 / toFloat(i)
PrintDiagnostics()

View File

@@ -69,7 +69,7 @@ proc cmp[T:int8|int16|int32|int64|int] (a,b: T): T {.inline.} =
template binSearchImpl *(docmp: expr) {.immediate.} =
var bFound = false
result = 0
var H = haystack.len -1
var H = haystack.len - 1
while result <= H :
var I {.inject.} = (result + H) shr 1
var SW = docmp
@@ -90,7 +90,7 @@ proc DeleteItem[T,D] (n: PNode[T,D], x: int): PNode[T,D] {.inline.} =
return n
dec(n.count)
if n.count > 0 :
for i in countup(x, n.count -1) : n.slots[i] = n.slots[i + 1]
for i in countup(x, n.count - 1) : n.slots[i] = n.slots[i + 1]
n.slots[n.count] = nil
case n.count
of cLen1 : setLen(n.slots, cLen1)
@@ -121,7 +121,7 @@ proc internalDelete[T,D] (ANode: PNode[T,D], key: T, Avalue: var D): PNode[T,D]
if x == 0 :
n = n.left
else :
x = (-x) -1
x = (-x) - 1
if x < n.count :
n = n.slots[x].node
else :
@@ -132,10 +132,10 @@ proc internalDelete[T,D] (ANode: PNode[T,D], key: T, Avalue: var D): PNode[T,D]
Avalue = n.slots[x].value
var n2 = DeleteItem(n, x)
dec(h)
while (n2 != n) and (h >=0) :
while (n2 != n) and (h >= 0) :
n = n2
var w = addr Path[h]
x = w.Xi -1
x = w.Xi - 1
if x >= 0 :
if (n == nil) and isClean(w.Nd, x) :
n = w.Nd
@@ -160,7 +160,7 @@ proc internalFind[T,D] (n: PNode[T,D], key: T): ref TItem[T,D] {.inline.} =
if x == 0 :
wn = wn.left
else :
x = (-x) -1
x = (-x) - 1
if x < wn.count :
wn = wn.slots[x].node
else :
@@ -199,7 +199,7 @@ proc traceTree[T,D](root: PNode[T,D]) =
if n.left != nil:
traceln(space)
write stdout, "left: "
doTrace(n.left, level +1)
doTrace(n.left, level+1)
for i, el in n.slots :
if el != nil and not isClean(el):
traceln(space)
@@ -208,7 +208,7 @@ proc traceTree[T,D](root: PNode[T,D]) =
write stdout, "error "
else:
traceEl(el)
if el.node != nil: doTrace(el.node, level +1)
if el.node != nil: doTrace(el.node, level+1)
else : write stdout, " empty "
elif i < n.count :
traceln(space)
@@ -217,7 +217,7 @@ proc traceTree[T,D](root: PNode[T,D]) =
when T is string :
if el.key != nil: write stdout, el.key
else : write stdout, el.key
if el.node != nil: doTrace(el.node, level +1)
if el.node != nil: doTrace(el.node, level+1)
else : write stdout, " empty "
writeLine stdout,""
@@ -245,25 +245,25 @@ proc SplitPage[T,D](n, left: PNode[T,D], xi: int, Akey:var T, Avalue:var D): PNo
result.slots.newSeq(cLenCenter)
result.count = cCenter
if x == cCenter:
for i in 0..cCenter -1: shallowCopy(it1[i], left.slots[i])
for i in 0..cCenter -1: shallowCopy(result.slots[i], left.slots[cCenter + i])
for i in 0..cCenter-1: shallowCopy(it1[i], left.slots[i])
for i in 0..cCenter-1: shallowCopy(result.slots[i], left.slots[cCenter + i])
result.left = n
else :
if x < cCenter :
for i in 0..x-1: shallowCopy(it1[i], left.slots[i])
it1[x] = setItem(Akey, Avalue, n)
for i in x+1 .. cCenter -1: shallowCopy(it1[i], left.slots[i-1])
var w = left.slots[cCenter -1]
for i in x+1 .. cCenter-1: shallowCopy(it1[i], left.slots[i-1])
var w = left.slots[cCenter-1]
Akey = w.key
Avalue = w.value
result.left = w.node
for i in 0..cCenter -1: shallowCopy(result.slots[i], left.slots[cCenter + i])
for i in 0..cCenter-1: shallowCopy(result.slots[i], left.slots[cCenter + i])
else :
for i in 0..cCenter -1: shallowCopy(it1[i], left.slots[i])
for i in 0..cCenter-1: shallowCopy(it1[i], left.slots[i])
x = x - (cCenter + 1)
for i in 0..x-1: shallowCopy(result.slots[i], left.slots[cCenter + i + 1])
result.slots[x] = setItem(Akey, Avalue, n)
for i in x+1 .. cCenter -1: shallowCopy(result.slots[i], left.slots[cCenter + i])
for i in x+1 .. cCenter-1: shallowCopy(result.slots[i], left.slots[cCenter + i])
var w = left.slots[cCenter]
Akey = w.key
Avalue = w.value
@@ -290,7 +290,7 @@ proc internalPut[T,D](ANode: ref TNode[T,D], Akey: T, Avalue: D, Oldvalue: var D
if x == 0 :
n = n.left
else :
x = (-x) -1
x = (-x)-1
if x < n.count :
n = n.slots[x].node
else :

View File

@@ -277,7 +277,7 @@ when isMainModule:
s.flush
defPacket(Y, tuple[z: int8])
proc `$`(z: Y): string = result = "Y("& $z.z &")"
proc `$`(z: Y): string = result = "Y(" & $z.z & ")"
defPacket(TestPkt, tuple[x: seq[Y]])
var test = newTestPkt()
test.x.add([newY(5), newY(4), newY(3), newY(2), newY(1)])

View File

@@ -66,7 +66,7 @@ proc handlePackets*(server: PServer; buf: PBuffer) =
proc updateFileProgress*() =
let progress = currentFileTransfer.pos / currentFileTransfer.fullLen
downloadProgress.bg.setSize(vec2f(progress * 100, 20))
downloadProgress.setString($currentFileTransfer.pos &'/'& $currentFileTransfer.fullLen)
downloadProgress.setString($currentFileTransfer.pos & '/' & $currentFileTransfer.fullLen)
## HFileTransfer
proc handleFilePartRecv*(serv: PServer; buffer: PBuffer) {.procvar.} =

View File

@@ -573,13 +573,13 @@ proc importItem(data: PJsonNode; errors: var seq[string]): PItemRecord =
elif data[2]["bullet"].kind == JObject:
result.bullet = importBullet(data[2]["bullet"], errors)
else:
errors.add "UNKNOWN BULLET TYPE for item "& result.name
errors.add "UNKNOWN BULLET TYPE for item " & result.name
of "ammo":
result.kind = Ammo
of "utility":
nil
else:
errors.add "Invalid item type \""& data[1].str &"\" for item "& result.name
errors.add "Invalid item type \""&data[1].str&"\" for item "&result.name
proc importBullet(data: PJsonNode; errors: var seq[string]): PBulletRecord =
new(result)

View File

@@ -146,7 +146,7 @@ task "download", "download game assets":
task "zip-lib", "zip up the libs dir":
var z: TZipArchive
if not z.open("libs-"& getDateStr() &".zip", fmReadWrite):
if not z.open("libs-" & getDateStr() & ".zip", fmReadWrite):
quit "Could not open zip"
for file in walkDirRec("libs", {pcFile, pcDir}):
echo "adding file ", file

View File

@@ -764,7 +764,7 @@ proc match*(s: string, pattern: TPeg, matches: var openarray[string],
## returned.
var c: TCaptures
c.origStart = start
result = rawMatch(s, pattern, start, c) == len(s) -start
result = rawMatch(s, pattern, start, c) == len(s)-start
if result:
for i in 0..c.ml-1:
matches[i] = substr(s, c.matches[i][0], c.matches[i][1])

View File

@@ -10,14 +10,14 @@ import strutils
import os
type
TMessageReceivedEventArgs = object of TEventArgs
TMessageReceivedEventArgs = object of EventArgs
Nick*: string
Message*: string
TIRC = object
EventEmitter: TEventEmitter
MessageReceivedHandler*: TEventHandler
Socket: TSocket
Thread: TThread[TIRC]
EventEmitter: EventEmitter
MessageReceivedHandler*: EventHandler
Socket: Socket
Thread: Thread[TIRC]
proc initIRC*(): TIRC =
result.Socket = socket()
@@ -49,8 +49,8 @@ proc handleData(irc: TIRC) {.thread.} =
return
proc Connect*(irc: var TIRC, nick: string, host: string, port: int = 6667) =
connect(irc.Socket ,host ,TPort(port),TDomain.AF_INET)
send(irc.Socket,"USER " & nick & " " & nick & " " & nick & " " & nick &"\r\L")
connect(irc.Socket, host, TPort(port), TDomain.AF_INET)
send(irc.Socket,"USER " & nick & " " & nick & " " & nick & " " & nick & "\r\L")
send(irc.Socket,"NICK " & nick & "\r\L")
var thread: TThread[TIRC]
createThread(thread, handleData, irc)

View File

@@ -33,6 +33,10 @@ News
``echo $ foo`` continues to be parsed as ``(echo) $ (foo)``.
This also means that ``-1`` is always parsed as prefix operator so
code like ``0..kArraySize div 2 -1`` needs to be changed to
``0..kArraySize div 2 - 1``.
Iterator changes
~~~~~~~~~~~~~~~~