Commit Graph

305 Commits

Author SHA1 Message Date
Michael Miller 2c33e96dd4
Fix parsing passing spec 2021-01-30 20:14:25 -07:00
Michael Miller d3ad0963cd
Minor fixes 2021-01-30 17:31:50 -07:00
Michael Miller 2ecd4ded6d
Fix line numbers being wrong with macro expansion
Addresses https://github.com/icy-arctic-fox/spectator/issues/18
2021-01-08 15:32:15 -07:00
Michael Miller d31b8f4093
Disable false warning from Ameba
spec_helper_path is actually used by the ECR template.
2020-08-16 12:10:32 -06:00
Michael Miller 62fd289b0f
Add ability to test expectations directly 2020-08-16 12:04:45 -06:00
Michael Miller fab216419c
Capture expectations 2020-08-16 11:39:54 -06:00
Michael Miller 14608c8b2d
Change to struct 2020-08-16 11:00:46 -06:00
Michael Miller 5688e58025
Initial runtime test compilation
Allows for compiling single examples at runtime.
2020-08-16 10:59:15 -06:00
Michael Miller 414f132f49 Add missing require statement 2020-05-09 14:12:40 -06:00
Michael Miller 5c24d606dd Add specs of snippets from docs 2020-03-28 10:50:58 -06:00
Michael Miller e92aa7ed57 Implicit subject should not use .new with modules
Fixes GitHub issue https://github.com/icy-arctic-fox/spectator/issues/6
2020-02-22 22:59:09 -07:00
Davide Paolo Tua 83ac420273 Add test for fix, fix test for range_matcher 2020-02-21 13:19:27 +01:00
Michael Miller cacca99c0b Formatting 2020-01-20 20:32:14 -07:00
Michael Miller 721425c3c8 Run deferred expectations after all hooks 2020-01-20 20:15:49 -07:00
Michael Miller 1e3d89884b Add some RSpec docs tests for hooks 2020-01-20 20:11:19 -07:00
Michael Miller 60f1c3091b Allow `be` matcher to be used on structs 2020-01-19 22:39:21 -07:00
Michael Miller 3d08949c94 Add helper method specs from RSpec docs 2020-01-19 22:24:28 -07:00
Michael Miller b1984b343a Add `should` keywords to examples
Allows short-hand like:
it { should be_empty }
2020-01-19 22:12:06 -07:00
Michael Miller 8381c08b05 Add subject specs 2020-01-19 22:05:38 -07:00
Michael Miller 64f6456935 Merge branch 'specs' 2020-01-19 09:52:41 -07:00
Michael Miller 15f211c4b6 Add `it_fails` to handle expected failures 2020-01-17 22:41:38 -07:00
Michael Miller e3a4dedfc6 Add RSpec `respond_to` matcher spec 2020-01-17 22:14:25 -07:00
Michael Miller ed48b80d58 Add RSpec `raise_error` matcher spec 2020-01-17 21:58:29 -07:00
Michael Miller 596f7e87c8 Formatting 2020-01-17 09:27:48 -07:00
Arina Shmeleva cf448576e2 Add test for subject 2020-01-17 00:49:59 +03:00
Michael Miller 6a0a73ca76 Add RSpec `match` matcher spec 2020-01-06 23:05:31 -07:00
Michael Miller b433511201 Add RSpec `include/contain` matcher spec 2020-01-06 22:51:47 -07:00
Michael Miller 6ad861365c Add RSpec `have_attributes` matcher spec 2020-01-06 22:33:52 -07:00
Michael Miller f23141b3e1 Add RSpec `start_with` and `end_with` matchers specs 2020-01-06 22:19:09 -07:00
Michael Miller 7868755eee Add RSpec `cover` matcher spec 2020-01-05 23:02:09 -07:00
Michael Miller 5bbaad36d2 Add RSpec `contain_exactly` matcher spec 2020-01-05 11:42:43 -07:00
Michael Miller 26656b7c12 Add RSpec `change` matcher spec 2020-01-05 10:35:35 -07:00
Michael Miller e17435f6e8 Add RSpec `be_within` matcher spec 2020-01-05 10:28:21 -07:00
Michael Miller 1f7ac79c78 Add RSpec `be` matchers spec 2020-01-05 00:29:10 -07:00
Michael Miller 80c4e97c29 Add RSpec `all` matchers spec 2020-01-05 00:12:57 -07:00
Michael Miller 42ef2cc904 Add RSpec type matchers spec 2020-01-04 12:47:23 -07:00
Michael Miller 2538f3a9a4 Add RSpec predicate matchers spec 2020-01-04 09:58:53 -07:00
Michael Miller 7f8d9d5ef3 Add comparison tests from RSpec docs 2020-01-02 20:00:51 -07:00
Michael Miller 9f91e3a266 Add tests for equality matcher 2020-01-01 21:58:37 -07:00
Michael Miller 0a6493964d Allow auto-run of Spectator
Needed to test Spectator with itself.
2020-01-01 21:50:08 -07:00
Michael Miller 2c400950a4 Remove specs since they're mostly invalidated by the refactor 2019-09-26 20:52:26 -06:00
Michael Miller 43dc106c18 Add return type annotations
Addresses Crystal compiler warning about abstract method return types.
2019-09-23 20:32:21 -06:00
Michael Miller adbfb7da7c Use integer division - Crystal 0.31.0 change 2019-09-23 19:38:15 -06:00
Michael Miller cede88bf0c Update spec with new arguments 2019-08-17 08:24:06 -06:00
Michael Miller a54e406fec Clean up expectation specs
Removed tests that are no longer valid or non-trivial to update.
2019-08-09 15:32:22 -06:00
Michael Miller 251e3b8774 Remove specs for matchers
Will replace with Spectator-based tests later.
2019-08-09 15:16:01 -06:00
Michael Miller 19d52ff02b Add unordered array matcher 2019-06-12 15:35:33 -06:00
Michael Miller 0eaf8efcc6 Fix copy/paste fail 2019-06-12 13:57:33 -06:00
Michael Miller efde29c90e Add have_size_of matcher 2019-06-09 12:45:49 -06:00
Michael Miller bb2b834662 Add have_size matcher 2019-06-09 12:44:46 -06:00
Michael Miller 0164d2973f Fix predicate tests and add new ones for have_ variant 2019-06-01 23:39:23 -06:00
Michael Miller e234ac2f31 Test case to ensure runtime type is reported 2019-06-01 20:55:29 -06:00
Michael Miller 77307f6eb1 Split part of RangeMatcher off as CollectionMatcher
Use CollectionMatcher for `be_within`.
The `#of` method creates a RangeMatcher.
2019-05-16 18:20:08 -06:00
Michael Miller f53bc26c28 Add ReferenceMatcher type 2019-05-08 16:59:36 -06:00
Michael Miller 7168b26218 Remove regex matcher - use case matcher 2019-05-08 16:39:00 -06:00
Michael Miller 00045ba9be Tests for nested groups and fail-fast 2019-04-22 20:27:54 -06:00
Michael Miller 1d530de5b1 Add tests for fail-fast and after hooks
Inspecting issue #2
2019-04-22 19:12:45 -06:00
Michael Miller b305c829be Allow hooks and conditions to be passed to create 2019-04-22 18:22:12 -06:00
Michael Miller 3eb6a1d676 Remove unused block arguments 2019-04-06 17:20:12 -06:00
Michael Miller 53bfcc25ef Add Ameba and address code linting issues 2019-04-06 17:19:02 -06:00
Michael Miller 365bd1ec2f Fix failing tests 2019-04-06 12:48:41 -06:00
Michael Miller 2ea69d2355 Add spec for array matcher 2019-03-30 18:38:06 -06:00
Michael Miller cd60fae157 Add respond_to matcher 2019-03-28 23:20:32 -06:00
Michael Miller aabc25ad4f Change formatters to take nillable profile 2019-03-25 16:05:38 -06:00
Michael Miller 35b887f8f0 Add placeholders for profile functionality 2019-03-25 12:13:11 -06:00
Michael Miller 2ff9505766 Add filter to TestSuite 2019-03-25 11:35:39 -06:00
Michael Miller d1767ebb7a Add CompositeExampleFilter 2019-03-25 11:10:27 -06:00
Michael Miller 481319c097 Add NullExampleFilter 2019-03-25 10:58:49 -06:00
Michael Miller a3c1892465 Move example filters from === to their own types 2019-03-25 10:51:50 -06:00
Michael Miller 8c66f8df34 Add ExampleFilter class 2019-03-23 22:03:49 -06:00
Michael Miller 2f8b4761de Make Example comparable against names and sources
This will be needed for filtering examples.
2019-03-23 21:40:13 -06:00
Michael Miller 4f3ca20741 Parse source strings 2019-03-23 20:47:41 -06:00
Michael Miller 268db53bf8 Use more sensible label for non-labeled procs 2019-03-23 20:23:31 -06:00
Michael Miller 4890cafefa Ability to enumerate each result in report 2019-03-23 14:44:00 -06:00
Michael Miller 4d38bf3ab2 Add secondary initializer 2019-03-23 14:38:51 -06:00
Michael Miller 209ef92d3d Implement "fail-blank" into runner and report 2019-03-22 13:41:46 -06:00
Michael Miller 2b71400d9a Remove tests that had a prefixed actual value 2019-03-22 13:05:24 -06:00
Michael Miller c156c55c72 Inspect the underlying value
This is needed because MatchDataValue is now a class instead of a 
struct.
2019-03-22 11:55:04 -06:00
Michael Miller e7e1d0e084 Change how values are passed to helper
Working around a segfault (dunno why this fixes it).
2019-03-22 11:53:20 -06:00
Michael Miller d705ef657c Update specs to handle new match data values 2019-03-22 11:41:39 -06:00
Michael Miller 3dd39f17f5 Fix Expectation spec 2019-03-22 11:07:56 -06:00
Michael Miller 33841e8888 Sub-type value modifier from MatchDataValue
This includes renaming the types.
2019-03-22 10:55:57 -06:00
Michael Miller a31d5c8b5b Implement fail-fast in runner
Report tracks number of omitted tests due to abort.
2019-03-22 00:05:53 -06:00
Michael Miller 9e63c20df2 Add fail-fast to config 2019-03-21 23:40:00 -06:00
Michael Miller f2558fd09e Add spec for ExceptionMatcher 2019-03-21 22:50:02 -06:00
Michael Miller d0da584f5e Add tests for Color formatting module 2019-03-14 19:42:30 -06:00
Michael Miller 0ca0ba0a55 Fix tests to account for negation wrappers 2019-03-07 16:12:23 -07:00
Michael Miller a9d1f1aabc Workaround for mashup of compile-time types 2019-03-06 18:40:57 -07:00
Michael Miller 018e3232cd Update RangeMatcher to use MatchData
There is a compilation error.
It appears that since the last Matcher#match method has been
implemented,
Crystal is finally grouping all of the NamedTuples together.
2019-03-06 15:01:00 -07:00
Michael Miller fbee1d9461 Update RegexMatcher to use MatchData 2019-03-06 13:10:16 -07:00
Michael Miller f29aba42d2 Update TruthyMatcher to use MatchData 2019-03-06 13:04:18 -07:00
Michael Miller 5fd1547ced Fix verbage around failure message 2019-03-06 12:01:32 -07:00
Michael Miller 6e62ccdfc5 Update TypeMatcher to use MatchData 2019-03-06 11:19:57 -07:00
Michael Miller 81e20b13ec Update PredicateMatcher to use MatchData 2019-03-06 11:05:13 -07:00
Michael Miller 6ab2aad532 Update HaveMatcher to use MatchData 2019-03-06 10:29:00 -07:00
Michael Miller a78b80ed1f Update StartWithMatcher to use MatchData 2019-03-06 09:33:36 -07:00
Michael Miller 76d09a22ff Update HaveValueMatcher to use MatchData 2019-03-06 02:19:12 -07:00
Michael Miller 3f1d8751fe Update HaveKeyMatcher to use MatchData 2019-03-06 02:02:55 -07:00
Michael Miller 95b4a349da Update InequalityMatcher to use MatchData 2019-03-05 19:00:49 -07:00
Michael Miller d35a739e60 Update LessThanMatcher to use MatchData 2019-03-05 16:53:15 -07:00