Skip to content

Commit 5f3d8b8

Browse files
authored
Support Non-ASCII characters (#43)
* 👍 support non ascii characters Non ascii characters are unicode escaped I change non ascii characters. And remove double quote between description and context string. * 👍 remove debug code I remove debug code and add context test.
1 parent 41d81e8 commit 5f3d8b8

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

lib/ruby_lsp/ruby_lsp_rspec/document_symbol.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def generate_name(node)
7474

7575
case argument
7676
when Prism::StringNode
77-
argument.content.dump
77+
argument.unescaped
7878
when Prism::CallNode
7979
"<#{argument.name}>"
8080
when nil

spec/ruby_lsp_rspec_spec.rb

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,11 @@ def test_baz; end
235235
236236
# unname test is ignored
237237
it { }
238+
239+
context "日本語テスト" do
240+
it "何かのテスト" do
241+
end
242+
end
238243
end
239244
RUBY
240245

@@ -257,27 +262,30 @@ def test_baz; end
257262
foo = response[0]
258263
expect(foo.name).to eq("Foo")
259264
expect(foo.kind).to eq(LanguageServer::Protocol::Constant::SymbolKind::MODULE)
260-
expect(foo.children.count).to eq(4)
265+
expect(foo.children.count).to eq(5)
261266

262-
expect(foo.children[0].name).to eq("\"when something\"")
267+
expect(foo.children[0].name).to eq("when something")
263268
expect(foo.children[0].kind).to eq(LanguageServer::Protocol::Constant::SymbolKind::MODULE)
264269
expect(foo.children[0].children.count).to eq(1)
265-
expect(foo.children[0].children[0].name).to eq("\"does something\"")
270+
expect(foo.children[0].children[0].name).to eq("does something")
266271
expect(foo.children[0].children[0].kind).to eq(LanguageServer::Protocol::Constant::SymbolKind::METHOD)
267272

268273
foo_bar = foo.children[1]
269274
expect(foo_bar.name).to eq("Foo::Bar")
270275
expect(foo_bar.children.count).to eq(2)
271-
expect(foo_bar.children[0].name).to eq("\"does something else\"")
272-
expect(foo_bar.children[1].name).to eq("\"when something else\"")
276+
expect(foo_bar.children[0].name).to eq("does something else")
277+
expect(foo_bar.children[1].name).to eq("when something else")
273278
expect(foo_bar.children[1].children.count).to eq(1)
274-
expect(foo_bar.children[1].children[0].name).to eq("\"does something something\"")
279+
expect(foo_bar.children[1].children[0].name).to eq("does something something")
275280

276281
expect(foo.children[2].name).to eq("<variable>")
277282

278283
expect(foo.children[3].name).to eq("Baz")
279284
expect(foo.children[3].children.count).to eq(1)
280285
expect(foo.children[3].children[0].name).to eq("test_baz")
286+
287+
expect(foo.children[4].name).to eq("日本語テスト")
288+
expect(foo.children[4].children[0].name).to eq("何かのテスト")
281289
end
282290
end
283291
end

0 commit comments

Comments
 (0)