Files
wren/test
Bob Nystrom 9d2b4af508 fix: allow empty ranges at the end of a sequence for lists and strings
Previously, empty ranges were only permitted at index zero on an empty sequence.
This change extends the `calculateRange` function to allow empty ranges at the
end of a non-empty sequence, enabling `list[3...3]` and `list[3..-1]` to return
an empty slice. Updated the range validation logic to check `range->from == *length`
instead of requiring a zero-length sequence, and added test cases for both lists
and strings to verify the new behavior.
2015-12-06 18:37:58 +00:00
..

This contains the automated validation suite for the VM and built-in libraries.

  • benchmark/ - Performance tests. These aren't strictly pass/fail, but let us compare performance both against other languages and against previous builds of Wren itself.

  • core/ - Tests for the built in core library, mainly methods on the core classes. If a bug is in wren_core.c or wren_value.c, it will most likely break one of these tests.

  • language/ - Tests of the language itself, its grammar and runtime semantics. If a bug is in wren_compiler.c or wren_vm.c, it will most likely break one of these tests. This includes tests for the syntax for the literal forms of the core classes.

  • limit/ - Tests for various hardcoded limits. The language doesn't officially specify these limits, but the Wren implementation has them. These tests ensure that limit behavior is well-defined and tested.