/** * Name a variant based on a format with arbitrary parameters * * @param string $format The format name. * @param mixed $arg,... Additional arguments * @return string * @throws InvalidArgumentException */ public function variantName($format, $arg = null) { $args = func_get_args(); array_shift($args); return $format . Convert::base64url_encode($args); }
public function testCacheFilename() { $image = $this->objFromFixture('SilverStripe\\Assets\\Image', 'imageWithoutTitle'); $imageFirst = $image->Pad(200, 200, 'CCCCCC'); $imageFilename = $imageFirst->getURL(); // Encoding of the arguments is duplicated from cacheFilename $neededPart = 'Pad' . Convert::base64url_encode(array(200, 200, 'CCCCCC')); $this->assertContains($neededPart, $imageFilename, 'Filename for cached image is correctly generated'); }
/** * Tests {@link Convert::base64url_encode()} and {@link Convert::base64url_decode()} */ public function testBase64url() { $data = 'Wëīrð characters ☺ such as ¤Ø¶÷╬'; // This requires this test file to have UTF-8 character encoding $this->assertEquals($data, Convert::base64url_decode(Convert::base64url_encode($data))); $data = 654.423; $this->assertEquals($data, Convert::base64url_decode(Convert::base64url_encode($data))); $data = true; $this->assertEquals($data, Convert::base64url_decode(Convert::base64url_encode($data))); $data = array('simple', 'array', '¤Ø¶÷╬'); $this->assertEquals($data, Convert::base64url_decode(Convert::base64url_encode($data))); $data = array('a' => 'associative', 4 => 'array', '☺' => '¤Ø¶÷╬'); $this->assertEquals($data, Convert::base64url_decode(Convert::base64url_encode($data))); }