55namespace BenCondaTest \PhpPdfium ;
66
77use BenConda \PhpPdfium \DocumentSaveFlags ;
8- use BenConda \PhpPdfium \Page \Annotation \Annotation ;
98use BenConda \PhpPdfium \Page \Annotation \FormField ;
9+ use BenConda \PhpPdfium \Page \Annotation \FormFieldFlag ;
1010use BenConda \PhpPdfium \Page \Annotation \FormFieldType ;
1111use BenConda \PhpPdfium \Page \PageCoordRectangle ;
1212use PHPUnit \Framework \TestCase ;
@@ -20,9 +20,21 @@ public function testGetAnnotation(): void
2020 $ cerfaDoc = $ this ->loadDocument ('cerfa_13750-05 ' );
2121 $ firstPage = $ cerfaDoc ->loadPage (0 );
2222 $ annot = $ firstPage ->loadAnnotation (13 );
23- self ::assertInstanceOf (Annotation ::class, $ annot );
23+ self ::assertInstanceOf (FormField ::class, $ annot );
2424 $ rect = $ annot ->getRectangle ();
2525 self ::assertInstanceOf (PageCoordRectangle::class, $ rect );
26+ $ flags = $ annot ->getFieldFlags ();
27+ self ::assertTrue ($ flags ->hasFlag (FormFieldFlag::DO_NOT_SPELL_CHECK ));
28+ self ::assertContainsOnlyInstancesOf (FormFieldFlag::class, $ flags ->list ());
29+ self ::assertCount (1 , $ flags ->list ());
30+
31+ $ newFlags = $ flags ->withFlag (FormFieldFlag::READ_ONLY );
32+ self ::assertTrue ($ newFlags ->hasFlag (FormFieldFlag::READ_ONLY ));
33+ self ::assertNotSame ($ newFlags , $ flags );
34+
35+ $ annot ->setFieldFlags ($ newFlags );
36+ $ updatedFlags = $ annot ->getFieldFlags ();
37+ self ::assertSame ($ newFlags ->list (), $ updatedFlags ->list ());
2638 }
2739
2840 public function testMoveAnnotation (): void
0 commit comments