/**
  * Test removing an array of fields from a tab in a set.
  */
 function testRemoveMultipleFieldsFromTab()
 {
     $fields = new FieldSet();
     $tab = new Tab('Root');
     $fields->push($tab);
     /* We add an array of fields, using addFieldsToTab() */
     $fields->addFieldsToTab('Root', array(new TextField('Name', 'Your name'), new EmailField('Email', 'Email address'), new NumericField('Number', 'Insert a number')));
     /* We have 3 fields inside the tab, which we just created */
     $this->assertEquals(3, $tab->Fields()->Count());
     /* We remove the 3 fields from the tab */
     $fields->removeFieldsFromTab('Root', array('Name', 'Email', 'Number'));
     /* We have no fields in the tab now */
     $this->assertEquals(0, $tab->Fields()->Count());
 }
	public function updateCMSFields(FieldSet &$fields) {
		//Set default
		if($this->owner->GenerateMetaData == -1){
			$this->owner->GenerateMetaData = self::$checkbox_state;
		}
		if(empty(self::$checkbox_tab)) {
			self::$checkbox_tab = 'Root.Content.Metadata';
		}
		if(self::$show_checkbox == 1){
			$fields->addFieldToTab(self::$checkbox_tab, new CheckboxField('GenerateMetaData', _t('MetaManager.GENERATEMETADATA','Generate Meta-data automatically from the page content') . self::updatedFields() , $this->owner->GenerateMetaData), self::$checkbox_pos);
		} else {
			$fields->addFieldToTab(self::$checkbox_tab, new HiddenField('GenerateMetaData', _t('MetaManager.GENERATEMETADATA','Generate Meta-data automatically from the page content'), $this->owner->GenerateMetaData), self::$checkbox_pos);
		}
		if(self::$hide_extra_meta == 1){
			$fields->removeFieldsFromTab('Root.Content.Metadata', array('ExtraMeta'));	
		}	
		if(self::$disable_update_popup == 1){
			Requirements::clear('sapphire/javascript/UpdateURL.js');
			
			if(self::$update_url == 1){
				Requirements::javascript('metamanager/javascript/UpdateURL.js');
			}
		}
		
	}