@@ -357,65 +357,18 @@ mod test {
357
357
use abi;
358
358
use ast_util:: mk_ident;
359
359
use parse:: parser:: Parser ;
360
- use parse:: token:: { ident_interner, mk_fresh_ident_interner} ;
361
- use diagnostic:: { mk_span_handler, mk_handler} ;
362
-
363
- // add known names to interner for testing
364
- fn mk_testing_interner ( ) -> @ident_interner {
365
- let i = mk_fresh_ident_interner ( ) ;
366
- // baby hack; in order to put the identifiers
367
- // 'a' and 'b' at known locations, we're going
368
- // to fill up the interner to length 100. If
369
- // the # of preloaded items on the interner
370
- // ever gets larger than 100, we'll have to
371
- // adjust this number (say, to 200) and
372
- // change the numbers in the identifier
373
- // test cases below.
374
-
375
- assert ! ( i. len( ) < 100 ) ;
376
- for int:: range( 0 , 100 -( ( i. len( ) ) . to_int( ) ) ) |_dc| {
377
- i. gensym ( "dontcare" ) ;
378
- }
379
- i. intern ( "a" ) ;
380
- i. intern ( "b" ) ;
381
- i. intern ( "c" ) ;
382
- i. intern ( "d" ) ;
383
- i. intern ( "return" ) ;
384
- assert_eq ! ( i. get( ast:: ident{ repr: 101 , ctxt: 0 } ) , @~"b");
385
- i
386
- }
387
-
388
- // make a parse_sess that's closed over a
389
- // testing interner (where a -> 100, b -> 101)
390
- fn mk_testing_parse_sess() -> @mut ParseSess {
391
- let interner = mk_testing_interner();
392
- let cm = @CodeMap::new();
393
- @mut ParseSess {
394
- cm: cm,
395
- next_id: 1,
396
- span_diagnostic: mk_span_handler(mk_handler(None), cm),
397
- interner: interner,
398
- }
399
- }
400
-
401
- // map a string to tts, using a made-up filename: return both the token_trees
402
- // and the ParseSess
403
- fn string_to_tts_t (source_str : @~str) -> (~[ast::token_tree],@mut ParseSess) {
404
- let ps = mk_testing_parse_sess();
405
- (filemap_to_tts(ps,string_to_filemap(ps,source_str,~" bogofile")),ps)
406
- }
360
+ use parse:: token:: { ident_interner, mk_ident_interner, mk_fresh_ident_interner} ;
361
+ use diagnostic:: { span_handler, mk_span_handler, mk_handler, Emitter } ;
362
+ use util:: parser_testing:: { string_to_tts_and_sess, string_to_parser} ;
363
+ use util:: parser_testing:: { string_to_crate, string_to_expr, string_to_item} ;
364
+ use util:: parser_testing:: { string_to_stmt} ;
407
365
408
366
// map a string to tts, return the tt without its parsesess
409
367
fn string_to_tts_only ( source_str : @~str ) -> ~[ ast:: token_tree ] {
410
- let (tts,_ps) = string_to_tts_t (source_str);
368
+ let ( tts, _ps) = string_to_tts_and_sess ( source_str) ;
411
369
tts
412
370
}
413
371
414
- // map string to parser (via tts)
415
- fn string_to_parser(source_str: @~str) -> Parser {
416
- let ps = mk_testing_parse_sess();
417
- new_parser_from_source_str(ps,~[],~" bogofile",source_str)
418
- }
419
372
420
373
#[ cfg( test) ] fn to_json_str < E : Encodable < std:: json:: Encoder > > ( val : @E ) -> ~str {
421
374
do io:: with_str_writer |writer| {
@@ -424,22 +377,6 @@ mod test {
424
377
}
425
378
}
426
379
427
- fn string_to_crate (source_str : @~str) -> @ast::crate {
428
- string_to_parser(source_str).parse_crate_mod()
429
- }
430
-
431
- fn string_to_expr (source_str : @~str) -> @ast::expr {
432
- string_to_parser(source_str).parse_expr()
433
- }
434
-
435
- fn string_to_item (source_str : @~str) -> Option<@ast::item> {
436
- string_to_parser(source_str).parse_item(~[])
437
- }
438
-
439
- fn string_to_stmt (source_str : @~str) -> @ast::stmt {
440
- string_to_parser(source_str).parse_stmt(~[])
441
- }
442
-
443
380
// produce a codemap::span
444
381
fn sp ( a : uint , b : uint ) -> span {
445
382
span { lo : BytePos ( a) , hi : BytePos ( b) , expn_info : None }
@@ -482,7 +419,7 @@ mod test {
482
419
}*/
483
420
484
421
#[test] fn string_to_tts_1 () {
485
- let (tts,_ps) = string_to_tts_t (@~" fn a ( b : int) { b; } ");
422
+ let (tts,_ps) = string_to_tts_and_sess (@~" fn a ( b : int) { b; } ");
486
423
assert_eq!(to_json_str(@tts),
487
424
~" [ \
488
425
[ \" tt_tok\" , null, [ \" IDENT \" , \" fn \" , false ] ] , \
0 commit comments