function test_listResourceUrls() { $html = '<html><head></head><body>' . '<div>' . '<a id="a1" href="p/a1">a1</a>' . '</div>' . '<div class="sc-content-1">' . '<a id="a2" href="p/a2">a2</a>' . '</div>' . '<div class="sc-content">' . '<a id="a3" href="p/files/a3-sc123456789abcd.doc">a3</a>' . '<img id="img1" src="p/images/img1-sc123456789abcd-00.jpg" srcset="draft/images/img1-sc123456789abcd-00.jpg 451w,draft/images/img2-sc123456789abcd-00.jpg 300w, p/img2.jpg 200w"/>' . '</div>' . '<div class="sc-content sc-content-2">' . '<a id="a4" href="javascript:p/files/a4-sc123456789abcd.doc">a4</a>' . '<a id="a5" href="#p/images/a5-sc123456789abcd.doc">a5</a>' . '<a id="a6" href="https://p/files/a6-sc123456789abcd.doc">a6</a>' . '</div>' . '</body></html>'; $page = new Page($html); $urls = $page->listResourceUrls(); $this->assertEquals(4, count($urls)); $this->assertEquals('p/files/a3-sc123456789abcd.doc', $urls[0]); $this->assertEquals('p/images/img1-sc123456789abcd-00.jpg', $urls[1]); $this->assertEquals('draft/images/img1-sc123456789abcd-00.jpg', $urls[2]); $this->assertEquals('draft/images/img2-sc123456789abcd-00.jpg', $urls[3]); }
protected function draftResources() { $draftPagePaths = $this->listDraftPagePaths(); $resources = array_merge(array(), $draftPagePaths); foreach ($draftPagePaths as $pagePath) { $page = new Page($this->fs->read($pagePath)); $resources = array_merge($resources, $page->listResourceUrls()); } return array_unique($resources); }