mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 09:24:36 +00:00
* fix rope index
* add testcase
* fix ropes format
(cherry picked from commit 0c6c4be0e7)
74 lines
1.2 KiB
Nim
74 lines
1.2 KiB
Nim
import ropes
|
|
|
|
|
|
block:
|
|
let r: Rope = nil
|
|
doAssert r[0] == '\0'
|
|
|
|
block:
|
|
var
|
|
r1 = rope("Hello")
|
|
r2 = rope("Nim-Lang")
|
|
|
|
let r = r1 & r2
|
|
let s = $r
|
|
for i in 0 ..< r.len:
|
|
doAssert r[i] == s[i]
|
|
|
|
doAssert r[66] == '\0'
|
|
|
|
block:
|
|
let r = rope("Hello, Nim-Lang")
|
|
|
|
let s = $r
|
|
for i in 0 ..< r.len:
|
|
doAssert r[i] == s[i]
|
|
|
|
doAssert r[66] == '\0'
|
|
|
|
block:
|
|
var r: Rope
|
|
r.add rope("Nim ")
|
|
r.add rope("is ")
|
|
r.add rope("a ")
|
|
r.add rope("great ")
|
|
r.add rope("language")
|
|
|
|
let s = $r
|
|
for i in 0 ..< r.len:
|
|
doAssert r[i] == s[i]
|
|
|
|
doAssert r[66] == '\0'
|
|
|
|
block:
|
|
var r: Rope
|
|
r.add rope("My Conquest")
|
|
r.add rope(" is ")
|
|
r.add rope("the Sea of Stars")
|
|
|
|
let s = $r
|
|
for i in 0 ..< r.len:
|
|
doAssert r[i] == s[i]
|
|
|
|
doAssert r[66] == '\0'
|
|
|
|
block:
|
|
var r: Rope
|
|
r.add rope("My Conquest")
|
|
r.add rope(" is ")
|
|
r.add rope("the Sea of Stars")
|
|
|
|
var i: int
|
|
for item in r:
|
|
doAssert r[i] == item
|
|
inc i
|
|
|
|
doAssert r[66] == '\0'
|
|
|
|
block:
|
|
let r1 = "$1 $2 $3" % [rope("Nim"), rope("is"), rope("a great language")]
|
|
doAssert $r1 == "Nim is a great language"
|
|
|
|
let r2 = "$# $# $#" % [rope("Nim"), rope("is"), rope("a great language")]
|
|
doAssert $r2 == "Nim is a great language"
|