X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=web%2Fmodules%2Fcontrib%2Fmetatag%2Fsrc%2FTests%2FMetatagHelperTrait.php;fp=web%2Fmodules%2Fcontrib%2Fmetatag%2Fsrc%2FTests%2FMetatagHelperTrait.php;h=1fff4e48e47d6207ba1ce1088147d910ac6f5586;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hp=0000000000000000000000000000000000000000;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0;p=yaffs-website
diff --git a/web/modules/contrib/metatag/src/Tests/MetatagHelperTrait.php b/web/modules/contrib/metatag/src/Tests/MetatagHelperTrait.php
new file mode 100644
index 000000000..1fff4e48e
--- /dev/null
+++ b/web/modules/contrib/metatag/src/Tests/MetatagHelperTrait.php
@@ -0,0 +1,159 @@
+setPassword($password)->save();
+
+ // Support old and new tests.
+ $account->passRaw = $password;
+ $account->pass_raw = $password;
+
+ // Login.
+ $this->drupalLogin($account);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function verbose($message, $title = NULL) {
+ // Handle arrays, objects, etc.
+ if (!is_string($message)) {
+ $message = "
\n" . print_r($message, TRUE) . "\n
\n";
+ }
+
+ // Optional title to go before the output.
+ if (!empty($title)) {
+ $title = '' . Html::escape($title) . "
\n";
+ }
+
+ parent::verbose($title . $message);
+ }
+
+ /**
+ * Create a content type and a node.
+ *
+ * @param string $title
+ * A title for the node that will be returned.
+ * @param string $body
+ * The text to use as the body.
+ *
+ * @return \Drupal\node\NodeInterface
+ * A fully formatted node object.
+ */
+ private function createContentTypeNode($title = 'Title test', $body = 'Body test') {
+ $content_type = 'metatag_test';
+ $args = [
+ 'type' => $content_type,
+ 'label' => 'Test content type',
+ ];
+ $this->createContentType($args);
+
+ $args = [
+ 'body' => [
+ [
+ 'value' => $body,
+ 'format' => filter_default_format(),
+ ],
+ ],
+ 'title' => $title,
+ 'type' => $content_type,
+ ];
+
+ return $this->createNode($args);
+ }
+
+ /**
+ * Create a vocabulary.
+ *
+ * @param array $values
+ * Items passed to the vocabulary. If the 'vid' item is not present it will
+ * be automatically generated. If the 'name' item is not present the 'vid'
+ * will be used.
+ *
+ * @return Drupal\taxonomy\Entity\Vocabulary
+ * A fully formatted vocabulary object.
+ */
+ private function createVocabulary(array $values = []) {
+ // Find a non-existent random type name.
+ if (!isset($values['vid'])) {
+ do {
+ $id = strtolower($this->randomMachineName(8));
+ } while (Vocabulary::load($id));
+ }
+ else {
+ $id = $values['vid'];
+ }
+ $values += [
+ 'vid' => $id,
+ 'name' => $id,
+ ];
+ $vocab = Vocabulary::create($values);
+ $status = $vocab->save();
+
+ if ($this instanceof \PHPUnit_Framework_TestCase) {
+ $this->assertSame($status, SAVED_NEW, (new FormattableMarkup('Created vocabulary %type.', ['%type' => $vocab->id()]))->__toString());
+ }
+ else {
+ $this->assertEqual($status, SAVED_NEW, (new FormattableMarkup('Created vocabulary %type.', ['%type' => $vocab->id()]))->__toString());
+ }
+
+ return $vocab;
+ }
+
+ /**
+ * Create a taxonomy term.
+ *
+ * @param array $values
+ * Items passed to the term. Requires the 'vid' element.
+ *
+ * @return Drupal\taxonomy\Entity\Term
+ * A fully formatted term object.
+ */
+ private function createTerm(array $values = []) {
+ // Populate defaults array.
+ $values += [
+ 'description' => [
+ [
+ 'value' => $this->randomMachineName(32),
+ 'format' => filter_default_format(),
+ ],
+ ],
+ 'name' => $this->randomMachineName(8),
+ ];
+ $term = Term::create($values);
+ $status = $term->save();
+
+ if ($this instanceof \PHPUnit_Framework_TestCase) {
+ $this->assertSame($status, SAVED_NEW, (new FormattableMarkup('Created term %name.', ['%name' => $term->label()]))->__toString());
+ }
+ else {
+ $this->assertEqual($status, SAVED_NEW, (new FormattableMarkup('Created term %name.', ['%name' => $term->label()]))->__toString());
+ }
+
+ return $term;
+ }
+
+}