Skip to content

Commit e273505

Browse files
committed
Adapt specs to allow 3.4 style spaced hashes
1 parent fa8798b commit e273505

File tree

6 files changed

+44
-9
lines changed

6 files changed

+44
-9
lines changed

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 2.3.0 (unreleased)
2+
* Support Ruby 3.4 hash inspects (TODO)
3+
14
## 2.2.2
25
* Relax Ruby version requirement to allow 3.0
36

@@ -95,7 +98,7 @@
9598
* Fix stupid rescue bug (no more wirb crashes)
9699

97100
## 0.2.3 / 0.2.4
98-
* Support for rubygems-test <gem-testers.org>
101+
* Support for rubygems-test
99102

100103
## 0.2.2
101104
* Always return inspected string (even when errors happen) and endless-loop

spec/spec_helper.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,7 @@ def tokens
8080
OBJECT_ID = /0x[0-9a-f]+/
8181

8282
def ws(obj) puts Wirb::Tokenizer.run(obj.inspect).map{|*x| x.inspect + ','}*$/ end
83+
84+
def hash34?
85+
RUBY_VERSION >= "3.4.0"
86+
end

spec/tokenizer_enumerator_spec.rb

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,14 @@
5555
[:whitespace, " "],
5656
[:open_hash, "{"],
5757
[:number, "1"],
58+
([:whitespace, " "] if hash34?),
5859
[:refers, "=>"],
60+
([:whitespace, " "] if hash34?),
5961
[:number, "3"],
6062
[:close_hash, "}"],
6163
[:object_description, ":each"],
6264
[:close_object, ">"],
63-
]
65+
].compact
6466
end
6567

6668
please do check({1=>3}.each.map)
@@ -75,14 +77,16 @@
7577
[:whitespace, " "],
7678
[:open_hash, "{"],
7779
[:number, "1"],
80+
([:whitespace, " "] if hash34?),
7881
[:refers, "=>"],
82+
([:whitespace, " "] if hash34?),
7983
[:number, "3"],
8084
[:close_hash, "}"],
8185
[:object_description, ":each"],
8286
[:close_object, ">"],
8387
[:object_description, RubyEngine.truffle? ? ":collect" : ":map"],
8488
[:close_object, ">"],
85-
]
89+
].compact
8690
end
8791

8892
please do check [2,Set[{1=>2}],4].map
@@ -102,7 +106,9 @@
102106
[:open_set, "{"],
103107
[:open_hash, "{"],
104108
[:number, "1"],
109+
([:whitespace, " "] if hash34?),
105110
[:refers, "=>"],
111+
([:whitespace, " "] if hash34?),
106112
[:number, "2"],
107113
[:close_hash, "}"],
108114
[:close_set, "}"],
@@ -113,7 +119,7 @@
113119
[:close_array, "]"],
114120
[:object_description, ":map"],
115121
[:close_object, ">"],
116-
]
122+
].compact
117123
end
118124

119125
please do check Wirb::Tokenizer.run('[2,3,4]')
@@ -131,7 +137,7 @@
131137
[:close_string, "\""],
132138
[:object_description, ")"],
133139
[:close_object, ">"],
134-
]
140+
].compact
135141
end
136142

137143
please do check [{1=>2},Wirb::Tokenizer.run('2'),Set[2,3],[3,4],[5,6].each].map
@@ -143,7 +149,9 @@
143149
[:open_array, "["],
144150
[:open_hash, "{"],
145151
[:number, "1"],
152+
([:whitespace, " "] if hash34?),
146153
[:refers, "=>"],
154+
([:whitespace, " "] if hash34?),
147155
[:number, "2"],
148156
[:close_hash, "}"],
149157
[:comma, ","],
@@ -199,7 +207,7 @@
199207
[:close_array, "]"],
200208
[:object_description, ":map"],
201209
[:close_object, ">"],
202-
]
210+
].compact
203211
end
204212
else # is rbx
205213
please do check [2,3,4].each

spec/tokenizer_hash_spec.rb

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@
77
tokens.should == [
88
[:open_hash, "{"],
99
[:number, "1"],
10+
([:whitespace, " "] if hash34?),
1011
[:refers, "=>"],
12+
([:whitespace, " "] if hash34?),
1113
[:number, "2"],
1214
[:close_hash, "}"],
13-
]
15+
].compact
1416
end
1517

1618
please do check({:hallo => {1=>Set[2,3,4]}})
@@ -21,7 +23,9 @@
2123
[:refers, "=>"],
2224
[:open_hash, "{"],
2325
[:number, "1"],
26+
([:whitespace, " "] if hash34?),
2427
[:refers, "=>"],
28+
([:whitespace, " "] if hash34?),
2529
[:open_object, "#<"],
2630
[:object_class, "Set"],
2731
[:object_description_prefix, ":"],
@@ -38,7 +42,7 @@
3842
[:close_object, ">"],
3943
[:close_hash, "}"],
4044
[:close_hash, "}"],
41-
]
45+
].compact
4246
end
4347

4448
please do check( {1=>2, 3=>8, {} => {}} )
@@ -60,6 +64,12 @@
6064
[:refers, "=>"],
6165
[:whitespace, " "],
6266
[:whitespace, " "],
67+
[:whitespace, " "],
68+
[:whitespace, " "],
69+
[:whitespace, " "],
70+
[:whitespace, " "],
71+
[:whitespace, " "],
72+
[:whitespace, " "],
6373
]
6474
end
6575
end

spec/tokenizer_nested_spec.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,16 @@
3636
[:open_hash, "{"],
3737
[:open_hash, "{"],
3838
[:number, "5"],
39+
[:whitespace, " "],
3940
[:refers, "=>"],
41+
[:whitespace, " "],
4042
[:open_string, "\""],
4143
[:string, "4"],
4244
[:close_string, "\""],
4345
[:close_hash, "}"],
46+
[:whitespace, " "],
4447
[:refers, "=>"],
48+
[:whitespace, " "],
4549
[:open_hash, "{"],
4650
[:open_object, "#<"],
4751
[:object_class, "Set"],
@@ -50,7 +54,9 @@
5054
[:open_set, "{"],
5155
[:close_set, "}"],
5256
[:close_object, ">"],
57+
[:whitespace, " "],
5358
[:refers, "=>"],
59+
[:whitespace, " "],
5460
[:open_object, "#<"],
5561
[:object_class, "Object"],
5662
[:object_description_prefix, ":"],

spec/tokenizer_set_spec.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@
4848
[:whitespace, " "],
4949
[:whitespace, " "],
5050
[:whitespace, " "],
51-
]
51+
([:whitespace, " "] if hash34?),
52+
([:whitespace, " "] if hash34?),
53+
([:whitespace, " "] if hash34?),
54+
([:whitespace, " "] if hash34?),
55+
].compact
5256
end
5357
end

0 commit comments

Comments
 (0)