function assertNameFormats($name_components, $type, $object, array $names, array $options = array()) { foreach ($names as $format => $expected) { $value = NameFormatParser::parse($name_components, $format, array('object' => $object, 'type' => $type)); $this->assertIdentical($value, $expected, t("Name value for '@name' was '@actual', expected value '@expected'. Components were: %components", array('@name' => $format, '@actual' => $value, '@expected' => $expected, '%components' => implode(' ', $name_components)))); } }
/** * {@inheritdoc} */ public function examples(EntityInterface $entity) { $examples = array(); foreach ($this->nameExamples() as $index => $example_name) { $formatted = SafeMarkup::checkPlain(NameFormatParser::parse($example_name, $entity->get('pattern'))); if (empty($formatted)) { $formatted = '<em><<empty>></em>'; } $examples[] = $formatted . " <sup>{$index}</sup>"; } return $examples; }
/** * Test NameFormatParser::parse * * @dataProvider patternDataProvider */ public function testParser($components, $pattern, $expected) { $settings = array('sep1' => ' ', 'sep2' => ', ', 'sep3' => ''); $formatted = NameFormatParser::parse($components, $pattern, $settings); $this->assertEquals($expected, $formatted); }
/** * {@inheritdoc} */ public function viewElements(FieldItemListInterface $items, $langcode) { $elements = array(); $entity = $items->getEntity(); $settings = $this->settings; $type = empty($settings['output']) ? 'default' : $settings['output']; $format = isset($settings['format']) ? $settings['format'] : 'default'; $format = name_get_format_by_machine_name($format); if (empty($format)) { $format = name_get_format_by_machine_name('default'); } foreach ($items as $delta => $item) { // We still have raw user input here unless the markup flag has been used. $value = NameFormatParser::parse($item->toArray(), $format, array('object' => $entity, 'type' => $entity->getEntityTypeId(), 'markup' => !empty($display['settings']['markup']))); if (empty($display['settings']['markup'])) { $elements[$delta] = array('#markup' => _name_value_sanitize($value, NULL, $type)); } else { $elements[$delta] = array('#markup' => $value); } } if (isset($settings['multiple']) && $settings['multiple'] == 'inline_list') { $items = array(); foreach (Element::children($elements) as $delta) { if (!empty($elements[$delta]['#markup'])) { $items[] = $elements[$delta]['#markup']; unset($elements[$delta]); } } if (!empty($items)) { $elements[0] = ['#theme' => 'name_item_list', '#items' => $items, '#settings' => $settings]; } } return $elements; }