1 | dojo.provide("dojox.string.tests.Builder"); |
---|
2 | |
---|
3 | dojo.require("dojox.string.Builder"); |
---|
4 | |
---|
5 | tests.register("dojox.string.tests.Builder", [ |
---|
6 | { |
---|
7 | name: "Append", |
---|
8 | runTest: function(t) { |
---|
9 | var b = new dojox.string.Builder(); |
---|
10 | b.append("foo"); |
---|
11 | t.is("foo", b.toString()); |
---|
12 | b.append("bar", "baz"); |
---|
13 | t.is("foobarbaz", b.toString()); |
---|
14 | b.append("ben").append("zoo"); |
---|
15 | t.is("foobarbazbenzoo", b.toString()); |
---|
16 | b.append(5); |
---|
17 | t.is("foobarbazbenzoo5", b.toString()); |
---|
18 | } |
---|
19 | }, |
---|
20 | { |
---|
21 | name: "AppendArray", |
---|
22 | runTest: function(t){ |
---|
23 | var b = new dojox.string.Builder(); |
---|
24 | b.appendArray([ "foo", "bar", "baz" ]); |
---|
25 | t.is("foobarbaz", b.toString()); |
---|
26 | b.appendArray([ "bar", "baz" ]); |
---|
27 | t.is("foobarbazbarbaz", b.toString()); |
---|
28 | b.appendArray(["ben","zoo"]).appendArray(["zoo","ben"]); |
---|
29 | t.is("foobarbazbarbazbenzoozooben", b.toString()); |
---|
30 | b.appendArray([ 5, 8 ]); |
---|
31 | t.is("foobarbazbarbazbenzoozooben58", b.toString()); |
---|
32 | } |
---|
33 | }, |
---|
34 | { |
---|
35 | name: "Construction", |
---|
36 | runTest: function(t){ |
---|
37 | var b = new dojox.string.Builder(); |
---|
38 | t.is("", b.toString()); |
---|
39 | b = new dojox.string.Builder("foo"); |
---|
40 | t.is("foo", b.toString()); |
---|
41 | } |
---|
42 | }, |
---|
43 | { |
---|
44 | name: "Replace", |
---|
45 | runTest: function(t){ |
---|
46 | var b = new dojox.string.Builder("foobar"); |
---|
47 | t.is("foobar", b.toString()); |
---|
48 | b.replace("foo", "baz"); |
---|
49 | t.is("bazbar", b.toString()); |
---|
50 | b.replace("baz", "ben"); |
---|
51 | t.is("benbar", b.toString()); |
---|
52 | b.replace("foo", "moo"); |
---|
53 | t.is("benbar", b.toString()); |
---|
54 | b.replace("enba", "o"); |
---|
55 | t.is("bor", b.toString()); |
---|
56 | b.replace("o", "a").replace("b", "f"); |
---|
57 | t.is("far", b.toString()); |
---|
58 | } |
---|
59 | }, |
---|
60 | { |
---|
61 | name: "Insert", |
---|
62 | runTest: function(t){ |
---|
63 | var b = new dojox.string.Builder(); |
---|
64 | //insert at 0 is prepend |
---|
65 | b.insert(0, "foo"); |
---|
66 | t.is("foo", b.toString()); |
---|
67 | b.insert(0, "more"); |
---|
68 | t.is("morefoo", b.toString()); |
---|
69 | |
---|
70 | //insert positions stuff after the 4th character |
---|
71 | b.insert(4, "fun"); |
---|
72 | t.is("morefunfoo", b.toString()); |
---|
73 | |
---|
74 | //insert at len of string is push_back |
---|
75 | b.insert(10, "awesome"); |
---|
76 | t.is("morefunfooawesome", b.toString()); |
---|
77 | |
---|
78 | //insert past len of string is push_back |
---|
79 | b.insert(100, "bad"); |
---|
80 | t.is("morefunfooawesomebad", b.toString()); |
---|
81 | |
---|
82 | b = new dojox.string.Builder(); |
---|
83 | b.insert(0, "foo").insert(3, "bar").insert(3, "zoo"); |
---|
84 | t.is("foozoobar", b.toString()); |
---|
85 | } |
---|
86 | }, |
---|
87 | { |
---|
88 | name: "Remove", |
---|
89 | runTest: function(t){ |
---|
90 | var b = new dojox.string.Builder("foobarbaz"); |
---|
91 | b.remove(3,3); |
---|
92 | t.is("foobaz", b.toString()); |
---|
93 | b.remove(0,3); |
---|
94 | t.is("baz", b.toString()); |
---|
95 | b.remove(2, 100); |
---|
96 | t.is("ba", b.toString()); |
---|
97 | b.remove(0,0); |
---|
98 | t.is("ba", b.toString()); |
---|
99 | b.append("zbarfoo"); |
---|
100 | b.remove(5); |
---|
101 | t.is("bazba", b.toString()); |
---|
102 | } |
---|
103 | } |
---|
104 | ]); |
---|