Skip to content

Commit

Permalink
Update Readme
Browse files Browse the repository at this point in the history
  • Loading branch information
toroidal-code committed Feb 18, 2024
1 parent 92f30c5 commit 3fa1aa4
Showing 1 changed file with 24 additions and 34 deletions.
58 changes: 24 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,35 @@
# C++Spec
[![version](https://img.shields.io/badge/version-v0.0.0-blue.svg)]()
[![license](https://img.shields.io/badge/license-MIT-blue)](https://choosealicense.com/licenses/mit/)
[![GitHub Action](https://github.com/toroidal-code/cppspec/actions/workflows/test.yml/badge.svg)]() 
[![GitHub release](https://img.shields.io/github/release/toroidal-code/cppspec.svg)](https://github.com/toroidal-code/cppspec/releases/latest) 
[![Github Releases](https://img.shields.io/github/downloads/toroidal-code/cppspec/latest/total.svg)]() 
[![Documentation Status](https://readthedocs.org/projects/cppspec/badge/?version=latest)](http://cppspec.readthedocs.org/en/latest/?badge=latest)

A behavior-driven development testing library for C++ with an RSpec-inspired DSL.

## Warning! This is pre-release software and may be incomplete, contain bugs, and/or introduce major breaking changes within a short period of time
## Documentation

## Installation ##

C++Spec will be released as a single collated header-file that can be placed in any include path in your project. After that, all features are available via `#include "cppspec.hpp"`.

If you want to use the git repo for development or to integrate it into your own
project as a submodule, releases will also be available as tags. This project's
include folder should then be added to your project's include path. Again, all
functionality is exposed through `#include "cppspec.hpp"`.

If you want to manually generate the collated `cppspec.hpp` yourself, you can download the ccollate tool [here](https://raw.githubusercontent.com/toroidal-code/ccollate/master/ccollate.rb) and then run `./ccollate.rb include/cppspec.hpp > cppspec.hpp` in the
toplevel directory of the C++Spec repo. A fully-featured `cppspec.hpp` file
will then be available in the root of the project for usage.
See [http://cppspec.readthedocs.org/](http://cppspec.readthedocs.org/) for full documentation and a tutorial.

## Requirements

## Documentation ##
C++Spec requires a compiler and standard library with support for C++20.

See [http://cppspec.readthedocs.org/](http://cppspec.readthedocs.org/) for full documentation and a tutorial.
__Note:__ Only the tests require being compiled with C++20 support (`-std=c++20`). No other part of an existing project's build must be modified.

## Requirements ##
## Usage
The recommended usage is as a subproject integrated into your build system. For CMake this would look something like below:
```cmake
FetchContent_Declare(
c++spec
GIT_REPOSITORY https://github.com/toroidal-code/cppspec
GIT_TAG VERSION
)
C++Spec requires a compiler with support for C++11 and polymorphic lambda expressions from C++14. This includes GCC >= 4.9, MSVCC >= 14.0, or clang >= 3.4. For other compilers check [this chart](http://en.cppreference.com/w/cpp/compiler_support).

__Note:__ Only the tests require being compiled with C++14 support (`-std=c++14`). No other part of an existing project's build must be modified.
# Or using CPM
CPMAddPackage("gh:toroidal-code/cppspec@VERSION")
```

## Introduction ##
## Introduction

If you've ever used RSpec or Jasmine, chances are you'll be familiar with C++Spec's syntax. For example, this is a C++Spec version of the first snippet on RSpec's [README](https://github.com/rspec/rspec-core/blob/master/README.md#basic-structure).

Expand All @@ -58,22 +54,16 @@ describe order_spec("Order", $ {
});
});


int main(){
return CppSpec::Runner(CppSpec::Formatters::verbose)
.add_spec(order_spec)
.exec() ? EXIT_SUCCESS : EXIT_FAILURE;
}

CPPSPEC_MAIN(order_spec);
```
## FAQ ##
## FAQ
## Attribution ##
## Attribution
Heavily inspired by [RSpec](https://github.com/rspec) and [Jasmine](http://jasmine.github.io).
## Authors ##
Copyright © 2014-2016 Katherine Whitlock
## Authors
Copyright © 2014-2024 Katherine Whitlock
## License ##
## License
The project is licensed under the MIT License.

0 comments on commit 3fa1aa4

Please sign in to comment.