Matt Corallo
13 years ago
5 changed files with 106 additions and 0 deletions
@ -0,0 +1,11 @@ |
|||||||
|
#include <QTest> |
||||||
|
#include <QObject> |
||||||
|
|
||||||
|
#include "urltests.h" |
||||||
|
|
||||||
|
// This is all you need to run all the tests
|
||||||
|
int main(int argc, char *argv[]) |
||||||
|
{ |
||||||
|
URLTests test1; |
||||||
|
QTest::qExec(&test1); |
||||||
|
} |
@ -0,0 +1,68 @@ |
|||||||
|
#include "urltests.h" |
||||||
|
#include "../guiutil.h" |
||||||
|
#include "../walletmodel.h" |
||||||
|
|
||||||
|
#include <QUrl> |
||||||
|
|
||||||
|
/*
|
||||||
|
struct SendCoinsRecipient |
||||||
|
{ |
||||||
|
QString address; |
||||||
|
QString label; |
||||||
|
qint64 amount; |
||||||
|
}; |
||||||
|
*/ |
||||||
|
|
||||||
|
void URLTests::urlTests() |
||||||
|
{ |
||||||
|
SendCoinsRecipient rv; |
||||||
|
QUrl url; |
||||||
|
url.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-dontexist=")); |
||||||
|
QVERIFY(!GUIUtil::parseBitcoinURL(&url, &rv)); |
||||||
|
|
||||||
|
url.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?dontexist=")); |
||||||
|
QVERIFY(GUIUtil::parseBitcoinURL(&url, &rv)); |
||||||
|
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); |
||||||
|
QVERIFY(rv.label == QString()); |
||||||
|
QVERIFY(rv.amount == 0); |
||||||
|
|
||||||
|
url.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?label=Wikipedia Example Address")); |
||||||
|
QVERIFY(GUIUtil::parseBitcoinURL(&url, &rv)); |
||||||
|
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); |
||||||
|
QVERIFY(rv.label == QString("Wikipedia Example Address")); |
||||||
|
QVERIFY(rv.amount == 0); |
||||||
|
|
||||||
|
url.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=0.001")); |
||||||
|
QVERIFY(GUIUtil::parseBitcoinURL(&url, &rv)); |
||||||
|
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); |
||||||
|
QVERIFY(rv.label == QString()); |
||||||
|
QVERIFY(rv.amount == 100000); |
||||||
|
|
||||||
|
url.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1.001")); |
||||||
|
QVERIFY(GUIUtil::parseBitcoinURL(&url, &rv)); |
||||||
|
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); |
||||||
|
QVERIFY(rv.label == QString()); |
||||||
|
QVERIFY(rv.amount == 100100000); |
||||||
|
|
||||||
|
url.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=100&label=Wikipedia Example")); |
||||||
|
QVERIFY(GUIUtil::parseBitcoinURL(&url, &rv)); |
||||||
|
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); |
||||||
|
QVERIFY(rv.amount == 10000000000); |
||||||
|
QVERIFY(rv.label == QString("Wikipedia Example")); |
||||||
|
|
||||||
|
url.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address")); |
||||||
|
QVERIFY(GUIUtil::parseBitcoinURL(&url, &rv)); |
||||||
|
QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); |
||||||
|
QVERIFY(rv.label == QString()); |
||||||
|
QVERIFY(rv.label == QString()); |
||||||
|
|
||||||
|
// We currently dont implement the message paramenter (ok, yea, we break spec...)
|
||||||
|
url.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-message=Wikipedia Example Address")); |
||||||
|
QVERIFY(!GUIUtil::parseBitcoinURL(&url, &rv)); |
||||||
|
|
||||||
|
url.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000&label=Wikipedia Example")); |
||||||
|
QVERIFY(!GUIUtil::parseBitcoinURL(&url, &rv)); |
||||||
|
|
||||||
|
url.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000.0&label=Wikipedia Example")); |
||||||
|
QVERIFY(!GUIUtil::parseBitcoinURL(&url, &rv)); |
||||||
|
} |
Loading…
Reference in new issue