예제 #1
0
 def test_preallocate(self):
     from __pypy__.builders import StringBuilder
     b = StringBuilder(10)
     b.append("abc")
     b.append("123")
     s = b.build()
     assert s == "abc123"
예제 #2
0
 def test_preallocate(self):
     from __pypy__.builders import StringBuilder
     b = StringBuilder(10)
     b.append("abc")
     b.append("123")
     s = b.build()
     assert s == "abc123"
예제 #3
0
파일: moecache.py 프로젝트: racker/moecache
    class OStringStream(object):
        def __init__(self):
            self.__b = StringBuilder()

        def write(self, s):
            self.__b.append(s)

        def getvalue(self):
            return self.__b.build()
예제 #4
0
 def test_simple(self):
     from __pypy__.builders import StringBuilder
     b = StringBuilder()
     b.append("abc")
     b.append("123")
     b.append("1")
     s = b.build()
     assert s == "abc1231"
     raises(ValueError, b.build)
     raises(ValueError, b.append, "123")
예제 #5
0
 class StringIO(object):
     def __init__(self, s=b''):
         if s:
             self.builder = StringBuilder(len(s))
             self.builder.append(s)
         else:
             self.builder = StringBuilder()
     def write(self, s):
         self.builder.append(s)
     def getvalue(self):
         return self.builder.build()
예제 #6
0
 def test_stringbuilder(self):
     from __pypy__.builders import StringBuilder
     b = StringBuilder()
     b.append("abc")
     b.append("123")
     assert len(b) == 6
     b.append("you and me")
     s = b.build()
     raises(ValueError, len, b)
     assert s == "abc123you and me"
     raises(ValueError, b.build)
예제 #7
0
 def test_stringbuilder(self):
     from __pypy__.builders import StringBuilder
     b = StringBuilder()
     b.append("abc")
     b.append("123")
     assert len(b) == 6
     b.append("you and me")
     s = b.build()
     assert len(b) == 16
     assert s == "abc123you and me"
     assert b.build() == s
예제 #8
0
    class StringIO(object):
        def __init__(self, s=b''):
            if s:
                self.builder = StringBuilder(len(s))
                self.builder.append(s)
            else:
                self.builder = StringBuilder()

        def write(self, s):
            self.builder.append(s)

        def getvalue(self):
            return self.builder.build()
예제 #9
0
파일: encoder.py 프로젝트: sota/pypy-old
class StringOrUnicodeBuilder(object):
    def __init__(self):
        self._builder = StringBuilder()
    def append(self, string):
        if (isinstance(string, unicode) and
                type(self._builder) is StringBuilder):
            ub = UnicodeBuilder()
            ub.append(self._builder.build())
            self._builder = ub
            self.append = ub.append   # shortcut only
        self._builder.append(string)
    def build(self):
        return self._builder.build()
예제 #10
0
def test(chopcount, chopsize):
   chop = '*' * chopsize

   n = chopcount * chopsize
   sb = StringBuilder(n)

   i = 0
   while i < chopcount:
      sb.append(chop)
      i += 1

   s = sb.build()
   assert(len(s) == n)
예제 #11
0
파일: encoder.py 프로젝트: Alkalit/pypyjs
class StringOrUnicodeBuilder(object):
    def __init__(self):
        self._builder = StringBuilder()
    def append(self, string):
        try:
            self._builder.append(string)
        except UnicodeEncodeError:
            ub = UnicodeBuilder()
            ub.append(self._builder.build())
            self._builder = ub
            ub.append(string)
    def build(self):
        return self._builder.build()
예제 #12
0
def test(chopcount, chopsize):
    chop = '*' * chopsize

    n = chopcount * chopsize
    sb = StringBuilder(n)

    i = 0
    while i < chopcount:
        sb.append(chop)
        i += 1

    s = sb.build()
    assert (len(s) == n)
예제 #13
0
파일: writer.py 프로젝트: alex/json_writer
class PyPyStringBuilderWriter(BaseJSONWriter):
    def __init__(self):
        super(PyPyStringBuilderWriter, self).__init__()
        self._data = StringBuilder()

    @classmethod
    def is_available(cls):
        return StringBuilder is not None

    def _write(self, s):
        self._data.append(s)

    def build(self):
        return self._data.build()
예제 #14
0
   def process(self, data):
      dlen = len(data)
      r = StringBuilder(dlen)

      i = 0
      k = self.ptr
      m = self.msk
      while i < dlen:
#         r.append(chr(ord(data[i]) ^ self.msk[k & 3]))
         r.append(chr(ord(data[i]) ^ ord(m[k & 3])))
         k += 1
         i += 1

      self.ptr += dlen
      return r.build()
예제 #15
0
class StringOrUnicodeBuilder(object):
    def __init__(self):
        self._builder = StringBuilder()

    def append(self, string):
        try:
            self._builder.append(string)
        except UnicodeEncodeError:
            ub = UnicodeBuilder()
            ub.append(self._builder.build())
            self._builder = ub
            ub.append(string)

    def build(self):
        return self._builder.build()
예제 #16
0
 def test_simple(self):
     from __pypy__.builders import StringBuilder
     b = StringBuilder()
     b.append("abc")
     b.append("123")
     b.append("1")
     s = b.build()
     assert s == "abc1231"
     assert b.build() == s
     b.append("123")
     assert b.build() == s + "123"
예제 #17
0
   def process(self, data):
      dlen = len(data)
      r = StringBuilder(dlen)

      i = 0
      k = self.ptr
      m = self.msk
      while i < dlen:
         r.append(chr(ord(data[i + 0])))
         r.append(chr(ord(data[i + 1])))
         r.append(chr(ord(data[i + 2])))
         r.append(chr(ord(data[i + 3])))
         r.append(chr(ord(data[i + 4])))
         r.append(chr(ord(data[i + 5])))
         r.append(chr(ord(data[i + 6])))
         r.append(chr(ord(data[i + 7])))
         i += 8

      self.ptr += dlen
      return r.build()
예제 #18
0
 def process(self, data):
    dlen = len(data)
    r = StringBuilder(dlen)
    r.append(data)
    self.ptr += dlen
    return r.build()