summaryrefslogtreecommitdiff
path: root/test/ruby/test_string_memory.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_string_memory.rb')
-rw-r--r--test/ruby/test_string_memory.rb55
1 files changed, 0 insertions, 55 deletions
diff --git a/test/ruby/test_string_memory.rb b/test/ruby/test_string_memory.rb
deleted file mode 100644
index 3b4694f36f..0000000000
--- a/test/ruby/test_string_memory.rb
+++ /dev/null
@@ -1,55 +0,0 @@
-# frozen_string_literal: false
-require 'test/unit'
-require 'objspace'
-
-class TestStringMemory < Test::Unit::TestCase
- def capture_allocations(klass)
- allocations = []
-
- GC.start
- GC.disable
- generation = GC.count
-
- ObjectSpace.trace_object_allocations do
- yield
-
- ObjectSpace.each_object(klass) do |instance|
- allocations << instance if ObjectSpace.allocation_generation(instance) == generation
- end
- end
-
- return allocations
- ensure
- GC.enable
- end
-
- def test_byteslice_prefix
- string = ("a" * 100_000).freeze
-
- allocations = capture_allocations(String) do
- string.byteslice(0, 50_000)
- end
-
- assert_equal 1, allocations.size
- end
-
- def test_byteslice_postfix
- string = ("a" * 100_000).freeze
-
- allocations = capture_allocations(String) do
- string.byteslice(50_000, 100_000)
- end
-
- assert_equal 1, allocations.size
- end
-
- def test_byteslice_postfix_twice
- string = ("a" * 100_000).freeze
-
- allocations = capture_allocations(String) do
- string.byteslice(50_000, 100_000).byteslice(25_000, 50_000)
- end
-
- assert_equal 2, allocations.size
- end
-end