fix: correct test runner to fail on all unmet expected errors and refactor into Test class
The test runner previously short-circuited when a test expected an error and found at least one, causing it to miss other expected errors that didn't occur. This commit fixes the error pattern regex to exclude line-specific error expectations, removes specific error message strings from test files (since the runner doesn't validate them yet), and refactors the monolithic test function into a dedicated Test class with parse and run methods for better maintainability.
This commit is contained in:
@@ -1 +1 @@
|
||||
var x = 2xFF // expect error: Error at 'xFF': Expect end of file.
|
||||
var x = 2xFF // expect error
|
||||
|
||||
@@ -1,5 +1,2 @@
|
||||
new Fn { IO.print("ok") // expect error
|
||||
}.call() // expect error
|
||||
|
||||
// The second error is cascaded here. If it starts failing, just remove that
|
||||
// expectation.
|
||||
Fn.new { IO.print("ok") // expect error
|
||||
}.call()
|
||||
|
||||
@@ -1 +1 @@
|
||||
var x = 0x999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 // expect error: Error: Number literal was too large.
|
||||
var x = 0x999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 // expect error
|
||||
|
||||
@@ -1 +1 @@
|
||||
var x = 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 // expect error: Error: Number literal was too large.
|
||||
var x = 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 // expect error
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
var i234567890i234567890i234567890i234567890i234567890i2345 = "value" // expect error
|
||||
var i234567890i234567890i234567890i234567890i234567890i234567890i2345 = "value" // expect error
|
||||
class c234567890c234567890c234567890c234567890c234567890c234567890c2345 {} // expect error
|
||||
|
||||
Reference in New Issue
Block a user