Ticket #1019: ok_calls_get_bool.patch

File ok_calls_get_bool.patch, 4.1 KB (added by flh, 5 years ago)
  • src/pmc/env.pmc

     
    9999 
    100100/* 
    101101 
     102=item C<INTVAL get_bool()> 
     103 
     104Returns whether the environment has any elements. 
     105 
     106=cut 
     107 
     108*/ 
     109    VTABLE INTVAL get_bool() { 
     110        return SELF.elements() ? 1 : 0; 
     111    } 
     112 
     113/* 
     114 
    102115=item C<INTVAL get_integer()> 
    103116 
    104117Returns the size of the hash. 
  • runtime/parrot/library/Test/More.pir

     
    9292 
    9393=item C<ok( passed, description )> 
    9494 
    95 Records a test as pass or fail depending on the truth of the integer C<passed>, 
     95Records a test as pass or fail depending on the truth of the PMC C<passed>, 
    9696recording it with the optional test description in C<description>. 
    9797 
    9898=cut 
    9999 
    100100.sub ok 
    101     .param int    passed 
     101    .param pmc    passed 
    102102    .param string description     :optional 
    103103 
    104104    .local pmc test 
    105105    get_hll_global test, [ 'Test'; 'More' ], '_test' 
    106106 
    107     test.'ok'( passed, description ) 
     107    $I0 = istrue passed 
     108    test.'ok'( $I0, description ) 
    108109.end 
    109110 
    110111=item C<nok( passed, description )> 
     
    115116=cut 
    116117 
    117118.sub nok 
    118     .param int passed 
     119    .param pmc passed 
    119120    .param string description :optional 
    120121 
    121122    .local pmc test 
    122123    get_hll_global test, [ 'Test'; 'More' ], '_test' 
    123124 
    124125    .local int reverse_passed 
    125     reverse_passed = not passed 
     126    reverse_passed = isfalse passed 
    126127 
    127128    test.'ok'( reverse_passed, description ) 
    128129.end 
  • t/library/test_more.t

     
    1515    .local pmc exports, curr_namespace, test_namespace 
    1616    curr_namespace = get_namespace 
    1717    test_namespace = get_namespace [ 'Test'; 'More' ] 
    18     exports = split " ", "ok is diag like skip todo is_deeply isa_ok isnt throws_like" 
     18    exports = split " ", "ok nok is diag like skip todo is_deeply isa_ok isnt throws_like" 
    1919    test_namespace.'export_to'(curr_namespace, exports) 
    2020 
    2121    test_namespace = get_namespace [ 'Test'; 'Builder'; 'Tester' ] 
    2222    exports = split " ", "plan test_out test_diag test_fail test_pass test_test" 
    2323    test_namespace.'export_to'(curr_namespace, exports) 
    2424 
    25     plan( 81 ) 
     25    plan( 89 ) 
    2626 
    2727    test_skip() 
    2828    test_todo() 
    2929    test_ok() 
     30    test_nok() 
    3031    test_is() 
    3132    test_isnt() 
    3233    test_like() 
     
    7273 
    7374.end 
    7475 
     76.namespace ['MyFalseClass'] 
     77 
     78.sub '' :anon :load :init 
     79    $P0 = newclass ['MyFalseClass'] 
     80.end 
     81 
     82.sub 'get_bool' :vtable 
     83    .return(0) 
     84.end 
     85 
     86.sub 'get_integer' :vtable 
     87    .return(1) 
     88.end 
     89 
     90.namespace ['MyTrueClass'] 
     91 
     92.sub '' :anon :load :init 
     93    $P0 = newclass ['MyTrueClass'] 
     94.end 
     95 
     96.sub 'get_bool' :vtable 
     97    .return(1) 
     98.end 
     99 
     100.sub 'get_integer' :vtable 
     101    .return(0) 
     102.end 
     103 
     104.namespace [] 
     105 
    75106.sub test_ok 
    76107    test_pass() 
    77108    ok( 1 ) 
     
    88119    test_fail( 'with description' ) 
    89120    ok( 0, 'with description' ) 
    90121    test_test( 'failing test ok() with description') 
     122 
     123    $P0 = new ['MyFalseClass'] 
     124    test_fail() 
     125    ok( $P0 ) 
     126    test_test( 'failing ok() calls get_bool') 
     127 
     128    $P0 = new ['MyTrueClass'] 
     129    test_pass() 
     130    ok( $P0 ) 
     131    test_test( 'passing ok() calls get_bool') 
    91132.end 
    92133 
     134.sub test_nok 
     135    test_fail() 
     136    nok( 1 ) 
     137    test_test( 'failing test nok()') 
     138 
     139    test_pass() 
     140    nok( 0 ) 
     141    test_test( 'passing test nok()') 
     142 
     143    test_fail( 'with description' ) 
     144    nok( 1, 'with description' ) 
     145    test_test( 'failing test nok() with description') 
     146 
     147    test_pass( 'with description' ) 
     148    nok( 0, 'with description' ) 
     149    test_test( 'passing test nok() with description') 
     150 
     151    $P0 = new ['MyFalseClass'] 
     152    test_pass() 
     153    nok( $P0 ) 
     154    test_test( 'passing nok() calls get_bool') 
     155 
     156    $P0 = new ['MyTrueClass'] 
     157    test_fail() 
     158    nok( $P0 ) 
     159    test_test( 'failing nok() calls get_bool') 
     160.end 
     161 
    93162.sub test_is 
    94163    test_pass() 
    95164    is( 100, 100 )