<?php

class OSMPointOfInterestExtensionTest extends SapphireTest {
	public function setUpOnce() {
		$this->requiredExtensions = array(
			'OSMTestPageTO' => array('MapExtension', 'OSMPointOfInterestExtension')
		);
		parent::setupOnce();
	}

	public function testUpdateCMSFields() {
		$page = new OSMTestPageTO();
		$fields = $page->getCMSFields();
		$tab = $fields->findOrMakeTab('Root.Main');
		$fields = $tab->FieldList();
		$names = array();
		foreach ($fields as $field) {
			$names[] = $field->getName();
		}
		$this->assertNotContains('OpenStreetMapID', $names);
	}

}


class OSMTestPageTO extends Page implements TestOnly {

}

<?php

	class OSMPointOfInterestExtensionTest extends SapphireTest {
		public function testUpdateCMSFields() {
			$this->markTestSkipped('TODO');
		}

}

--- 
+++ 
@@ -1,8 +1,28 @@
 <?php
 
-	class OSMPointOfInterestExtensionTest extends SapphireTest {
-		public function testUpdateCMSFields() {
-			$this->markTestSkipped('TODO');
+class OSMPointOfInterestExtensionTest extends SapphireTest {
+	public function setUpOnce() {
+		$this->requiredExtensions = array(
+			'OSMTestPageTO' => array('MapExtension', 'OSMPointOfInterestExtension')
+		);
+		parent::setupOnce();
+	}
+
+	public function testUpdateCMSFields() {
+		$page = new OSMTestPageTO();
+		$fields = $page->getCMSFields();
+		$tab = $fields->findOrMakeTab('Root.Main');
+		$fields = $tab->FieldList();
+		$names = array();
+		foreach ($fields as $field) {
+			$names[] = $field->getName();
 		}
+		$this->assertNotContains('OpenStreetMapID', $names);
+	}
 
 }
+
+
+class OSMTestPageTO extends Page implements TestOnly {
+
+}
ENHANCEMENT: Test for OSM Point of Interest extension
