File: error_test.rb

package info (click to toggle)
ruby-hamlit 2.11.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,360 kB
  • sloc: ruby: 10,707; ansic: 552; sh: 23; makefile: 8
file content (54 lines) | stat: -rw-r--r-- 1,286 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
describe Hamlit::Engine do
  describe 'HamlSyntaxError' do
    it 'raises on runtime' do
      code = Hamlit::Engine.new.call("  %a")
      assert_raises(Hamlit::HamlSyntaxError) do
        eval code
      end
    end

    it 'returns error with lines before error' do
      code = Hamlit::Engine.new.call("\n\n  %a")
      begin
        eval code
      rescue Hamlit::HamlSyntaxError => e
        assert_equal(2, e.line)
      end
    end

    describe 'Hamlit v1 syntax' do
      it 'returns an error with proper line number' do
        code = Hamlit::Engine.new.call(<<-HAML.unindent)
          %span
          - if true
            %div{ data: {
              hello: 'world',
            } }
        HAML
        begin
          eval code
        rescue Hamlit::HamlSyntaxError => e
          assert_equal(3, e.line)
        end
      end
    end
  end

  describe 'FilterNotFound' do
    it 'raises on runtime' do
      code = Hamlit::Engine.new.call(":k0kubun")
      assert_raises(Hamlit::FilterNotFound) do
        eval code
      end
    end

    it 'returns error with lines before error' do
      code = Hamlit::Engine.new.call("\n\n:k0kubun")
      begin
        eval code
      rescue Hamlit::FilterNotFound => e
        assert_equal(2, e.line)
      end
    end
  end
end