make more tests green

This commit is contained in:
Andreas Rumpf 2018-08-13 13:02:52 +02:00
commit 975114e114
5 changed files with 19 additions and 19 deletions

View file

@ -1,6 +1,6 @@
template makeDomElement(x: untyped, name: string = nil) = template makeDomElement(x: untyped, name: string = "") =
const tag {.gensym.} = if name == nil: astToStr(x) else: name const tag {.gensym.} = if name.len == 0: astToStr(x) else: name
proc x*(p: int|float) = proc x*(p: int|float) =
echo tag, p echo tag, p

View file

@ -2,7 +2,7 @@
# bug #2629 # bug #2629
import sequtils, os import sequtils, os
template glob_rst(basedir: string = nil): untyped = template glob_rst(basedir: string = ""): untyped =
if baseDir.isNil: if baseDir.isNil:
to_seq(walk_files("*.rst")) to_seq(walk_files("*.rst"))
else: else:

View file

@ -39,7 +39,7 @@ proc newIdent*(node: NimNode): Ident =
raise newException(ValueError, msg) raise newException(ValueError, msg)
proc render*(i: Ident): NimNode {.compileTime.} = proc render*(i: Ident): NimNode {.compileTime.} =
if i.name == nil: if i.name == "":
return newNimNode(nnkEmpty) return newNimNode(nnkEmpty)
if i.exported: if i.exported:
@ -67,7 +67,7 @@ proc newBracket*(node: NimNode): Bracket =
raise newException(ValueError, msg) raise newException(ValueError, msg)
# Field procs # Field procs
proc newField*(identifier: Ident, type_name: string, default: string = nil): Field = proc newField*(identifier: Ident, type_name: string, default: string = ""): Field =
result.identifier = identifier result.identifier = identifier
result.type_name = type_name result.type_name = type_name
result.default = default result.default = default
@ -84,7 +84,7 @@ proc newField*(node: NimNode): Field =
of nnkIdent: of nnkIdent:
result.default = $(node[2]) result.default = $(node[2])
else: else:
result.default = nil result.default = ""
else: else:
let msg = "newField cannot initialize from node kind: " & $(node.kind) let msg = "newField cannot initialize from node kind: " & $(node.kind)
raise newException(ValueError, msg) raise newException(ValueError, msg)
@ -102,7 +102,7 @@ proc newFieldSeq*(node: NimNode): FieldSeq =
of nnkIdent: of nnkIdent:
default = $(default_node) default = $(default_node)
else: else:
default = nil default = ""
for i in 0..node.len - 3: for i in 0..node.len - 3:
let name = newIdent(node[i]) let name = newIdent(node[i])
result.add(newField(name, type_name, default)) result.add(newField(name, type_name, default))
@ -115,8 +115,8 @@ proc newFieldSeq*(node: NimNode): FieldSeq =
proc render*(f: Field): NimNode {.compileTime.} = proc render*(f: Field): NimNode {.compileTime.} =
let identifier = f.identifier.render() let identifier = f.identifier.render()
let type_name = if f.type_name != nil: ident(f.type_name) else: newEmptyNode() let type_name = if f.type_name != "": ident(f.type_name) else: newEmptyNode()
let default = if f.default != nil: ident(f.default) else: newEmptyNode() let default = if f.default != "": ident(f.default) else: newEmptyNode()
newIdentDefs(identifier, type_name, default) newIdentDefs(identifier, type_name, default)
proc render*(fs: FieldSeq): NimNode {.compileTime.} = proc render*(fs: FieldSeq): NimNode {.compileTime.} =
@ -127,7 +127,7 @@ proc render*(fs: FieldSeq): NimNode {.compileTime.} =
# TypeDef procs # TypeDef procs
proc newTypeDef*(identifier: Ident, is_ref = false, proc newTypeDef*(identifier: Ident, is_ref = false,
object_type = "object", object_type = "object",
base_type: string = nil): TypeDef {.compileTime.} = base_type: string = ""): TypeDef {.compileTime.} =
result.identifier = identifier result.identifier = identifier
result.fields = @[] result.fields = @[]
result.is_ref = is_ref result.is_ref = is_ref
@ -165,7 +165,7 @@ proc render*(typedef: TypeDef): NimNode {.compileTime.} =
result.add(newEmptyNode()) result.add(newEmptyNode())
let object_node = newNimNode(nnkObjectTy) let object_node = newNimNode(nnkObjectTy)
object_node.add(newEmptyNode()) object_node.add(newEmptyNode())
if typedef.base_type == nil: if typedef.base_type == "":
object_node.add(newEmptyNode()) object_node.add(newEmptyNode())
else: else:
var base_type = newNimNode(nnkOfInherit) var base_type = newNimNode(nnkOfInherit)
@ -195,8 +195,8 @@ proc render*(typeseq: TypeDefSeq): NimNode {.compileTime.} =
for typedef in typeseq: for typedef in typeseq:
result.add(typedef.render()) result.add(typedef.render())
proc newProc*(identifier: Ident, params: FieldSeq = nil, proc newProc*(identifier: Ident, params: FieldSeq = @[],
returns: Ident, generics: FieldSeq = nil): Proc = returns: Ident, generics: FieldSeq = @[]): Proc =
result.identifier = identifier result.identifier = identifier
result.params = params result.params = params
result.returns = returns result.returns = returns
@ -209,7 +209,7 @@ proc newProc*(node: NimNode): Proc =
case node[2].kind: case node[2].kind:
of nnkGenericParams: of nnkGenericParams:
result.generics = newFieldSeq(node[2]) result.generics = newFieldSeq(node[2])
else: result.generics = nil else: result.generics = @[]
let formal_params = node[3] let formal_params = node[3]
case formal_params[0].kind: case formal_params[0].kind:
of nnkIdent: of nnkIdent:

View file

@ -11,7 +11,7 @@ FOO: blah'''
import macros, sequtils, tables import macros, sequtils, tables
import strutils import strutils
import future, meta import sugar, meta
type type
Component = object Component = object

View file

@ -20,16 +20,16 @@ proc buildSuiteContents(suiteName, suiteDesc, suiteBloc: NimNode): tuple[tests:
var testObj = SuiteTest() var testObj = SuiteTest()
if suiteName.kind == nnkNilLit: if suiteName.kind == nnkNilLit:
testObj.suiteName = nil testObj.suiteName = ""
else: else:
testObj.suiteName = $suiteName testObj.suiteName = $suiteName
if suiteDesc.kind == nnkNilLit: if suiteDesc.kind == nnkNilLit:
testObj.suiteDesc = nil testObj.suiteDesc = ""
else: else:
testObj.suiteDesc = suiteDesc.strVal testObj.suiteDesc = suiteDesc.strVal
testObj.testName = $child[1] # should not ever be nil testObj.testName = $child[1] # should not ever be nil
if child[2].kind == nnkNilLit: if child[2].kind == nnkNilLit:
testObj.testDesc = nil testObj.testDesc = ""
else: else:
testObj.testDesc = child[2].strVal testObj.testDesc = child[2].strVal
testObj.testBlock = child[1] testObj.testBlock = child[1]
@ -46,5 +46,5 @@ macro suite(suiteName, suiteDesc, suiteBloc: untyped): typed =
# Test above # Test above
suite basics, "Description of such": suite basics, "Description of such":
test(t5, nil): test(t5, ""):
assert false assert false