PIVX Core  5.6.99
P2P Digital Currency
uritests.cpp
Go to the documentation of this file.
1 // Copyright (c) 2009-2014 The Bitcoin developers
2 // Copyright (c) 2017-2019 The PIVX Core developers
3 // Distributed under the MIT software license, see the accompanying
4 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 
6 #include "uritests.h"
7 
8 #include "guiutil.h"
9 #include "walletmodel.h"
10 
11 #include <QUrl>
12 
14 {
16  QUrl uri;
17  uri.setUrl(QString("pivx:D72dLgywmL73JyTwQBfuU29CADz9yCJ99v?req-dontexist="));
18  QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv));
19 
20  uri.setUrl(QString("pivx:D72dLgywmL73JyTwQBfuU29CADz9yCJ99v?dontexist="));
21  QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
22  QVERIFY(rv.address == QString("D72dLgywmL73JyTwQBfuU29CADz9yCJ99v"));
23  QVERIFY(rv.label == QString());
24  QVERIFY(rv.amount == 0);
25 
26  uri.setUrl(QString("pivx:D72dLgywmL73JyTwQBfuU29CADz9yCJ99v?label=Some Example Address"));
27  QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
28  QVERIFY(rv.address == QString("D72dLgywmL73JyTwQBfuU29CADz9yCJ99v"));
29  QVERIFY(rv.label == QString("Some Example Address"));
30  QVERIFY(rv.amount == 0);
31 
32  uri.setUrl(QString("pivx:D72dLgywmL73JyTwQBfuU29CADz9yCJ99v?amount=0.001"));
33  QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
34  QVERIFY(rv.address == QString("D72dLgywmL73JyTwQBfuU29CADz9yCJ99v"));
35  QVERIFY(rv.label == QString());
36  QVERIFY(rv.amount == 100000);
37 
38  uri.setUrl(QString("pivx:D72dLgywmL73JyTwQBfuU29CADz9yCJ99v?amount=1.001"));
39  QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
40  QVERIFY(rv.address == QString("D72dLgywmL73JyTwQBfuU29CADz9yCJ99v"));
41  QVERIFY(rv.label == QString());
42  QVERIFY(rv.amount == 100100000);
43 
44  uri.setUrl(QString("pivx:D72dLgywmL73JyTwQBfuU29CADz9yCJ99v?amount=100&label=Some Example"));
45  QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
46  QVERIFY(rv.address == QString("D72dLgywmL73JyTwQBfuU29CADz9yCJ99v"));
47  QVERIFY(rv.amount == 10000000000LL);
48  QVERIFY(rv.label == QString("Some Example"));
49 
50  uri.setUrl(QString("pivx:D72dLgywmL73JyTwQBfuU29CADz9yCJ99v?message=Some Example Address"));
51  QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
52  QVERIFY(rv.address == QString("D72dLgywmL73JyTwQBfuU29CADz9yCJ99v"));
53  QVERIFY(rv.label == QString());
54 
55  QVERIFY(GUIUtil::parseBitcoinURI("pivx://D72dLgywmL73JyTwQBfuU29CADz9yCJ99v?message=Some Example Address", &rv));
56  QVERIFY(rv.address == QString("D72dLgywmL73JyTwQBfuU29CADz9yCJ99v"));
57  QVERIFY(rv.label == QString());
58 
59  uri.setUrl(QString("pivx:D72dLgywmL73JyTwQBfuU29CADz9yCJ99v?req-message=Some Example Address"));
60  QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
61 
62  uri.setUrl(QString("pivx:D72dLgywmL73JyTwQBfuU29CADz9yCJ99v?amount=1,000&label=Some Example"));
63  QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
64 
65  uri.setUrl(QString("pivx:D72dLgywmL73JyTwQBfuU29CADz9yCJ99v?amount=1,000.0&label=Some Example"));
66  QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv));
67 }
void uriTests()
Definition: uritests.cpp:13
bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out)
Definition: guiutil.cpp:156