σ
mάJ]c           @` sύ   d  d l  m Z m Z m Z m Z d  d l Z e d  d l Z d  d l Z d  d l Z d  d l	 m
 Z
 d  d l j j Z d   Z d   Z d   Z d   Z d   Z d	   Z d
   Z d   Z d   Z e
 d  d    Z d   Z d   Z d   Z d S(   i    (   t   absolute_importt   divisiont   print_functiont   unicode_literalsN(   t   patchc           C` s{  t  j d d d  t d d d g   k s0 t  t  j d d d  t d d d d	 g  k sc t  t  j d
 d d  t d t d d d d   k s t  t  j d d d  t d t d d d d d d d d d d d d   k sν t  t  j d
 d d  t d t d d d d   k s&t  t  j d d d  t d t d d d d d d d d d d d d   k swt  d  S(   Nu   (a, b) -> a + bu   coffeescriptu   some.coffeet   codeu)   (function (a, b) {
    return a + b;
});
t   depsu   some = require 'some/module'u)   var some;
some = require('some/module');
u   some/moduleu   (a, b) -> a + b +t   errort   messageu   unexpected end of inputt   textu#   some.coffee:unexpected end of inputu   some = require some/module't   linei   t   columni   u	   missing 'u   some.coffee:1:27:missing 't   extractt	   annotateduV   some.coffee:1:27:missing '
  some = require some/module'
                            ^(   t   buct   nodejs_compilet   dictt   AssertionError(    (    (    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyt    test_nodejs_compile_coffeescript(   s<    c           C` s   t  j d d d  t d d d g   k s0 t  t  j d d d  t d d d d	 g  k sc t  t  j d
 d d  t d d  k s t  d  S(   Nu#   function f(a, b) { return a + b; };u
   javascriptu   some.jsR   u%   function f(a, b) { return a + b; }
;
R   u"   var some = require('some/module');u#   var some = require('some/module');
u   some/moduleu"   function f(a, b) { eturn a + b; };R   u΄   [96msome.js[0m:[93m1[0m:[93m26[0m - [91merror[0m[90m TS1005: [0m';' expected.

[7m1[0m function f(a, b) { eturn a + b; };
[7m [0m [91m                         ~[0m
(   R   R   R   R   (    (    (    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyt   test_nodejs_compile_javascriptR   s    c           C` s   t  j d d d  t d d  k s* t  t  j d d d  t d t d d	 d
 d d d d d d d d d   k s{ t  d  S(   Nu5   .bk-some-style { color: mix(#ff0000, #0000ff, 50%); }u   lessu	   some.lessR   u   .bk-some-style{color:#800080}u   .bk-some-style color: green; }R   R
   i   R   i   R   u   Unrecognised inputR	   u!   some.less:1:21:Unrecognised inputR   R   uB   some.less:1:21:Unrecognised input
  .bk-some-style color: green; }(   R   R   R   R   (    (    (    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyt   test_nodejs_compile_lessf   s    c          C` s%   t  j   }  |  j d  k s! t  d  S(   N(   R   t   Implementationt   filet   NoneR   (   t   obj(    (    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyt   test_Implementations   s    c          C` sy   t  j d  }  |  j d k s$ t  |  j d  k s9 t  t  j d d  }  |  j d k s` t  |  j d k su t  d  S(   Nu   codeu   file(   R   t   InlineR   R   R   R   (   R   (    (    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyt   test_Inlinew   s    c          C` sj   t  j d  }  t |  t  j  s' t  |  j d k s< t  |  j d  k sQ t  |  j d k sf t  d  S(   Nu   codeu   coffeescript(	   R   t   CoffeeScriptt
   isinstanceR   R   R   R   R   t   lang(   R   (    (    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyt   test_CoffeeScript   s
    c          C` sj   t  j d  }  t |  t  j  s' t  |  j d k s< t  |  j d  k sQ t  |  j d k sf t  d  S(   Nu   codeu
   typescript(	   R   t
   TypeScriptR   R   R   R   R   R   R   (   R   (    (    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyt   test_TypeScript   s
    c          C` sj   t  j d  }  t |  t  j  s' t  |  j d k s< t  |  j d  k sQ t  |  j d k sf t  d  S(   Nu   codeu
   javascript(	   R   t
   JavaScriptR   R   R   R   R   R   R   (   R   (    (    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyt   test_JavaScript   s
    c          C` sj   t  j d  }  t |  t  j  s' t  |  j d k s< t  |  j d  k sQ t  |  j d k sf t  d  S(   Nu   codeu   less(	   R   t   LessR   R   R   R   R   R   R   (   R   (    (    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyt	   test_Less   s
    u   io.openc         C` sΈ   t  j d  } | j d k s$ t  t  j d  } | j d k sH t  t  j d  } | j d k sl t  t  j d  } | j d k s t  t  j d	  } | j d k s΄ t  d  S(
   Nu   path.coffeeu   coffeescriptu   path.tsu
   typescriptu   path.jsu
   javascriptu   path.cssu   lessu	   path.less(   R   t   FromFileR   R   (   t	   mock_openR   (    (    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyt   test_FromFile   s    c           C` s   t  j d k s t  d  S(   Nu   .coffeeu   .tsu   .jsu   .cssu   .less(   u   .coffeeu   .tsu   .jsu   .cssu   .less(   R   t   extsR   (    (    (    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyt	   test_exts­   s    c       
   C` s―   x¨ t  j t  j j t j d   D] }  |  j d  r" t j t  j j t j d |   d d A } t	 g  t
 j | j    D] } d | k ^ q}  s t  Wd  QXq" q" Wd  S(   Nu   jsu   .jsont   encodingu   utf-8u   \(   t   ost   listdirt   patht   joinR   t   bokehjs_dirt   endswitht   iot   opent   allt   jsont   loadst   readR   (   R   t   ft   mod(    (    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyt
   test_jsons°   s    (-c          ` sΥ   d d l  m }  d d l m } d d l m } d d l m  d   d | f    f d     Y} d	 | f  f d
     Y} |   } | j d d d d d g d d d d d g  |   | j	 _
 |  |  d  S(   Ni    (   t   save(   t   TickFormatter(   t   figure(   R    uώ  
    import {TickFormatter} from "models/formatters/tick_formatter"

    export class TestFormatter extends TickFormatter {

      doFormat(ticks: number[]): string[] {
        if (ticks.length == 0)
          return[]
        else {
          const formatted = [`${ticks[0]}`]
          for (let i = 1; i < ticks.length; i++) {
            const difference = (ticks[i] - ticks[0]).toPrecision(2)
            formatted.push(`+${difference}}`)
          }
          return formatted
        }
      }
    }
    t   TestFormatterc           ` s   e  Z     Z RS(    (   t   __name__t
   __module__t   __implementation__(    (   t   TS_CODER    (    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyR>   Π   s   t   TestFormatter2c           ` s   e  Z   d   Z RS(   u   ^(   R?   R@   RA   (    (   R    (    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyRC   Τ   s   i   i   i   i   i   i   i   (   t   bokeh.ioR;   t   bokeh.modelsR<   t   bokeh.plottingR=   t   bokeh.util.compilerR    t   circlet   xaxist	   formatter(   R;   R<   R=   R>   RC   t   p(    (   RB   R    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyt   test_inline_extensionΆ   s    	.(   t
   __future__R    R   R   R   t   pytestR,   R2   R5   t   mockR   RG   t   utilt   compilerR   R   R   R   R   R   R   R!   R#   R%   R(   R*   R:   RL   (    (    (    s=   lib/python2.7/site-packages/bokeh/util/tests/test_compiler.pyt   <module>   s(   " 
	*											