mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #586 from LefterisJP/natspec_contract_tags
Natspec title and author tag.
This commit is contained in:
commit
1d17d34979
@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
#include <boost/test/unit_test.hpp>
|
#include <boost/test/unit_test.hpp>
|
||||||
#include <libsolidity/CompilerStack.h>
|
#include <libsolidity/CompilerStack.h>
|
||||||
|
#include <libsolidity/Exceptions.h>
|
||||||
#include <jsonrpc/json/json.h>
|
#include <jsonrpc/json/json.h>
|
||||||
#include <libdevcore/Exceptions.h>
|
#include <libdevcore/Exceptions.h>
|
||||||
|
|
||||||
@ -393,6 +394,93 @@ BOOST_AUTO_TEST_CASE(dev_multiline_return)
|
|||||||
checkNatspec(sourceCode, natspec, false);
|
checkNatspec(sourceCode, natspec, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(dev_contract_no_doc)
|
||||||
|
{
|
||||||
|
char const* sourceCode = "contract test {\n"
|
||||||
|
" /// @dev Mul function\n"
|
||||||
|
" function mul(uint a, uint second) returns(uint d) { return a * 7 + second; }\n"
|
||||||
|
"}\n";
|
||||||
|
|
||||||
|
char const* natspec = "{"
|
||||||
|
" \"methods\":{"
|
||||||
|
" \"mul\":{ \n"
|
||||||
|
" \"details\": \"Mul function\"\n"
|
||||||
|
" }\n"
|
||||||
|
" }\n"
|
||||||
|
"}";
|
||||||
|
|
||||||
|
checkNatspec(sourceCode, natspec, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(dev_contract_doc)
|
||||||
|
{
|
||||||
|
char const* sourceCode = " /// @author Lefteris\n"
|
||||||
|
" /// @title Just a test contract\n"
|
||||||
|
"contract test {\n"
|
||||||
|
" /// @dev Mul function\n"
|
||||||
|
" function mul(uint a, uint second) returns(uint d) { return a * 7 + second; }\n"
|
||||||
|
"}\n";
|
||||||
|
|
||||||
|
char const* natspec = "{"
|
||||||
|
" \"author\": \"Lefteris\","
|
||||||
|
" \"title\": \"Just a test contract\","
|
||||||
|
" \"methods\":{"
|
||||||
|
" \"mul\":{ \n"
|
||||||
|
" \"details\": \"Mul function\"\n"
|
||||||
|
" }\n"
|
||||||
|
" }\n"
|
||||||
|
"}";
|
||||||
|
|
||||||
|
checkNatspec(sourceCode, natspec, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(dev_author_at_function)
|
||||||
|
{
|
||||||
|
char const* sourceCode = " /// @author Lefteris\n"
|
||||||
|
" /// @title Just a test contract\n"
|
||||||
|
"contract test {\n"
|
||||||
|
" /// @dev Mul function\n"
|
||||||
|
" /// @author John Doe\n"
|
||||||
|
" function mul(uint a, uint second) returns(uint d) { return a * 7 + second; }\n"
|
||||||
|
"}\n";
|
||||||
|
|
||||||
|
char const* natspec = "{"
|
||||||
|
" \"author\": \"Lefteris\","
|
||||||
|
" \"title\": \"Just a test contract\","
|
||||||
|
" \"methods\":{"
|
||||||
|
" \"mul\":{ \n"
|
||||||
|
" \"details\": \"Mul function\",\n"
|
||||||
|
" \"author\": \"John Doe\",\n"
|
||||||
|
" }\n"
|
||||||
|
" }\n"
|
||||||
|
"}";
|
||||||
|
|
||||||
|
checkNatspec(sourceCode, natspec, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOST_AUTO_TEST_CASE(dev_title_at_function_error)
|
||||||
|
{
|
||||||
|
char const* sourceCode = " /// @author Lefteris\n"
|
||||||
|
" /// @title Just a test contract\n"
|
||||||
|
"contract test {\n"
|
||||||
|
" /// @dev Mul function\n"
|
||||||
|
" /// @title I really should not be here\n"
|
||||||
|
" function mul(uint a, uint second) returns(uint d) { return a * 7 + second; }\n"
|
||||||
|
"}\n";
|
||||||
|
|
||||||
|
char const* natspec = "{"
|
||||||
|
" \"author\": \"Lefteris\","
|
||||||
|
" \"title\": \"Just a test contract\","
|
||||||
|
" \"methods\":{"
|
||||||
|
" \"mul\":{ \n"
|
||||||
|
" \"details\": \"Mul function\"\n"
|
||||||
|
" }\n"
|
||||||
|
" }\n"
|
||||||
|
"}";
|
||||||
|
|
||||||
|
BOOST_CHECK_THROW(checkNatspec(sourceCode, natspec, false), DocstringParsingError);
|
||||||
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_SUITE_END()
|
BOOST_AUTO_TEST_SUITE_END()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user