summaryrefslogtreecommitdiff
path: root/test/prism/newline_offsets_test.rb
blob: 99b808b1df657139d7b0a5d9ef938bc55e8df6e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# frozen_string_literal: true

require_relative "test_helper"

module Prism
  class NewlineOffsetsTest < TestCase
    Fixture.each do |fixture|
      define_method(fixture.test_name) { assert_newline_offsets(fixture) }
    end

    private

    def assert_newline_offsets(fixture)
      source = fixture.read

      expected = [0]
      source.b.scan("\n") { expected << $~.offset(0)[0] + 1 }

      assert_equal expected, Prism.parse(source).source.offsets
    end
  end
end