@@ -167,6 +167,12 @@ tape('Compilation', function (t) {
167
167
st . end ( ) ;
168
168
} ) ;
169
169
t . test ( 'invalid source code fails properly with standard JSON' , function ( st ) {
170
+ if ( ! solc . supportsStandard ) {
171
+ st . skip ( 'Not supported by solc' ) ;
172
+ st . end ( ) ;
173
+ return ;
174
+ }
175
+
170
176
var input = {
171
177
'language' : 'Solidity' ,
172
178
'settings' : {
@@ -293,6 +299,9 @@ tape('Linking', function (t) {
293
299
'cont.sol' : 'import "lib.sol"; contract x { function g() { L.f(); } }'
294
300
} ;
295
301
var output = solc . compile ( { sources : input } ) ;
302
+ st . ok ( 'contracts' in output ) ;
303
+ st . ok ( 'cont.sol:x' in output . contracts ) ;
304
+ st . ok ( 'bytecode' in output . contracts [ 'cont.sol:x' ] ) ;
296
305
var bytecode = solc . linkBytecode ( output . contracts [ 'cont.sol:x' ] . bytecode , { 'lib.sol:L' : '0x123456' } ) ;
297
306
st . ok ( bytecode . indexOf ( '_' ) < 0 ) ;
298
307
st . end ( ) ;
@@ -304,6 +313,9 @@ tape('Linking', function (t) {
304
313
'cont.sol' : 'import "lib.sol"; contract x { function g() { L.f(); } }'
305
314
} ;
306
315
var output = solc . compile ( { sources : input } ) ;
316
+ st . ok ( 'contracts' in output ) ;
317
+ st . ok ( 'cont.sol:x' in output . contracts ) ;
318
+ st . ok ( 'bytecode' in output . contracts [ 'cont.sol:x' ] ) ;
307
319
var bytecode = solc . linkBytecode ( output . contracts [ 'cont.sol:x' ] . bytecode , { } ) ;
308
320
st . ok ( bytecode . indexOf ( '_' ) >= 0 ) ;
309
321
st . end ( ) ;
@@ -315,6 +327,9 @@ tape('Linking', function (t) {
315
327
'cont.sol' : 'import "lib.sol"; contract x { function g() { L.f(); } }'
316
328
} ;
317
329
var output = solc . compile ( { sources : input } ) ;
330
+ st . ok ( 'contracts' in output ) ;
331
+ st . ok ( 'cont.sol:x' in output . contracts ) ;
332
+ st . ok ( 'bytecode' in output . contracts [ 'cont.sol:x' ] ) ;
318
333
st . throws ( function ( ) {
319
334
solc . linkBytecode ( output . contracts [ 'cont.sol:x' ] . bytecode , { 'lib.sol:L' : '' } ) ;
320
335
} ) ;
@@ -327,6 +342,9 @@ tape('Linking', function (t) {
327
342
'cont.sol' : 'import "lib.sol"; contract x { function g() { L1234567890123456789012345678901234567890.f(); } }'
328
343
} ;
329
344
var output = solc . compile ( { sources : input } ) ;
345
+ st . ok ( 'contracts' in output ) ;
346
+ st . ok ( 'cont.sol:x' in output . contracts ) ;
347
+ st . ok ( 'bytecode' in output . contracts [ 'cont.sol:x' ] ) ;
330
348
var bytecode = solc . linkBytecode ( output . contracts [ 'cont.sol:x' ] . bytecode , { 'lib.sol:L1234567890123456789012345678901234567890' : '0x123456' } ) ;
331
349
st . ok ( bytecode . indexOf ( '_' ) < 0 ) ;
332
350
st . end ( ) ;
0 commit comments