@@ -562,7 +562,7 @@ def test_intents(self):
562
562
assert_equal (ehdr .get_intent (),
563
563
('t test' , (10.0 ,), 'some score' ))
564
564
# invalid intent name
565
- assert_raises (KeyError , ehdr .set_intent , 'no intention' )
565
+ assert_raises (ValueError , ehdr .set_intent , 'no intention' )
566
566
# too many parameters
567
567
assert_raises (HeaderDataError , ehdr .set_intent , 't test' , (10 , 10 ))
568
568
# too few parameters
@@ -574,6 +574,13 @@ def test_intents(self):
574
574
assert_equal (ehdr ['intent_name' ], b'' )
575
575
ehdr .set_intent ('t test' , (10 ,))
576
576
assert_equal ((ehdr ['intent_p2' ], ehdr ['intent_p3' ]), (0 , 0 ))
577
+ # store intent that is not in nifti1.intent_codes recoder
578
+ ehdr .set_intent (code = 9999 )
579
+ assert_equal (ehdr .get_intent (), ('' , (), '' ))
580
+ assert_equal (ehdr .get_intent ('code' ), (9999 , (), '' ))
581
+ ehdr .set_intent (code = 9999 , name = 'custom intent' )
582
+ assert_equal (ehdr .get_intent (), ('' , (), 'custom intent' ))
583
+ assert_equal (ehdr .get_intent ('code' ), (9999 , (), 'custom intent' ))
577
584
578
585
def test_set_slice_times (self ):
579
586
hdr = self .header_class ()
0 commit comments