leftibot 1df1b4ad92
Fix #19: Add enum support (#679)
* Fix #19: Add strongly-typed enum support to ChaiScript

Adds the ability to define enums inside ChaiScript with syntax:
  enum Color { Red, Green, Blue }
  enum Priority { Low = 10, Medium = 20, High = 30 }

Enum values are strongly typed Dynamic_Objects accessed via :: syntax
(e.g. Color::Red). A validating constructor from int is registered that
rejects values outside the defined range. Functions declared with an enum
parameter type (e.g. def fun(Color val)) correctly reject plain integers,
enforcing type safety at the dispatch level.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Address review: simplify enum implementation

Remove Enum_Access AST node type — reuse Id_AST_Node for enum value
lookups by combining "EnumName::ValueName" at parse time. Replace
std::set with std::vector for valid value tracking (enums are small).
Net removal of ~18 lines.

Requested by @lefticus in PR #679 review.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Address review: rename to_int to to_underlying, add switch tests

Requested by @lefticus in PR #679 review.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Address review: enum class syntax, constructor, configurable underlying type

- Change syntax from `enum` to `enum class` (only strongly-typed enums)
- Support optional underlying type: `enum class Flags : char { ... }`
  (defaults to `int` when omitted)
- Replace `from_int` with a constructor named after the enum type,
  accessed as `Color::Color(1)` — the underlying type is no longer
  hardcoded to int
- Use Boxed_Number for type-generic value storage and comparison
- to_underlying now returns the actual underlying type

Note: `Color(1)` syntax is not possible because ChaiScript's global
objects shadow functions with the same name; `Color::Color(1)` is the
C++-consistent alternative.

Requested by @lefticus in PR #679 review.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Address review: support enum struct syntax alongside enum class

Requested by @lefticus in PR #679 review.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Address review: update EBNF grammar and cheatsheet with enum documentation

Add enum production rules to the EBNF grammar. Add comprehensive enum
section to the cheatsheet covering syntax, explicit values, underlying
type specification, construction, to_underlying, comparison, type-safe
dispatch, and switch usage. Document that the underlying type must be a
numeric type (string cannot be used) and list all available types.

Requested by @lefticus in PR #679 review.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: leftibot <leftibot@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 22:08:28 -06:00
..
add_vs_add_global.chai Fix #554: Document the difference between add, add_global, and set_global (#649) 2026-04-11 11:17:46 -06:00
array_access.chai Add some tests that were laying around 2016-01-30 06:56:01 -07:00
array_types.chai Add array type support #167 2015-04-17 20:02:09 -06:00
assign_const.chai Fix up some error handling 2018-05-25 14:33:17 -06:00
assign_no_aliasing.chai Fix #635: Segfault in async result via dangling pointer from optimized for loop (#671) 2026-04-12 16:47:06 -06:00
async_engine_lifetime_test.cpp Fix #655: Async issues with threads outliving the chaiscript engine (#656) 2026-04-11 16:12:41 -06:00
async_engine_lifetime.chai Fix #655: Async issues with threads outliving the chaiscript engine (#656) 2026-04-11 16:12:41 -06:00
async_return_value.chai Fix #635: Segfault in async result via dangling pointer from optimized for loop (#671) 2026-04-12 16:47:06 -06:00
bind2.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
bind.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
block_start.chai Add some missing unit tests for number formats and block starting 2009-10-14 12:25:21 +00:00
bool_comparisons.chai Add boolean comparison tests #217 2015-10-15 21:59:46 -06:00
bool_not.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
boxed_cast_test.cpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
break_for.chai Add 'continue' command for loops. Also enhance for() unit tests which are now breaking and need to be fixed 2013-02-23 14:49:20 -07:00
break_while.chai Clean up tab vs space issues 2014-05-23 09:56:55 -06:00
c_linkage_test.cpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
catch.hpp Update catch.hpp to v2.13.9 2025-07-28 09:33:41 -04:00
char_init.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
class_cheatsheet.chai Address review: remove issue number references from code 2026-04-10 11:31:59 -06:00
class_inheritance.chai Fix #201: Suggestion: class Inheritance (#641) 2026-04-10 19:12:06 -06:00
class_inside_scope.chai Only allow class in top level scope 2016-10-28 10:56:12 -06:00
class_missing_line_separator.chai Fix #592: Local variable saw_eol in Class_Statements() was always true (#646) 2026-04-11 08:32:27 -06:00
class.chai Add class keyword for easier user defined types. 2014-08-22 21:11:49 -06:00
classification.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
clone_object.chai Comment out clone_object tests from typed_function_ordering 2017-11-21 16:37:18 -07:00
collate.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
compare_gt.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
compare_lt.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
compiled_tests.cpp Fix #552: Feature-request: nested namespaces (#675) 2026-04-14 11:49:00 -06:00
concat.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
const_range_test.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
const_var.chai Fix #17: Add const variables in ChaiScript (#643) 2026-04-10 22:12:13 -06:00
continue_for.chai Add 'continue' command for loops. Also enhance for() unit tests which are now breaking and need to be fixed 2013-02-23 14:49:20 -07:00
continue_while.chai Add 'continue' command for loops. Also enhance for() unit tests which are now breaking and need to be fixed 2013-02-23 14:49:20 -07:00
conversion_functions.chai Fix #459: Fill out the set of conversion functions for all POD types (#664) 2026-04-11 16:08:09 -06:00
conversion_to_bool.chai Add check for negate conversion to bool 2017-02-02 08:06:41 -08:00
convert_double_string.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
convert_int_string.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
convert_string_double.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
convert_string_int.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
deep_array_lookup.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
dispatch_functions.chai A few parser cleanups 2016-04-16 12:04:18 -06:00
divide_by_zero_protection.chai Make sure floating point returns Infinity 2015-01-09 20:20:38 -07:00
drop_while.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
drop.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
dynamic_object_assignment.chai Add test for dynamic object assignments 2016-03-12 19:50:58 -07:00
dynamic_object_dynamic_attrs_explicit.chai Fix up some error handling 2018-05-25 14:33:17 -06:00
dynamic_object_dynamic_attrs.chai Wrap up method_missing docs and tests 2015-04-23 15:03:08 -06:00
empty.chai Closing issue #99 : shared const char * memory issues. Also, clean up some file loading overhead (did not seem to have an performance impact). 2010-11-05 22:01:39 +00:00
emscripten_eval_test.cpp Fix #472: Emscripten Frontend (#662) 2026-04-11 15:58:28 -06:00
emscripten_exception_test.cpp Fix #678: Add WASM exception support to Emscripten build (#689) 2026-04-13 22:40:26 -06:00
enum.chai Fix #19: Add enum support (#679) 2026-04-14 22:08:28 -06:00
equ_shortform.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
eval_error.chai Get all unit tests passing 2016-06-29 21:06:31 -06:00
eval_file_with_bom.chai Throw exception when user-provided input contains BOM. 2018-05-13 10:25:04 +02:00
eval_file.chai Fix errors with eval/use of scripts 2015-04-10 08:20:30 -06:00
eval.chai Add the ability to get the return value from 'use' 2015-04-08 08:17:33 -06:00
even.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
exception_comprehensive.chai Fix #61: Comprehensive exception test suite and fix for silently swallowed exceptions (#681) 2026-04-13 19:05:55 -06:00
exception_finally.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
exception_typed.chai Add typed exception unit tests 2015-01-13 14:08:46 -07:00
exception.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
execution_context.chai Enhance tests for execution contexts 2018-02-02 21:41:49 -07:00
explicit_this_capture.chai Add test for explicitly capturing "this" 2017-01-31 13:24:53 -08:00
failed_deep_include.chai Properly report which file failed to be loaded 2018-05-29 07:45:43 -06:00
failed_deep_include.inc Properly report which file failed to be loaded 2018-05-29 07:45:43 -06:00
file_with_bom.inc Throw exception when user-provided input contains BOM. 2018-05-13 10:25:04 +02:00
filter.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
float.chai Fix tests failing w/MSVC2013 because of formatting 2015-05-03 10:31:10 -06:00
foldl.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
for_each_range.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
for_each_retro.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
for_each.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
for.chai Merge branch 'master' into ChaiScript_5_0_CPP_11 2013-02-23 21:37:50 -07:00
function_array_adjacent.chai Fix parsing of member access and function calls 2011-06-13 07:43:51 -07:00
function_attributes.chai attributes / members holding functions works fully now 2015-04-17 16:32:59 -06:00
function_introspection.chai Fix up some error handling 2018-05-25 14:33:17 -06:00
function_members.chai Get class members that are functions working 2015-04-17 12:18:47 -06:00
function_reassignment.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
function_redefinition.chai Fix up some error handling 2018-05-25 14:33:17 -06:00
future.chai Add test for number of moves/copies made 2015-04-12 19:20:24 -06:00
fuzz_unit_test.inc Limit when coverage happens to only one build target 2017-07-20 15:08:53 -06:00
fuzzy_tests-2017-07-20.tar.bz2 Limit when coverage happens to only one build target 2017-07-20 15:08:53 -06:00
generate_range.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
global_const_in_module.chai Add ability to provide global consts in Module objects. Issue #14 2011-09-09 16:52:32 -06:00
global_in_script.chai restore newline to bottom of file 2016-01-18 13:33:38 -05:00
global_lcase.chai Add global & test 2016-04-16 14:23:11 -06:00
global.chai Deprecate GLOBAL #247 2017-05-30 11:33:12 -06:00
grammar_constructs.chai Fix #628: Grammar railroad diagram (#673) 2026-04-14 10:59:48 -06:00
hashbang.chai Add unit test for ignoring hash bang. 2012-05-18 08:43:03 -07:00
hex_escapes.chai Limit hexadecimal escape sequence length 2015-11-08 18:36:16 +01:00
if_else.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
if_elseif_else.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
if_elseif.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
if.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
index_operator_override.chai Fix #398: Allow overriding [] operator with string index on Dynamic_Object subtypes (#667) 2026-04-11 18:59:09 -06:00
index_operator.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
inheritance.chai Merge remote-tracking branch 'origin/release-4.x' into develop 2014-04-22 19:52:01 -06:00
init_if.chai Add C++17-style if-init blocks 2016-06-26 22:10:53 -06:00
instring_eval_more.chai fix handling of $ in strings ChaiScript#553 2021-05-23 12:05:33 +02:00
instring_eval_with_string.chai Add some tests that were laying around 2016-01-30 06:56:01 -07:00
instring_eval.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
integer_literal_test.cpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
invalid_function_assignment.chai Fix up some error handling 2018-05-25 14:33:17 -06:00
invalid_function_reassignment.chai Fix up some error handling 2018-05-25 14:33:17 -06:00
is_undef.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
join.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
json_1.chai Add json tests 2015-09-30 14:24:56 -06:00
json_2.chai Add json tests 2015-09-30 14:24:56 -06:00
json_3.chai to_json std::int64_t integer conversion 2018-02-20 16:28:23 +01:00
json_4.chai In JSONParser::parse_number(), only allow a single '-' at start 2017-03-14 13:01:09 +01:00
json_5.chai Add json tests 2015-09-30 14:24:56 -06:00
json_6.chai Add json tests 2015-09-30 14:24:56 -06:00
json_7.chai Add json tests 2015-09-30 14:24:56 -06:00
json_8.chai Add json tests 2015-09-30 14:24:56 -06:00
json_9.chai Handle negative numbers in JSONParse::parse_number 2017-03-14 12:01:51 +01:00
json_10.chai Add json tests 2015-09-30 14:24:56 -06:00
json_11.chai Add json tests 2015-09-30 14:24:56 -06:00
json_12.chai Add json tests 2015-09-30 14:24:56 -06:00
json_13.chai Add json tests 2015-09-30 14:24:56 -06:00
json_14.chai Fix JSON parsing for floats with negative exponents 2017-10-24 20:10:50 +02:00
json_15.chai Update json_15.chai 2018-02-20 16:13:17 +01:00
json_roundtrip.chai Add last test for json support 2015-10-02 08:12:50 -06:00
json_unicode_1.chai Add tests for JSON \u unicode escape sequences 2026-04-10 19:49:56 -06:00
json_unicode_2.chai Add tests for JSON \u unicode escape sequences 2026-04-10 19:49:56 -06:00
json_unicode_3.chai Add tests for JSON \u unicode escape sequences 2026-04-10 19:49:56 -06:00
json_unicode_4.chai Add tests for JSON \u unicode escape sequences 2026-04-10 19:49:56 -06:00
json_unicode_5.chai Add tests for JSON \u unicode escape sequences 2026-04-10 19:49:56 -06:00
json_unicode_6.chai Add tests for JSON \u unicode escape sequences 2026-04-10 19:49:56 -06:00
json_unicode_7.chai Add tests for JSON \u unicode escape sequences 2026-04-10 19:49:56 -06:00
json_unicode_8.chai Add tests for JSON \u unicode escape sequences 2026-04-10 19:49:56 -06:00
lambda.chai Add failing lambda test with bind variable 2015-03-21 19:52:03 -06:00
list_push_back.chai Remove async test from list_push_back 2016-02-01 15:38:32 -07:00
list_push_front.chai Add tests for pushing move only values 2015-08-27 15:23:36 -06:00
list_resize.chai Fix list unittest 2016-04-15 14:08:03 +03:00
load_module.chai Add example of wrapping data members of a class #79 2013-02-24 15:11:06 -07:00
logical_short_circuiting.chai Fix errors with eval/use of scripts 2015-04-10 08:20:30 -06:00
loop_inner_outer.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
malformed_inline_map.chai Fix up some error handling 2018-05-25 14:33:17 -06:00
map_access.chai Add map .at method from c++11 2015-06-10 18:41:50 -06:00
map_count.chai Add unit test for calling 'count' on const map object. #90 2013-11-27 09:28:23 -07:00
map_find.chai Fix #470: Expose find() for associative container types (#668) 2026-04-11 18:57:26 -06:00
map_inplace_init.chai Merge branch 'master' into 2011-09-09-CxScript 2012-05-21 10:47:12 -06:00
map_keys_vector_push_back.chai Fix #594: Map keys become dangling references when pushed into Vector (#650) 2026-04-12 16:39:19 -06:00
map.chai Add test for assignment of map() return vector 2016-01-19 10:00:26 -07:00
math_add_mixed.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
math_add.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
math_dec.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
math_div.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
math_inc.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
math_mod.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
math_mult.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
math_negate.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
math_paren.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
math_sub.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
max.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
member_variable_access.chai Add failing test for pointer based member data 2016-03-12 20:08:15 -07:00
memberscope.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
method_missing.chai Wrap up method_missing docs and tests 2015-04-23 15:03:08 -06:00
method_sugar.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
min.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
mmd1.chai Clean up tab vs space issues 2014-05-23 09:56:55 -06:00
mmd2.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
modulo_by_zero_protection.chai Fix #634: Add divide-by-zero check for modulo assignment operator (#672) 2026-04-12 16:28:41 -06:00
move_async.chai Seperate out async moves into a separate test 2016-01-29 19:13:10 -07:00
multifile_test_chai.cpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
multifile_test_chai.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
multifile_test_main.cpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
multifile_test_module.cpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
multifile_test_module.hpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
multiline_oper.chai Allow operator exprs to span lines 2012-05-20 10:47:50 -07:00
multiline.chai Add support for chained dot calls. 2018-03-04 22:49:36 +01:00
multithreaded_test.cpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
multithreaded_work.inc Add tests for multithreaded features #55 2012-07-10 15:10:09 -06:00
namespaces_nested_copy.chai Added unit tests for namespaces. 2016-10-18 08:57:51 -05:00
namespaces.chai Added unit tests for namespaces. 2016-10-18 08:57:51 -05:00
negative_numbers.chai Add more integer literal tests / fix neg test 2017-02-01 07:02:18 -08:00
nested_namespaces.chai Fix #552: Feature-request: nested namespaces (#675) 2026-04-14 11:49:00 -06:00
non_const_param.chai Add test for passing non-const ref param 2015-07-03 14:16:24 -06:00
now_function.chai Fix #660: Windows builds are broken (#661) 2026-04-11 15:06:33 -06:00
null_object_access.chai Throw exception if user attempts to use null Boxed_Value 2014-09-09 13:43:05 -06:00
number_formats.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
number_suffixes.chai Make binary literals sized like other integer types 2015-10-03 16:38:41 -06:00
object_attr_same_name.chai Fix fix for duplication attribute name errors 2012-01-30 09:16:20 -07:00
object_attr.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
object_clone.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
object_constructor_guards.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
object_from_json_1.chai Fix #499: Add object_from_json, map_to_object, and object_to_map functions (#676) 2026-04-13 15:44:04 -06:00
object_from_json_2.chai Fix #499: Add object_from_json, map_to_object, and object_to_map functions (#676) 2026-04-13 15:44:04 -06:00
object_from_json_3.chai Fix #499: Add object_from_json, map_to_object, and object_to_map functions (#676) 2026-04-13 15:44:04 -06:00
object_from_json_4.chai Fix #499: Add object_from_json, map_to_object, and object_to_map functions (#676) 2026-04-13 15:44:04 -06:00
object_from_json_5.chai Fix #499: Add object_from_json, map_to_object, and object_to_map functions (#676) 2026-04-13 15:44:04 -06:00
object_method_guards.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
octal_escapes.chai Fix broken escape sequence parsing after octal/hex escape 2015-11-08 18:07:04 +01:00
odd.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
operator_overload2.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
operator_overload3.chai Add operator overload tests 2015-10-01 09:39:03 -06:00
operator_overload4.chai Add operator overload tests 2015-10-01 09:39:03 -06:00
operator_overload.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
operator_parsing.chai add failing tests for #198 2015-08-01 10:04:42 -06:00
operator_scoping.chai Make reflection API part of stdlib 2014-08-27 12:05:03 -06:00
operators_float.chai Fix up some error handling 2018-05-25 14:33:17 -06:00
operators_int.chai Fix up some error handling 2018-05-25 14:33:17 -06:00
order_of_operations.chai Add test for order of operations 2015-07-24 11:49:23 -06:00
pair.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
parser_test.chai Add some convenience functions for parsing 2015-08-11 19:20:18 -06:00
pass_by_reference.chai Add unit test for pass_by_preference 2012-05-19 21:42:02 -06:00
performance.chai Renamed timer function to now(), added perf unit test 2015-05-06 11:37:37 +02:00
pointer_passed_to_constructor.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
precedence_1.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
precedence_2.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
precedence_3.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
precedence_4.chai Fix order of operations for prefix and '*', '/' 2016-10-06 14:44:30 -06:00
precedence_eq.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
product.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
range_back.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
range_contains.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
range_find.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
range_inplace.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
range.chai Add failing range test 2014-08-27 12:15:47 -06:00
ranged_for_2.chai Add failing test for lifetime with ranged-for loop 2018-05-29 08:03:59 -06:00
ranged_for.chai Add failing test for ranged_for with variable 2017-11-30 09:47:20 -07:00
raw_string.chai Fix #284: Add raw string support to avoid instring_eval 2026-04-09 22:09:42 -06:00
reduce.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
reflection_documentation.chai Fix #12: Document reflection and introspection capabilities 2026-04-09 21:43:56 -06:00
reflection_test.chai Update tests for removal of ChaiScript_Parser from stdlib 2016-04-17 21:15:59 -06:00
retro.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
retroretro.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
return_assignment.chai Fix #473: Allow assignment expressions in return statements (#665) 2026-04-11 17:13:50 -06:00
return_value_assignment.chai Fix up some error handling 2018-05-25 14:33:17 -06:00
return.chai Clean up tab vs space issues 2014-05-23 09:56:55 -06:00
runtime_error.chai Modify "var" to "auto" for unit tests. 2011-09-24 12:05:08 -06:00
scoping.chai Add scoping test 2011-09-24 15:21:15 -06:00
shared_ptr_update.chai Make sure type_info works with shared_ptr & 2016-03-28 15:57:26 -06:00
shift.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
static_chaiscript.cpp Add C++20 support 2023-06-18 06:42:51 -05:00
string_charptr.chai Add string.c_str() and string.data() methods. 2010-08-05 13:38:11 +00:00
string_concat.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
string_find_first_not_of.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
string_find_first_of.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
string_find_last_not_of.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
string_find_last_of.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
string_find.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
string_init.chai First set of unit tests 2009-07-08 18:59:10 +00:00
string_literal_access.chai Fix typo in unit test and add string literal access 2011-06-13 18:14:41 -07:00
string_rfind.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
string_size.chai Add unit tests for string size() fixes #93 #95 2014-01-05 12:22:44 -07:00
string_substr.chai Add support for string::substr #75 2012-11-07 15:48:25 -07:00
string_unicode_ascii.chai Basic unit tests 2016-06-27 12:39:03 +03:00
string_unicode_parse.chai Fix unit tests for unicode to be consistent with how it should work 2018-03-01 12:57:56 -07:00
string_unicode_unicode.chai Fix up some error handling 2018-05-25 14:33:17 -06:00
sum.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
switch_break.chai Add support for switch/case/default statements. 2012-05-17 12:43:25 -07:00
switch_default_2.chai Support default case in the non-last position 2015-10-15 15:02:49 -06:00
switch_default.chai Add support for switch/case/default statements. 2012-05-17 12:43:25 -07:00
switch_empty.chai Oops. Properly handle empty switch statements. 2012-05-17 13:20:15 -07:00
switch_fallthru_and_break.chai Add support for switch/case/default statements. 2012-05-17 12:43:25 -07:00
switch_fallthru.chai Add support for switch/case/default statements. 2012-05-17 12:43:25 -07:00
switch_type_conversion.chai Add tests for #421: switch with type_conversion lifetime bug 2026-04-10 18:18:25 -06:00
system_introspection.chai Get system introspection functions fully working 2012-05-18 16:25:13 -06:00
take_while.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
take.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
temporary_lifetime.chai Add test and reenable function I accidentally commented out 2012-05-19 18:04:51 -06:00
ternary_condition.chai Add ternary condition (?:) operator 2012-05-20 10:17:21 -07:00
threading_config_test.cpp Fix #666: TSAN builds don't actually use threads (#670) 2026-04-11 20:25:46 -06:00
type_info_test.cpp change .clang-format and reformat code with clang-format 11 2021-05-24 10:44:15 +02:00
type_info.chai Move to a more standardized unit testing design which relies less on OS support and can soon be moved to a ctest implementation 2010-03-14 05:19:24 +00:00
unit_test.inc Fix up some error handling 2018-05-25 14:33:17 -06:00
use.chai Add the ability to get the return value from 'use' 2015-04-08 08:17:33 -06:00
use.inc Add the ability to get the return value from 'use' 2015-04-08 08:17:33 -06:00
user_defined_conversions_2.chai Fix crash during user_defined_conversions_2 2014-11-02 21:37:01 -07:00
user_defined_conversions.chai Add ability to register a user defined type conversion 2014-10-28 14:52:24 -06:00
var_decl.chai Adding new test that is just a var decl. 2011-09-24 12:26:45 -06:00
var_ref_decl.chai Get & variable declarations working 2011-09-24 14:21:21 -06:00
variable_redefinition.chai Fix up some error handling 2018-05-25 14:33:17 -06:00
vector_access.chai Fixes array access with arithmetic conversions 2015-04-06 07:21:32 -06:00
vector_assignment_3.chai Add another vector assignment test 2015-10-15 21:32:16 -06:00
vector_assignment.chai Fix vector element assignment issues 2015-10-15 21:20:12 -06:00
vector_erase_at.chai Fix crash with out of bounds index (issue #572) 2021-07-08 18:55:36 +02:00
vector_inplace_init.chai Add fixes for parsing of inplace vectors with newlines 2014-03-01 13:49:03 -07:00
vector_insert_at.chai Fix crash with out of bounds index (issue #572) 2021-07-08 18:55:36 +02:00
vector_literal_acccess.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
vector_of_one.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
vector_of_suffixed_numbers.chai Correct broken unit test for vector of suffixed numbers 2013-02-23 21:27:01 -07:00
vector_paren_literal_access.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
vector_push_back.chai Remove extra version of push_back async vector 2016-02-02 07:25:41 -07:00
vector_push_empty.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
vector_reserve.chai Add capacity check; fix vector_reserve unittest 2016-04-15 14:12:07 +03:00
vector_resize.chai Add resize to stl list and vector; add reserve to stl vector 2016-04-15 13:15:30 +03:00
zip_with.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00
zip.chai Fixing 4.x grammar to be backward compatible. 2012-05-17 10:14:50 -07:00