Skip to content
This repository has been archived by the owner on Aug 7, 2023. It is now read-only.

Commit

Permalink
Fixed tests
Browse files Browse the repository at this point in the history
  • Loading branch information
White-Oak committed Oct 17, 2016
1 parent 486c3ee commit 0843a00
Showing 1 changed file with 15 additions and 14 deletions.
29 changes: 15 additions & 14 deletions spec/parse-spec.coffee
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
errorModes = require '../lib/mode'
LinterRust = require '../lib/linter-rust'

linter = new LinterRust()

describe "LinterRust::parse", ->
describe "errorModes::OLD_RUSTC::parse", ->
it "should return 0 messages for an empty string", ->
expect(linter.parse('')).toEqual([])
expect(errorModes.OLD_RUSTC.parse('', [])).toEqual([])

it "should properly parse one line error message", ->
expect(linter.parse('my/awesome file.rs:1:2: 3:4 error: my awesome text\n'))
expect(errorModes.OLD_RUSTC.parse('my/awesome file.rs:1:2: 3:4 error: my awesome text\n', []))
.toEqual([{
type: 'Error'
text: 'my awesome text'
Expand All @@ -16,7 +17,7 @@ describe "LinterRust::parse", ->
}])

it "should properly parse one line warning message", ->
expect(linter.parse('foo:33:44: 22:33 warning: äüö<>\n'))
expect(errorModes.OLD_RUSTC.parse('foo:33:44: 22:33 warning: äüö<>\n', []))
.toEqual([{
type: 'Warning',
text: 'äüö<>'
Expand All @@ -25,14 +26,14 @@ describe "LinterRust::parse", ->
}])

it "should return messages with a range of at least one character", ->
expect(linter.parse('foo:1:1: 1:1 error: text\n'))
expect(errorModes.OLD_RUSTC.parse('foo:1:1: 1:1 error: text\n', []))
.toEqual([{
type: 'Error'
text: 'text'
filePath: 'foo'
range: [[0, 0], [0, 1]]
}])
expect(linter.parse('foo:1:1: 2:1 error: text\n'))
expect(errorModes.OLD_RUSTC.parse('foo:1:1: 2:1 error: text\n', []))
.toEqual([{
type: 'Error'
text: 'text'
Expand All @@ -41,31 +42,31 @@ describe "LinterRust::parse", ->
}])

it "should properly parse multiline messages", ->
expect(linter.parse('bar:1:2: 3:4 error: line one\n\
two\n'))
expect(errorModes.OLD_RUSTC.parse('bar:1:2: 3:4 error: line one\n\
two\n', []))
.toEqual([
{ type: 'Error', text: 'line one\ntwo', filePath: 'bar', range: [[0, 1], [2, 3]] }
])
expect(linter.parse('bar:1:2: 3:4 error: line one\n\
expect(errorModes.OLD_RUSTC.parse('bar:1:2: 3:4 error: line one\n\
two\n\
foo:1:1: 1:2 warning: simple line\n'))
foo:1:1: 1:2 warning: simple line\n', []))
.toEqual([
{ type: 'Error', text: 'line one\ntwo', filePath: 'bar', range: [[0, 1], [2, 3]] },
{ type: 'Warning', text: 'simple line', filePath: 'foo', range: [[0, 0], [0, 1]] }
])
expect(linter.parse('bar:1:2: 3:4 error: line one\n\
expect(errorModes.OLD_RUSTC.parse('bar:1:2: 3:4 error: line one\n\
two\n\
three\n\
foo:1 shouldnt match'))
foo:1 shouldnt match', []))
.toEqual([
{ type: 'Error', text: 'line one\ntwo\nthree', filePath: 'bar', range: [[0, 1], [2, 3]] }
])

it "should also cope with windows line breaks", ->
expect(linter.parse('a:1:2: 3:4 error: a\r\nb\n')[0].text)
expect(errorModes.OLD_RUSTC.parse('a:1:2: 3:4 error: a\r\nb\n', [])[0].text)
.toEqual('a\r\nb')

multi = linter.parse('a:1:2: 3:4 error: a\n\rb\n\rx:1:2: 3:4 error: asd\r\n')
multi = linter.parse('a:1:2: 3:4 error: a\n\rb\n\rx:1:2: 3:4 error: asd\r\n', [])
expect(multi[0].text).toEqual('a\n\rb')
expect(multi[1].text).toEqual('asd')

Expand Down

0 comments on commit 0843a00

Please sign in to comment.