File: complex_regular_subexpression.scala

package info (click to toggle)
cloc 2.06-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,064 kB
  • sloc: perl: 30,146; cpp: 1,219; python: 623; ansic: 334; asm: 267; makefile: 244; sh: 186; sql: 144; java: 136; ruby: 111; cs: 104; pascal: 52; lisp: 50; haskell: 35; f90: 35; cobol: 35; objc: 25; php: 22; javascript: 15; fortran: 9; ml: 8; xml: 7; tcl: 2
file content (41 lines) | stat: -rw-r--r-- 1,411 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
portion of finagle-base-http/src/test/scala/com/twitter/finagle/http/codec/HttpDtabTest.scala
from finagle-finagle-17.11.0.tar.gz used to trigger 
Complex regular subexpression recursion limit (32766) exceeded

package com.twitter.finagle.http.codec

import com.google.common.io.BaseEncoding
import com.twitter.finagle.http.{Message, Method, Request, Version}
import com.twitter.finagle.{Dentry, Dtab, Failure, NameTree}
import java.nio.charset.Charset
import org.scalatest.FunSuite
import org.scalatest.junit.AssertionsForJUnit

class HttpDtabTest extends FunSuite with AssertionsForJUnit {
  val okDests = Vector("/$/inet/10.0.0.1/9000", "/foo/bar", "/")
  val okPrefixes = Vector("/foo", "/", "/foo/*/bar")
  val okDentries = for {
    prefix <- okPrefixes
    dest <- okDests
  } yield Dentry(Dentry.Prefix.read(prefix), NameTree.read(dest))

  val Utf8 = Charset.forName("UTF-8")
  val Base64 = BaseEncoding.base64()
  private def b64Encode(v: String): String =
    Base64.encode(v.getBytes(Utf8))

  val okDtabs =
    Dtab.empty +: (okDentries.permutations map (ds => Dtab(ds))).toIndexedSeq

  def newMsg(): Message = Request(Version.Http11, Method.Get, "/")

//  test("write(dtab, msg); read(msg) == dtab") {
//    for (dtab <- okDtabs) {
//      val m = newMsg()
//      HttpDtab.write(dtab, m)
//      val dtab1 = HttpDtab.read(m).get()
//      assert(Equiv[Dtab].equiv(dtab, dtab1))
//    }
//  }

}