Example #1
0
 function test_prefixResourceUrls()
 {
     $html = '<html><head></head><body>' . '<div>' . '<a id="a1" href="a1">a1</a>' . '</div>' . '<div class="sc-content-1">' . '<a id="a2" href="a2">a2</a>' . '</div>' . '<div class="sc-content">' . '<a id="a3" href="files/a3-sc123456789abcd.doc">a3</a>' . '<img id="img1" src="images/img1-sc123456789abcd-00.jpg" srcset="draft/images/img1-sc123456789abcd-00.jpg 1, img2.jpg 2"/>' . '</div>' . '<div class="sc-content sc-content-2">' . '<a id="a4" href="javascript:files/a4-sc123456789abcd.doc">a4</a>' . '<a id="a5" href="#images/a5-sc123456789abcd.doc">a5</a>' . '<a id="a6" href="https://files/a6-sc123456789abcd.doc">a6</a>' . '</div>' . '</body></html>';
     $page = new Page($html);
     $page->prefixResourceUrls('p/');
     $doc = phpQuery::newDocument((string) $page);
     $this->assertEquals('a1', phpQuery::pq('#a1', $doc)->elements[0]->getAttribute('href'));
     $this->assertEquals('a2', phpQuery::pq('#a2', $doc)->elements[0]->getAttribute('href'));
     $this->assertEquals('p/files/a3-sc123456789abcd.doc', phpQuery::pq('#a3', $doc)->elements[0]->getAttribute('href'));
     $this->assertEquals('javascript:files/a4-sc123456789abcd.doc', phpQuery::pq('#a4', $doc)->elements[0]->getAttribute('href'));
     $this->assertEquals('#images/a5-sc123456789abcd.doc', phpQuery::pq('#a5', $doc)->elements[0]->getAttribute('href'));
     $this->assertEquals('https://files/a6-sc123456789abcd.doc', phpQuery::pq('#a6', $doc)->elements[0]->getAttribute('href'));
     $this->assertEquals('p/images/img1-sc123456789abcd-00.jpg', phpQuery::pq('#img1', $doc)->elements[0]->getAttribute('src'));
     $this->assertEquals('p/draft/images/img1-sc123456789abcd-00.jpg 1, img2.jpg 2', phpQuery::pq('#img1', $doc)->elements[0]->getAttribute('srcset'));
 }
Example #2
0
 protected function decorateDraft()
 {
     $draftPagePaths = $this->listDraftPagePaths();
     foreach ($draftPagePaths as $pagePath) {
         $page = new Page($this->fs->read($pagePath));
         $page->ensurePageId();
         $page->normalizeContainerNames();
         $page->prefixResourceUrls($this->draftBaseUrl());
         $this->fs->update($pagePath, (string) $page);
     }
 }