? 0-user-text-field-tokens.txt
? field_token.tpl.php
? jquery-ui-tree
? jstree
? menu.tokens.inc
? patches
? theme
? token.inc
? treeTable
Index: token.test
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/token/token.test,v
retrieving revision 1.32
diff -u -p -r1.32 token.test
--- token.test	12 Jan 2011 03:26:59 -0000	1.32
+++ token.test	20 Feb 2011 21:26:17 -0000
@@ -12,13 +12,16 @@ class TokenTestHelper extends DrupalWebT
     parent::setUp($modules);
   }
 
-  function assertToken($type, $object, $token, $expected, array $options = array()) {
-    $this->assertTokens($type, $object, array($token => $expected), $options);
+  function assertToken($type, $data, $token, $expected, array $options = array()) {
+    $this->assertTokens($type, $data, array($token => $expected), $options);
   }
 
-  function assertTokens($type, $object, array $tokens, array $options = array()) {
+  function assertTokens($type, $data, array $tokens, array $options = array()) {
     $token_input = drupal_map_assoc(array_keys($tokens));
-    $values = token_generate($type, $token_input, array($type => $object), $options);
+    if (!is_array($data)) {
+      $data = array($type => $data);
+    }
+    $values = token_generate($type, $token_input, $data, $options);
     foreach ($tokens as $token => $expected) {
       if (!isset($expected)) {
         $this->assertTrue(!isset($values[$token]), t("Token value for [@type:@token] was not generated.", array('@type' => $type, '@token' => $token)));
@@ -32,9 +35,12 @@ class TokenTestHelper extends DrupalWebT
     }
   }
 
-  function assertNoTokens($type, $object, array $tokens, array $options = array()) {
+  function assertNoTokens($type, $data, array $tokens, array $options = array()) {
     $token_input = drupal_map_assoc($tokens);
-    $values = token_generate($type, $token_input, array($type => $object), $options);
+    if (!is_array($data)) {
+      $data = array($type => $data);
+    }
+    $values = token_generate($type, $token_input, $data, $options);
     foreach ($tokens as $token) {
       $this->assertTrue(!isset($values[$token]), t("Token value for [@type:@token] was not generated.", array('@type' => $type, '@token' => $token)));
     }
@@ -177,6 +183,32 @@ class TokenUnitTestCase extends TokenTes
   }
 }
 
+class TokenURLTestCase extends TokenTestHelper {
+  public static function getInfo() {
+    return array(
+      'name' => 'URL token tests',
+      'description' => 'Test the URL tokens.',
+      'group' => 'Token',
+    );
+  }
+
+  function setUp($modules = array()) {
+    parent::setUp($modules);
+    $this->saveAlias('node/1', 'first-node');
+  }
+
+  function testURLTokens() {
+    $tokens = array(
+      'absolute' => 'http://example.com/first-node',
+      'relative' => base_path() . 'first-node',
+      'path' => 'node/1',
+      'alias' => 'first-node',
+      'brief' => 'example.com/first-node',
+    );
+    $this->assertTokens('url', array('path' => 'node/1', 'options' => array('base_url' => 'http://example.com')), $tokens);
+  }
+}
+
 class TokenCommentTestCase extends TokenTestHelper {
   public static function getInfo() {
     return array(
@@ -349,7 +381,7 @@ class TokenMenuTestCase extends TokenTes
       'root:parent' => NULL,
       'root:root' => NULL,
     );
-    $this->assertTokens('menu-link', $parent_link, $tokens);
+    $this->assertTokens('menu-link', array('menu-link' => $parent_link), $tokens);
 
     // Add a node menu link
     $node_link = array(
Index: token.tokens.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/token/token.tokens.inc,v
retrieving revision 1.39
diff -u -p -r1.39 token.tokens.inc
--- token.tokens.inc	31 Jan 2011 21:10:02 -0000	1.39
+++ token.tokens.inc	20 Feb 2011 21:26:17 -0000
@@ -231,6 +231,10 @@ function token_token_info() {
     'name' => t('Absolute URL'),
     'description' => t('The absolute URL.'),
   );
+  $info['tokens']['url']['brief'] = array(
+    'name' => t('Brief URL'),
+    'description' => t('The URL without the protocol and trailing backslash.'),
+  );
 
   return $info;
 }
@@ -525,6 +529,9 @@ function token_tokens($type, $tokens, ar
         case 'relative':
           $replacements[$original] = url($path, array('absolute' => FALSE) + $url_options);
           break;
+        case 'brief':
+          $replacements[$original] = preg_replace(array('!^https?://!', '!/$!'), '', url($path, $url_options));
+          break;
       }
     }
   }
